mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Set new default design if current default is deleted
This commit is contained in:
parent
c9ad9c24db
commit
939dd44be5
@ -521,8 +521,11 @@ class DesignController extends BaseController
|
||||
|
||||
$designs = Design::withTrashed()->company()->whereIn('id', $this->transformKeys($ids));
|
||||
|
||||
$designs->each(function ($design, $key) use ($action) {
|
||||
if (auth()->user()->can('edit', $design)) {
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
$designs->each(function ($design, $key) use ($action, $user) {
|
||||
if ($user->can('edit', $design)) {
|
||||
$this->design_repo->{$action}($design);
|
||||
}
|
||||
});
|
||||
@ -534,7 +537,11 @@ class DesignController extends BaseController
|
||||
{
|
||||
$design_id = $request->input('design_id');
|
||||
$entity = $request->input('entity');
|
||||
$company = auth()->user()->getCompany();
|
||||
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
$company = $user->getCompany();
|
||||
|
||||
$design = Design::where('company_id', $company->id)
|
||||
->orWhereNull('company_id')
|
||||
|
@ -237,7 +237,7 @@ class PreviewController extends BaseController
|
||||
|
||||
$html = new HtmlEngine($entity_obj->invitations()->first());
|
||||
|
||||
$design = \App\Models\Design::find($entity_obj->design_id);
|
||||
$design = \App\Models\Design::withTrashed()->find($entity_obj->design_id);
|
||||
|
||||
/* Catch all in case migration doesn't pass back a valid design */
|
||||
if (! $design) {
|
||||
|
@ -196,7 +196,7 @@ class PreviewPurchaseOrderController extends BaseController
|
||||
|
||||
$html = new VendorHtmlEngine($entity_obj->invitations()->first());
|
||||
|
||||
$design = \App\Models\Design::find($entity_obj->design_id);
|
||||
$design = \App\Models\Design::withTrashed()->find($entity_obj->design_id);
|
||||
|
||||
/* Catch all in case migration doesn't pass back a valid design */
|
||||
if (!$design) {
|
||||
|
@ -135,7 +135,7 @@ class CreateEntityPdf implements ShouldQueue
|
||||
|
||||
$entity_design_id = $this->entity->design_id ? $this->entity->design_id : $this->decodePrimaryKey($this->client->getSetting($entity_design_id));
|
||||
|
||||
$design = Design::find($entity_design_id);
|
||||
$design = Design::withTrashed()->find($entity_design_id);
|
||||
|
||||
/* Catch all in case migration doesn't pass back a valid design */
|
||||
if (! $design) {
|
||||
|
@ -122,7 +122,7 @@ class CreateRawPdf implements ShouldQueue
|
||||
|
||||
$entity_design_id = $this->entity->design_id ? $this->entity->design_id : $this->decodePrimaryKey($this->entity->client->getSetting($entity_design_id));
|
||||
|
||||
$design = Design::find($entity_design_id);
|
||||
$design = Design::withTrashed()->find($entity_design_id);
|
||||
|
||||
/* Catch all in case migration doesn't pass back a valid design */
|
||||
if (! $design) {
|
||||
|
2
app/Jobs/Vendor/CreatePurchaseOrderPdf.php
vendored
2
app/Jobs/Vendor/CreatePurchaseOrderPdf.php
vendored
@ -120,7 +120,7 @@ class CreatePurchaseOrderPdf implements ShouldQueue
|
||||
|
||||
$entity_design_id = $this->entity->design_id ? $this->entity->design_id : $this->decodePrimaryKey('Wpmbk5ezJn');
|
||||
|
||||
$design = Design::find($entity_design_id);
|
||||
$design = Design::withTrashed()->find($entity_design_id);
|
||||
|
||||
/* Catch all in case migration doesn't pass back a valid design */
|
||||
if (!$design) {
|
||||
|
@ -128,7 +128,7 @@ class ActivityRepository extends BaseRepository
|
||||
|
||||
$entity_design_id = $entity->design_id ? $entity->design_id : $this->decodePrimaryKey($entity->client->getSetting($entity_design_id));
|
||||
|
||||
$design = Design::find($entity_design_id);
|
||||
$design = Design::withTrashed()->find($entity_design_id);
|
||||
|
||||
if (! $entity->invitations()->exists() || ! $design) {
|
||||
nlog("No invitations for entity {$entity->id} - {$entity->number}");
|
||||
|
@ -23,6 +23,40 @@ class DesignRepository extends BaseRepository
|
||||
{
|
||||
$design->name = $design->name.'_deleted_'.Str::random(5);
|
||||
|
||||
/** Make sure this design was not a default design - if it is, set the Clean template as the default */
|
||||
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
$company = $user->company();
|
||||
$settings = $company->settings;
|
||||
|
||||
if ($settings->invoice_design_id == $design->hashed_id) {
|
||||
$settings->invoice_design_id = 'Wpmbk5ezJn';
|
||||
}
|
||||
|
||||
if ($settings->quote_design_id == $design->hashed_id) {
|
||||
$settings->quote_design_id = 'Wpmbk5ezJn';
|
||||
}
|
||||
|
||||
if ($settings->credit_design_id == $design->hashed_id) {
|
||||
$settings->credit_design_id = 'Wpmbk5ezJn';
|
||||
}
|
||||
|
||||
if ($settings->purchase_order_design_id == $design->hashed_id) {
|
||||
$settings->purchase_order_design_id = 'Wpmbk5ezJn';
|
||||
}
|
||||
|
||||
$company->settings = $settings;
|
||||
$company->save();
|
||||
|
||||
$company->invoices()->update(['design_id' => $design_id]);
|
||||
$company->quotes()->update(['design_id' => $design_id]);
|
||||
$company->credits()->update(['design_id' => $design_id]);
|
||||
$company->purchase_orders()->update(['design_id' => $design_id]);
|
||||
$company->recurring_invoices()->update(['design_id' => $design_id]);
|
||||
|
||||
|
||||
parent::delete($design);
|
||||
|
||||
return $design;
|
||||
|
@ -411,6 +411,6 @@ class Statement
|
||||
$id = (int) $this->client->getSetting('entity_design_id');
|
||||
}
|
||||
|
||||
return Design::find($id);
|
||||
return Design::withTrashed()->find($id);
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ class GenerateDeliveryNote
|
||||
return (new Phantom)->generate($this->invoice->invitations->first());
|
||||
}
|
||||
|
||||
$design = Design::find($design_id);
|
||||
$design = Design::withTrashed()->find($design_id);
|
||||
$html = new HtmlEngine($invitation);
|
||||
|
||||
if ($design->is_custom) {
|
||||
|
@ -272,7 +272,7 @@ class PdfConfiguration
|
||||
{
|
||||
$design_id = $this->entity->design_id ? : $this->decodePrimaryKey($this->settings_object->getSetting($this->entity_design_id));
|
||||
|
||||
$this->design = Design::find($design_id ?: 2);
|
||||
$this->design = Design::withTrashed()->find($design_id ?: 2);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ class PdfMock
|
||||
$pdf_config->setPdfVariables();
|
||||
$pdf_config->setCurrency(Currency::find($this->settings->currency_id));
|
||||
$pdf_config->setCountry(Country::find($this->settings->country_id ?: 840));
|
||||
$pdf_config->design = Design::find($this->decodePrimaryKey($pdf_config->entity_design_id));
|
||||
$pdf_config->design = Design::withTrashed()->find($this->decodePrimaryKey($pdf_config->entity_design_id));
|
||||
$pdf_config->currency_entity = $this->mock->client;
|
||||
|
||||
$pdf_service->config = $pdf_config;
|
||||
|
@ -190,7 +190,7 @@ class Phantom
|
||||
|
||||
$design_id = $entity_obj->design_id ? $entity_obj->design_id : $this->decodePrimaryKey($entity_obj->client->getSetting($entity_design_id));
|
||||
|
||||
$design = Design::find($design_id);
|
||||
$design = Design::withTrashed()->find($design_id);
|
||||
$html = new HtmlEngine($invitation);
|
||||
|
||||
if ($design->is_custom) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user