prevent accidental invoice template updates (#3493)
This commit is contained in:
@@ -465,6 +465,9 @@ final class ServiceInvoice
|
|||||||
throw new \Exception('Cannot create invoice model without template');
|
throw new \Exception('Cannot create invoice model without template');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// prevent that changes on the template will be persisted
|
||||||
|
$this->invoiceRepository->preventTemplateUpdate($template);
|
||||||
|
|
||||||
if (null === $template->getLanguage()) {
|
if (null === $template->getLanguage()) {
|
||||||
$template->setLanguage(Constants::DEFAULT_LOCALE);
|
$template->setLanguage(Constants::DEFAULT_LOCALE);
|
||||||
@trigger_error('Using invoice templates without a language is is deprecated and trigger and will throw an exception with 2.0', E_USER_DEPRECATED);
|
@trigger_error('Using invoice templates without a language is is deprecated and trigger and will throw an exception with 2.0', E_USER_DEPRECATED);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ namespace App\Repository;
|
|||||||
use App\Entity\Customer;
|
use App\Entity\Customer;
|
||||||
use App\Entity\Invoice;
|
use App\Entity\Invoice;
|
||||||
use App\Entity\InvoiceMeta;
|
use App\Entity\InvoiceMeta;
|
||||||
|
use App\Entity\InvoiceTemplate;
|
||||||
use App\Entity\Team;
|
use App\Entity\Team;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Repository\Loader\InvoiceLoader;
|
use App\Repository\Loader\InvoiceLoader;
|
||||||
@@ -29,6 +30,17 @@ class InvoiceRepository extends EntityRepository
|
|||||||
{
|
{
|
||||||
use RepositorySearchTrait;
|
use RepositorySearchTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param InvoiceTemplate $invoiceTemplate
|
||||||
|
* @return void
|
||||||
|
* @deprecated replace me in 2.0
|
||||||
|
*/
|
||||||
|
public function preventTemplateUpdate(InvoiceTemplate $invoiceTemplate): void
|
||||||
|
{
|
||||||
|
$em = $this->getEntityManager();
|
||||||
|
$em->detach($invoiceTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
public function saveInvoice(Invoice $invoice)
|
public function saveInvoice(Invoice $invoice)
|
||||||
{
|
{
|
||||||
$entityManager = $this->getEntityManager();
|
$entityManager = $this->getEntityManager();
|
||||||
|
|||||||
Reference in New Issue
Block a user