diff --git a/app/Factory/RecurringInvoiceToInvoiceFactory.php b/app/Factory/RecurringInvoiceToInvoiceFactory.php index 5c12fa7bab38..f96c7514fd83 100644 --- a/app/Factory/RecurringInvoiceToInvoiceFactory.php +++ b/app/Factory/RecurringInvoiceToInvoiceFactory.php @@ -14,6 +14,7 @@ namespace App\Factory; use App\Models\Client; use App\Models\Invoice; use App\Models\RecurringInvoice; +use App\Utils\Helpers; class RecurringInvoiceToInvoiceFactory { @@ -31,7 +32,8 @@ class RecurringInvoiceToInvoiceFactory //$invoice->date = now()->format($client->date_format()); //$invoice->due_date = $recurring_invoice->calculateDueDate(now()); $invoice->is_deleted = $recurring_invoice->is_deleted; - $invoice->line_items = $recurring_invoice->line_items; +// $invoice->line_items = $recurring_invoice->line_items; + $invoice->line_items = self::transformItems($recurring_invoice, $client); $invoice->tax_name1 = $recurring_invoice->tax_name1; $invoice->tax_rate1 = $recurring_invoice->tax_rate1; $invoice->tax_name2 = $recurring_invoice->tax_name2; @@ -45,6 +47,7 @@ class RecurringInvoiceToInvoiceFactory $invoice->custom_value3 = $recurring_invoice->custom_value3; $invoice->custom_value4 = $recurring_invoice->custom_value4; $invoice->amount = $recurring_invoice->amount; + $invoice->uses_inclusive_taxes = $recurring_invoice->uses_inclusive_taxes; // $invoice->balance = $recurring_invoice->balance; $invoice->user_id = $recurring_invoice->user_id; $invoice->assigned_user_id = $recurring_invoice->assigned_user_id; @@ -57,4 +60,20 @@ class RecurringInvoiceToInvoiceFactory return $invoice; } + + private static function transformItems($recurring_invoice, $client) + { + + $line_items = $recurring_invoice->line_items; + + foreach($line_items as $key => $item){ + + if(property_exists($line_items[$key], 'notes')) + $line_items[$key]->notes = Helpers::processReservedKeywords($item->notes, $client); + + } + + return $line_items; + + } } diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index 3e2806c7dd27..89c10a8dff6c 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -115,8 +115,8 @@ class EmailController extends BaseController { $entity = $request->input('entity'); $entity_obj = $entity::find($request->input('entity_id')); - $subject = $request->input('subject'); - $body = $request->input('body'); + $subject = $request->has('subject') ? $request->input('subject') : ''; + $body = $request->has('body') ? $request->input('body') : ''; $entity_string = strtolower(class_basename($entity_obj)); $template = str_replace("email_template_", "", $request->input('template')); diff --git a/app/Http/Requests/Email/SendEmailRequest.php b/app/Http/Requests/Email/SendEmailRequest.php index 4b9336560b88..c37fdbfe2138 100644 --- a/app/Http/Requests/Email/SendEmailRequest.php +++ b/app/Http/Requests/Email/SendEmailRequest.php @@ -39,8 +39,8 @@ class SendEmailRequest extends Request 'template' => 'required', 'entity' => 'required', 'entity_id' => 'required', - 'subject' => 'required', - 'body' => 'required', + // 'subject' => 'required', + // 'body' => 'required', ]; } diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index de7ab9bfc359..7945c4217185 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -19,19 +19,20 @@ use App\Models\Invoice; use App\Models\RecurringInvoice; use App\Utils\Ninja; use App\Utils\Traits\GeneratesCounter; +use App\Utils\Traits\MakesInvoiceValues; +use Carbon\Carbon; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Turbo124\Beacon\Facades\LightLogs; -use Carbon\Carbon; class SendRecurring implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use GeneratesCounter; - + public $recurring_invoice; protected $db; diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 5860984be543..808c7b5a3e9e 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -18,7 +18,9 @@ use App\Models\InvoiceInvitation; use App\Models\QuoteInvitation; use App\Models\RecurringInvoiceInvitation; use App\Services\PdfMaker\Designs\Utilities\DesignHelpers; +use App\Utils\Ninja; use App\Utils\Traits\MakesDates; +use App\Utils\transformTranslations; use Exception; use Illuminate\Support\Facades\App; @@ -96,6 +98,11 @@ class HtmlEngine exit; } + App::forgetInstance('translator'); + $t = app('translator'); + App::setLocale($this->contact->preferredLocale()); + $t->replace(Ninja::transformTranslations($this->settings)); + $data = []; $data['$global_margin'] = ['value' => '6.35mm', 'label' => '']; $data['$tax'] = ['value' => '', 'label' => ctrans('texts.tax')];