From cf8a555e4be493839d165d4a44080e71b93a7412 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 26 Sep 2021 12:13:03 +1000 Subject: [PATCH 1/3] Minor fixes --- .../RecurringInvoiceToInvoiceFactory.php | 21 ++++++++++++++++++- app/Http/Controllers/EmailController.php | 4 ++-- app/Http/Requests/Email/SendEmailRequest.php | 4 ++-- app/Jobs/RecurringInvoice/SendRecurring.php | 5 +++-- app/Utils/HtmlEngine.php | 7 +++++++ 5 files changed, 34 insertions(+), 7 deletions(-) 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')]; From f543ff4a939ab5635b068f707a126e0808f30f5e Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 26 Sep 2021 13:25:45 +1000 Subject: [PATCH 2/3] Convert reserved keyworks --- app/Factory/RecurringInvoiceToInvoiceFactory.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Factory/RecurringInvoiceToInvoiceFactory.php b/app/Factory/RecurringInvoiceToInvoiceFactory.php index f96c7514fd83..3b9879cecfb9 100644 --- a/app/Factory/RecurringInvoiceToInvoiceFactory.php +++ b/app/Factory/RecurringInvoiceToInvoiceFactory.php @@ -25,9 +25,9 @@ class RecurringInvoiceToInvoiceFactory $invoice->discount = $recurring_invoice->discount; $invoice->is_amount_discount = $recurring_invoice->is_amount_discount; $invoice->po_number = $recurring_invoice->po_number; - $invoice->footer = $recurring_invoice->footer; - $invoice->terms = $recurring_invoice->terms; - $invoice->public_notes = $recurring_invoice->public_notes; + $invoice->footer = self::tranformObject($recurring_invoice->footer, $client); + $invoice->terms = self::tranformObject($recurring_invoice->terms, $client); + $invoice->public_notes = self::tranformObject($recurring_invoice->public_notes, $client); $invoice->private_notes = $recurring_invoice->private_notes; //$invoice->date = now()->format($client->date_format()); //$invoice->due_date = $recurring_invoice->calculateDueDate(now()); @@ -76,4 +76,9 @@ class RecurringInvoiceToInvoiceFactory return $line_items; } + + private static function tranformObject($object, $client) + { + return Helpers::processReservedKeywords($object, $client); + } } From 872ac577e368f7f35123c436c1c12e3501451ff7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 26 Sep 2021 13:29:43 +1000 Subject: [PATCH 3/3] version bump --- VERSION.txt | 2 +- config/ninja.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 7b5a3ce7bd50..229d10653e70 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.3.16 \ No newline at end of file +5.3.17 \ No newline at end of file diff --git a/config/ninja.php b/config/ninja.php index cb1c26444d66..82e23d9d78c0 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -14,8 +14,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => '5.3.16', - 'app_tag' => '5.3.16', + 'app_version' => '5.3.17', + 'app_tag' => '5.3.17', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', ''), @@ -37,7 +37,7 @@ return [ 'trusted_proxies' => env('TRUSTED_PROXIES', false), 'is_docker' => env('IS_DOCKER', false), 'local_download' => env('LOCAL_DOWNLOAD', false), - 'sentry_dsn' => env('SENTRY_LARAVEL_DSN', 'https://9b4e15e575214354a7d666489783904a@sentry.invoicing.co/6'), + 'sentry_dsn' => env('SENTRY_LARAVEL_DSN', 'https://32f01ea994744fa08a0f688769cef78a@sentry.invoicing.co/9'), 'environment' => env('NINJA_ENVIRONMENT', 'selfhost'), // 'hosted', 'development', 'selfhost', 'reseller' 'preconfigured_install' => env('PRECONFIGURED_INSTALL',false), 'update_secret' => env('UPDATE_SECRET', ''),