From dfb59a0d284bd051a2caba23cedfc5da01530350 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 21 Mar 2024 09:40:19 +1100 Subject: [PATCH] Improvements for paytrace required fields capture --- app/DataMapper/CompanySettings.php | 3 +++ app/Jobs/EDocument/CreateEDocument.php | 5 +++-- app/PaymentDrivers/PaytracePaymentDriver.php | 1 + app/Transformers/VendorTransformer.php | 1 + .../2024_03_19_346785_add_routing_id_to_vendor | 15 ++++++++++++--- lang/en/texts.php | 2 ++ 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 8ddd16ea362d..0cb14e9b96e0 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -479,6 +479,8 @@ class CompanySettings extends BaseSettings public $e_invoice_type = 'EN16931'; + public $e_quote_type = 'OrderX_Comfort'; + public $default_expense_payment_type_id = '0'; public $enable_e_invoice = false; @@ -502,6 +504,7 @@ class CompanySettings extends BaseSettings public $enable_rappen_rounding = false; public static $casts = [ + 'e_quote_type' => 'string', 'enable_rappen_rounding' => 'bool', 'use_unapplied_payment' => 'string', 'show_pdfhtml_on_mobile' => 'bool', diff --git a/app/Jobs/EDocument/CreateEDocument.php b/app/Jobs/EDocument/CreateEDocument.php index fafb89da2810..a2520b417a9e 100644 --- a/app/Jobs/EDocument/CreateEDocument.php +++ b/app/Jobs/EDocument/CreateEDocument.php @@ -59,8 +59,9 @@ class CreateEDocument implements ShouldQueue /* Set customized translations _NOW_ */ $t->replace(Ninja::transformTranslations($this->document->client->getMergedSettings())); - $e_document_type = $settings_entity->getSetting('e_invoice_type') ? $settings_entity->getSetting('e_invoice_type') : "XInvoice_3_0"; - $e_quote_type = $settings_entity->getSetting('e_quote_type') ? $settings_entity->getSetting('e_quote_type') : "OrderX_Extended"; + $e_document_type = strlen($settings_entity->getSetting('e_invoice_type')) > 2 ? $settings_entity->getSetting('e_invoice_type') : "XInvoice_3_0"; + $e_quote_type = strlen($settings_entity->getSetting('e_quote_type')) > 2 ? $settings_entity->getSetting('e_quote_type') : "OrderX_Extended"; + if ($this->document instanceof Invoice){ switch ($e_document_type) { case "EN16931": diff --git a/app/PaymentDrivers/PaytracePaymentDriver.php b/app/PaymentDrivers/PaytracePaymentDriver.php index 293df56abd47..4cdc8571a5ef 100644 --- a/app/PaymentDrivers/PaytracePaymentDriver.php +++ b/app/PaymentDrivers/PaytracePaymentDriver.php @@ -262,6 +262,7 @@ class PaytracePaymentDriver extends BaseDriver $fields[] = ['name' => 'client_address_line_1', 'label' => ctrans('texts.address1'), 'type' => 'text', 'validation' => 'required']; $fields[] = ['name' => 'client_city', 'label' => ctrans('texts.city'), 'type' => 'text', 'validation' => 'required']; + $fields[] = ['name' => 'client_postal_code', 'label' => ctrans('texts.postal_code'), 'type' => 'text', 'validation' => 'required']; $fields[] = ['name' => 'client_state', 'label' => ctrans('texts.state'), 'type' => 'text', 'validation' => 'required']; $fields[] = ['name' => 'client_country_id', 'label' => ctrans('texts.country'), 'type' => 'text', 'validation' => 'required']; diff --git a/app/Transformers/VendorTransformer.php b/app/Transformers/VendorTransformer.php index aa3a28669234..7bd715b13e80 100644 --- a/app/Transformers/VendorTransformer.php +++ b/app/Transformers/VendorTransformer.php @@ -105,6 +105,7 @@ class VendorTransformer extends EntityTransformer 'language_id' => (string) $vendor->language_id ?: '', 'classification' => (string) $vendor->classification ?: '', 'display_name' => (string) $vendor->present()->name(), + 'routing_id' => (string) $vendor->routing_id ?: '', ]; } } diff --git a/database/migrations/2024_03_19_346785_add_routing_id_to_vendor b/database/migrations/2024_03_19_346785_add_routing_id_to_vendor index 964571a3c5fb..bdf4223b8345 100644 --- a/database/migrations/2024_03_19_346785_add_routing_id_to_vendor +++ b/database/migrations/2024_03_19_346785_add_routing_id_to_vendor @@ -14,11 +14,20 @@ return new class extends Migration { { Schema::table('vendors', function (Blueprint $table) { - $table->string('routing_id')->default(null)->nullable(); + $table->string('routing_id')->nullable(); }); - Schema::table('companies', function (Blueprint $table) { - $table->string('e_quote_type')->default("OrderX_Comfort"); + + \App\Models\Company::query() + ->cursor() + ->each(function ($c){ + $settings = $c->settings; + $settings->e_quote_type = 'OrderX_Comfort'; + $settings->enable_rappen_rounding = false; + + $c->settings = $settings; + $c->save(); }); + } /** diff --git a/lang/en/texts.php b/lang/en/texts.php index 85ade44d151d..a4babce169b4 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5264,6 +5264,8 @@ $lang = array( 'accept_payments_online' => 'Accept Payments Online', 'all_payment_gateways' => 'View all payment gateways', 'product_cost' => 'Product cost', + 'enable_rappen_roudning' => 'Enable Rappen Rounding', + 'enable_rappen_rounding_help' => 'Rounds totals to nearest 5', ); return $lang;