From 050085577f7bea89c2ea21f2c57b249bcb98ed0a Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Thu, 15 Sep 2022 12:05:00 +0000 Subject: [PATCH] feat: refactor: quiqqer/erp#78 --- ajax/invoices/temporary/save.php | 19 ++++++++++++------- .../controls/panels/TemporaryInvoice.js | 3 +++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ajax/invoices/temporary/save.php b/ajax/invoices/temporary/save.php index 42a9114..7e25801 100644 --- a/ajax/invoices/temporary/save.php +++ b/ajax/invoices/temporary/save.php @@ -4,9 +4,6 @@ * This file contains package_quiqqer_invoice_ajax_invoices_temporary_save */ -use QUI\ERP\Shipping\Shipping; -use QUI\ERP\Accounting\Invoice\Handler as InvoiceHandler; - /** * Saves the temporary invoice * @@ -17,7 +14,7 @@ 'package_quiqqer_invoice_ajax_invoices_temporary_save', function ($invoiceId, $data) { $Invoice = QUI\ERP\Accounting\Invoice\Utils\Invoice::getTemporaryInvoiceByString($invoiceId); - $data = \json_decode($data, true); + $data = json_decode($data, true); if (empty($data['customer_id'])) { $data['invoice_address_id'] = ''; @@ -44,13 +41,21 @@ function ($invoiceId, $data) { unset($data['articles']); } + if (isset($data['priceFactors'])) { + try { + $List = new QUI\ERP\Accounting\PriceFactors\FactorList($data['priceFactors']); + $Invoice->getArticles()->importPriceFactors($List); + } catch (QUI\Exception $Exception) { + } + } + if (isset($data['currency'])) { $Invoice->setCurrency($data['currency']); } if (!empty($data['currencyRate'])) { $Currency = $Invoice->getCurrency(); - $Currency->setExchangeRate(\floatval($data['currencyRate'])); + $Currency->setExchangeRate(floatval($data['currencyRate'])); $Invoice->setCurrency($Currency); } @@ -61,8 +66,8 @@ function ($invoiceId, $data) { $Invoice->clearCustomerFiles(); if (!empty($data['attached_customer_files'])) { - if (\is_string($data['attached_customer_files'])) { - $customerFiles = \json_decode($data['attached_customer_files'], true); + if (is_string($data['attached_customer_files'])) { + $customerFiles = json_decode($data['attached_customer_files'], true); } else { $customerFiles = $data['attached_customer_files']; } diff --git a/bin/backend/controls/panels/TemporaryInvoice.js b/bin/backend/controls/panels/TemporaryInvoice.js index 25a9b3b..3a11ac8 100644 --- a/bin/backend/controls/panels/TemporaryInvoice.js +++ b/bin/backend/controls/panels/TemporaryInvoice.js @@ -172,6 +172,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice', [ }; self.setAttribute('articles', data.articles.articles); + self.setAttribute('priceFactors', data.articles.priceFactors); } if (data.invoice_address) { @@ -279,6 +280,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice', [ invoice_address_id : this.getAttribute('invoice_address_id'), project_name : this.getAttribute('project_name'), articles : this.getAttribute('articles'), + priceFactors : this.getAttribute('priceFactors'), date : this.getAttribute('date'), editor_id : this.getAttribute('editor_id'), ordered_by : this.getAttribute('ordered_by'), @@ -1233,6 +1235,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice', [ if (this.$ArticleList) { this.setAttribute('articles', this.$ArticleList.save()); + this.setAttribute('priceFactors', this.$ArticleList.getPriceFactors()); this.$serializedList = this.$ArticleList.serialize(); if (destroyList) { -- GitLab