From be651d0c96e6effdf276d7f2897501535a6c62e3 Mon Sep 17 00:00:00 2001
From: Henning Leutz <leutz@pcsg.de>
Date: Tue, 21 Apr 2020 15:26:14 +0200
Subject: [PATCH] fix: reset of address data at invoice temporary update

---
 ajax/invoices/temporary/save.php                   |  1 +
 .../controls/panels/TemporaryInvoice.UserData.html |  2 +-
 .../controls/panels/TemporaryInvoice.UserData.js   | 14 +++++++-------
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/ajax/invoices/temporary/save.php b/ajax/invoices/temporary/save.php
index 3718a04..578d753 100644
--- a/ajax/invoices/temporary/save.php
+++ b/ajax/invoices/temporary/save.php
@@ -46,6 +46,7 @@ function ($invoiceId, $data) {
             unset($data['articles']);
         }
 
+        $Invoice->setAttribute('invoice_address', false); // needed because of address reset
         $Invoice->setAttributes($data);
         $Invoice->save();
     },
diff --git a/bin/backend/controls/panels/TemporaryInvoice.UserData.html b/bin/backend/controls/panels/TemporaryInvoice.UserData.html
index 8da046b..1eba900 100644
--- a/bin/backend/controls/panels/TemporaryInvoice.UserData.html
+++ b/bin/backend/controls/panels/TemporaryInvoice.UserData.html
@@ -55,7 +55,7 @@
                 <span class="field-container-item" title="{{textStreet}}">
                     {{textStreet}}
                 </span>
-                <input type="text" class="field-container-field" name="street" disabled/>
+                <input type="text" class="field-container-field" name="street_no" disabled/>
             </label>
         </td>
     </tr>
diff --git a/bin/backend/controls/panels/TemporaryInvoice.UserData.js b/bin/backend/controls/panels/TemporaryInvoice.UserData.js
index 8b23238..13c3c30 100644
--- a/bin/backend/controls/panels/TemporaryInvoice.UserData.js
+++ b/bin/backend/controls/panels/TemporaryInvoice.UserData.js
@@ -40,10 +40,10 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
             userId   : false,
             addressId: false,
 
-            company: false,
-            street : false,
-            zip    : false,
-            city   : false
+            company  : false,
+            street_no: false,
+            zip      : false,
+            city     : false
         },
 
         initialize: function (options) {
@@ -100,7 +100,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
             this.$CustomerEdit.addEvent('click', this.editCustomer);
 
             this.$Company = this.$Elm.getElement('[name="company"]');
-            this.$Street  = this.$Elm.getElement('[name="street"]');
+            this.$Street  = this.$Elm.getElement('[name="street_no"]');
             this.$Zip     = this.$Elm.getElement('[name="zip"]');
             this.$City    = this.$Elm.getElement('[name="city"]');
 
@@ -285,10 +285,9 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
 
                 // set fields
                 self.setAttributes(address);
-
                 self.$AddressField.value = address.id;
-                self.setAttribute('addressId', address.id);
 
+                self.setAttribute('addressId', address.id);
                 self.refreshValues();
             });
         },
@@ -342,6 +341,7 @@ define('package/quiqqer/invoice/bin/backend/controls/panels/TemporaryInvoice.Use
                     self.refreshValues();
 
                     self.setAttribute('addressId', addressId);
+
                     self.$fireChange();
 
                     resolve(address);
-- 
GitLab