Merge branch 'master' of ssh://lx-office/~/lx-office-erp
[kivitendo-erp.git] / bin / mozilla / oe.pl
index 9de5cde..add4b46 100644 (file)
@@ -317,7 +317,7 @@ sub form_header {
   $TMPL_VAR{department_labels}     = sub { "$_[0]->{description}--$_[0]->{id}" };
 
   # vendor/customer
-  $TMPL_VAR{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
+  $TMPL_VAR{vc_keys} = sub { E($_[0]->{name}) . "--$_[0]->{id}" };
   $TMPL_VAR{vclimit} = $myconfig{vclimit};
   $TMPL_VAR{vc_select} = "customer_or_vendor_selection_window('$form->{vc}', '', @{[ $form->{vc} eq 'vendor' ? 1 : 0 ]}, 0)";
   push @custom_hiddens, "$form->{vc}_id";
@@ -527,9 +527,17 @@ sub update {
       } else {
 
         $sellprice             = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"});
-        $form->{"discount_$i"} = 0 if $form->{"not_discountable_$i"};
+        # hier werden parts (Artikeleigenschaften) aus item_list (retrieve_item aus IS.pm)
+        # (item wahrscheinlich synonym für parts) entsprechend in die form geschrieben ...
+
+        # Wäre dieses Mapping nicht besser in retrieve_items aufgehoben?
+        #(Eine Funktion bekommt Daten -> ARBEIT -> Rückgabe DATEN)
+        #  Das quot sieht doch auch nach Überarbeitung aus ... (hmm retrieve_items gibt es in IS und IR)
         map { $form->{item_list}[$i]{$_} =~ s/\"/"/g }    qw(partnumber description unit);
         map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } keys %{ $form->{item_list}[0] };
+
+        # ... deswegen muss die prüfung, ob es sich um einen nicht rabattierfähigen artikel handelt später erfolgen (Bug 1136)
+        $form->{"discount_$i"} = 0 if $form->{"not_discountable_$i"};
         $form->{payment_id} = $form->{"part_payment_id_$i"} if $form->{"part_payment_id_$i"} ne "";
 
         $form->{"marge_price_factor_$i"} = $form->{item_list}->[0]->{price_factor};
@@ -630,7 +638,7 @@ sub search {
   # constants and subs for template
   $form->{jsscript}        = 1;
   $form->{employee_labels} = sub { $_[0]->{"name"} || $_[0]->{"login"} };
-  $form->{vc_keys}         = sub { "$_[0]->{name}--$_[0]->{id}" };
+  $form->{vc_keys}         = sub { E($_[0]->{name}) . "--$_[0]->{id}" };
   $form->{salesman_labels} = $form->{employee_labels};
 
   $form->header();
@@ -1183,8 +1191,9 @@ sub invoice {
   check_oe_access();
   $auth->assert($form->{type} eq 'purchase_order' || $form->{type} eq 'request_quotation' ? 'vendor_invoice_edit' : 'invoice_edit');
 
-  $form->{old_employee_id} = $form->{employee_id};
   $form->{old_salesman_id} = $form->{salesman_id};
+  $form->get_employee();
+
 
   if ($form->{type} =~ /_order$/) {
 
@@ -1580,6 +1589,8 @@ sub purchase_order {
   $form->{vc}    = "vendor";
   $form->{type}  = "purchase_order";
 
+  $form->get_employee();
+
   &poso;
 
   $lxdebug->leave_sub();
@@ -1601,6 +1612,8 @@ sub sales_order {
   $form->{vc}     = "customer";
   $form->{type}   = "sales_order";
 
+  $form->get_employee();
+
   &poso;
 
   $lxdebug->leave_sub();
@@ -1669,6 +1682,8 @@ sub delivery_order {
     $form->{type}  = 'purchase_delivery_order';
   }
 
+  $form->get_employee();
+
   require "bin/mozilla/do.pl";
 
   $form->{script}               = 'do.pl';