X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/621a9c99b6f79437c69510d2bbd63c3184daf4d2..004a64c9997e0430c403cc0590b8ce0eaacb9788:/SL/DO.pm diff --git a/SL/DO.pm b/SL/DO.pm index 7db091011..e3ffc2f31 100644 --- 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}) { @@ -262,6 +263,11 @@ sub save { if ($form->{id}) { # only delete shipto complete + $query = qq|DELETE FROM custom_variables + WHERE (config_id IN (SELECT id FROM custom_variable_configs WHERE (module = 'ShipTo'))) + AND (trans_id IN (SELECT shipto_id FROM shipto WHERE (module = 'DO') AND (trans_id = ?)))|; + do_query($form, $dbh, $query, $form->{id}); + $query = qq|DELETE FROM shipto WHERE trans_id = ? AND module = 'DO'|; do_query($form, $dbh, $query, conv_i($form->{id})); @@ -477,6 +483,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 +613,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(); } @@ -744,6 +753,15 @@ sub retrieve { map { $form->{$_} = $ref->{$_} } keys %$ref; $sth->finish(); + if ($form->{shipto_id}) { + my $cvars = CVar->get_custom_variables( + dbh => $dbh, + module => 'ShipTo', + trans_id => $form->{shipto_id}, + ); + $form->{"shiptocvar_$_->{name}"} = $_->{value} for @{ $cvars }; + } + # get printed, emailed and queued $query = qq|SELECT s.printed, s.emailed, s.spoolfile, s.formname FROM status s WHERE s.trans_id = ?|; $sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));