X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b54e817db78d0f178ea1a339a5fdd1e4281db421..7e2bf6ca0b5a77130cec0b01cfe263cd04f7e64d:/SL/Form.pm diff --git a/SL/Form.pm b/SL/Form.pm index 9bfb94554..d43e51fb1 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -582,8 +582,6 @@ sub parse_html_template2 { $file = $self->_prepare_html_template($file, $additional_params); my $template = Template->new({ 'INTERPOLATE' => 0, - 'PRE_CHOMP' => Template::Constants::CHOMP_COLLAPSE, - 'POST_CHOMP' => Template::Constants::CHOMP_COLLAPSE, 'EVAL_PERL' => 0, 'ABSOLUTE' => 1, 'CACHE_SIZE' => 0, @@ -1471,6 +1469,7 @@ sub add_shipto { my $shipto; my @values; + foreach my $item (qw(name department_1 department_2 street zipcode city country contact phone fax email)) { if ($self->{"shipto$item"}) { @@ -1478,6 +1477,7 @@ sub add_shipto { } push(@values, $self->{"shipto${item}"}); } + if ($shipto) { if ($self->{shipto_id}) { my $query = qq|UPDATE shipto set @@ -1506,8 +1506,10 @@ sub add_shipto { shiptocontact = ? AND shiptophone = ? AND shiptofax = ? AND - shiptoemail = ?|; - my $insert_check = selectfirst_hashref_query($self, $dbh, $query, @values); + shiptoemail = ? AND + module = ? AND + trans_id = ?|; + my $insert_check = selectfirst_hashref_query($self, $dbh, $query, @values, $module, $id); if(!$insert_check){ $query = qq|INSERT INTO shipto (trans_id, shiptoname, shiptodepartment_1, shiptodepartment_2, @@ -2650,8 +2652,14 @@ sub update_defaults { my ($var) = $sth->fetchrow_array; $sth->finish; - $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e; - $var ||= 1; + if ($var =~ m/\d+$/) { + my $new_var = (substr $var, $-[0]) * 1 + 1; + my $len_diff = length($var) - $-[0] - length($new_var); + $var = substr($var, 0, $-[0]) . ($len_diff > 0 ? '0' x $len_diff : '') . $new_var; + + } else { + $var = $var . '1'; + } $query = qq|UPDATE defaults SET $fld = ?|; do_query($self, $dbh, $query, $var); @@ -2682,8 +2690,15 @@ sub update_business { WHERE id = ? FOR UPDATE|; my ($var) = selectrow_query($self, $dbh, $query, $business_id); - $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e; - + if ($var =~ m/\d+$/) { + my $new_var = (substr $var, $-[0]) * 1 + 1; + my $len_diff = length($var) - $-[0] - length($new_var); + $var = substr($var, 0, $-[0]) . ($len_diff > 0 ? '0' x $len_diff : '') . $new_var; + + } else { + $var = $var . '1'; + } + $query = qq|UPDATE business SET customernumberinit = ? WHERE id = ?|;