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');
|
||||
}
|
||||
|
||||
// prevent that changes on the template will be persisted
|
||||
$this->invoiceRepository->preventTemplateUpdate($template);
|
||||
|
||||
if (null === $template->getLanguage()) {
|
||||
$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);
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace App\Repository;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\Invoice;
|
||||
use App\Entity\InvoiceMeta;
|
||||
use App\Entity\InvoiceTemplate;
|
||||
use App\Entity\Team;
|
||||
use App\Entity\User;
|
||||
use App\Repository\Loader\InvoiceLoader;
|
||||
@@ -29,6 +30,17 @@ class InvoiceRepository extends EntityRepository
|
||||
{
|
||||
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)
|
||||
{
|
||||
$entityManager = $this->getEntityManager();
|
||||
|
||||
Reference in New Issue
Block a user