]> wagnertech.de Git - mfinanz.git/commitdiff
Auftrags-Controller: Lieferadresse: Auswahlliste richtig zusammenbauen
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Thu, 3 Sep 2020 11:28:42 +0000 (13:28 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Thu, 3 Sep 2020 12:41:56 +0000 (14:41 +0200)
Das behebt einen Fehler, wenn der Kunde nur eine Lieferadresse hat und der
Auftrag geladen wird. Dann wurde keine Lieferadresse angeboten.

Ist nur eine Lieferadresse vorhanden, so wird diese nicht als (erstes)
Array-Element geliefert wird, sondern als Hash.
Anders, wenn mehrere Lieferadressen vorhanden sind - dann wird ein Array
geliefert.
Die import-Methode hätte also einmal als 'shiptos.import([shipto])' und
einmal als 'shiptos.import(shipto)' aufgerufen werden müssen.
Um das zu vermeiden, werden die Adressen jetzt in einer Schleife mit 'push'
hinzugefügt.

Der Fehler kam mit commit "Auftrags-Controller: individuelle Lieferadresse"
(199bd497fa158b819070767fa737b2e23d164b96) rein.

templates/webpages/order/tabs/basic_data.html

index c413fb92fb501e4d5b26e3f6d27342a6401cbeec..b7086a8ae0c90172070ec31c6790a69f40f7c16e 100644 (file)
             <td>
               <span id='shipto_selection' [%- IF !SELF.order.${SELF.cv}.shipto.size %]style='display:none'[%- END %]>
                 [% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ;
+                   FOREACH s = SELF.order.${SELF.cv}.shipto ;
+                     shiptos.push(s) ;
+                   END ;
                    L.select_tag('order.shipto_id',
-                                 shiptos.import(SELF.order.${SELF.cv}.shipto),
+                                 shiptos,
                                  default=SELF.order.shipto_id,
                                  title_key='displayable_id',
                                  value_key='shipto_id',