CustomerVendor-Picker: 'type' nicht als html-Attribut setzen
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Sat, 25 Aug 2018 14:12:58 +0000 (16:12 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Sat, 25 Aug 2018 14:39:55 +0000 (16:39 +0200)
Die Parameter des Picker-Aufrufs werden an das Input-Tag weitergeben und so
wurde das type-Attribut mit dem Typ (customer/vendor) des Pickers
überschrieben.

SL/Presenter/CustomerVendor.pm
js/kivi.CustomerVendor.js
templates/webpages/customer_vendor/test_page.html

index 4a563e4..ab95172 100644 (file)
@@ -62,6 +62,9 @@ sub customer_vendor_picker {
   my @classes = $params{class} ? ($params{class}) : ();
   push @classes, 'customer_vendor_autocomplete';
 
+  # do not use reserved html attribute 'type' for cv type
+  $params{cv_type} = delete $params{type};
+
   my $ret =
     input_tag($name, (ref $value && $value->can('id') ? $value->id : ''), class => "@classes", type => 'hidden', id => $id,
       'data-customer-vendor-picker-data' => JSON::to_json(\%params),
index 6ee499a..e9b22be 100644 (file)
@@ -271,7 +271,7 @@ namespace('kivi.CustomerVendor', function(ns) {
         'filter.all:substr:multi::ilike': term,
         'filter.obsolete': 0,
         current:  this.$real.val(),
-        type:     this.o.type,
+        type:     this.o.cv_type,
       };
     },
     set_item: function(item) {
index 94d29fb..198a64c 100644 (file)
@@ -25,7 +25,7 @@ fat vendor with change<br>
 <br><hr>
 this one will be a reinit_widget after 4s:<br>
 <span id='vendor3' class="customer_vendor_picker">
-<input id="vendor3_id" class="" type="hidden" name="vendor3_id" value="" data-customer-vendor-picker-data="{&quot;type&quot;:&quot;vendor&quot;}">
+<input id="vendor3_id" class="" type="hidden" name="vendor3_id" value="" data-customer-vendor-picker-data="{&quot;cv_type&quot;:&quot;vendor&quot;}">
 <input id="vendor3_id_name" type="text" name="" value="">
 </span>