Einkaufs-/Verkaufssuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
[kivitendo-erp.git] / SL / DO.pm
index a293239..b098f71 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -46,6 +46,7 @@ use SL::HTML::Restrict;
 use SL::RecordLinks;
 use SL::IC;
 use SL::TransNumber;
+use SL::Util qw(trim);
 
 use strict;
 
@@ -110,12 +111,12 @@ sub transactions {
 
   } elsif ($form->{$vc}) {
     push @where,  qq|ct.name ILIKE ?|;
-    push @values, '%' . $form->{$vc} . '%';
+    push @values, '%' . trim($form->{$vc}) . '%';
   }
 
   if ($form->{"cp_name"}) {
     push @where, "(cp.cp_name ILIKE ? OR cp.cp_givenname ILIKE ?)";
-    push @values, ('%' . $form->{"cp_name"} . '%')x2;
+    push @values, ('%' . trim($form->{"cp_name"}) . '%')x2;
   }
 
   foreach my $item (qw(employee_id salesman_id)) {
@@ -131,7 +132,7 @@ sub transactions {
   foreach my $item (qw(donumber ordnumber cusordnumber transaction_description)) {
     next unless ($form->{$item});
     push @where,  qq|dord.$item ILIKE ?|;
-    push @values, '%' . $form->{$item} . '%';
+    push @values, '%' . trim($form->{$item}) . '%';
   }
 
   if (($form->{open} || $form->{closed}) &&
@@ -146,7 +147,7 @@ sub transactions {
 
   if ($form->{serialnumber}) {
     push @where, 'dord.id IN (SELECT doi.delivery_order_id FROM delivery_order_items doi WHERE doi.serialnumber LIKE ?)';
-    push @values, '%' . $form->{serialnumber} . '%';
+    push @values, '%' . trim($form->{serialnumber}) . '%';
   }
 
   if($form->{transdatefrom}) {
@@ -390,9 +391,9 @@ SQL
         do_query($form, $dbh, $query, conv_i($sinfo->{"delivery_order_items_stock_id"}),
                   conv_i($form->{"delivery_order_items_id_$i"}), $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
                   conv_i($sinfo->{bin_id}));
-       $h_item_stock_id->finish();
-      # write back the id to the form (important if only transfer was clicked (id fk for invoice)
-      $form->{"stock_${in_out}_$i"} = YAML::Dump($stock_info);
+        $h_item_stock_id->finish();
+        # write back the id to the form (important if only transfer was clicked (id fk for invoice)
+        $form->{"stock_${in_out}_$i"} = YAML::Dump($stock_info);
       }
       @values = ($form->{"delivery_order_items_id_$i"}, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
                  conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}),
@@ -477,6 +478,8 @@ SQL
              conv_i($form->{id}));
   do_query($form, $dbh, $query, @values);
 
+  $form->new_lastmtime('delivery_orders');
+
   $form->{name} = $form->{ $form->{vc} };
   $form->{name} =~ s/--$form->{"$form->{vc}_id"}//;
 
@@ -605,6 +608,7 @@ sub close_orders {
   do_query($form, $dbh, $query, map { conv_i($_) } @{ $params{ids} });
 
   $dbh->commit() unless ($params{dbh});
+  $form->new_lastmtime('delivery_orders');
 
   $main::lxdebug->leave_sub();
 }
@@ -1055,6 +1059,7 @@ sub order_details {
 
   $form->{delivery_term} = SL::DB::Manager::DeliveryTerm->find_by(id => $form->{delivery_term_id} || undef);
   $form->{delivery_term}->description_long($form->{delivery_term}->translated_attribute('description_long', $form->{language_id})) if $form->{delivery_term} && $form->{language_id};
+  $form->{department}    = SL::DB::Manager::Department->find_by(id => $form->{department_id})->description if $form->{department_id};
 
   $form->{username} = $myconfig->{name};