X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=8b2d7b292504595c9dd63b3ac51239eaf94fce1b;hb=9bfde8af91ac295afb6e68b8580f000fd6051f15;hp=cf48de61cda01ee12944e8c792b6568bb4286958;hpb=dbda14c263efd93aca3b7114015a47d86b8581e3;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index cf48de61c..8b2d7b292 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -45,6 +45,7 @@ use SL::DBUtils; use SL::DB::AuthUser; use SL::DB::Default; use SL::DB::Employee; +use SL::GenericTranslations; use strict; @@ -1642,7 +1643,7 @@ sub save_tax { $chart_categories .= 'E' if $form->{expense}; $chart_categories .= 'C' if $form->{costs}; - my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, $form->{chart_id}, $form->{chart_id}, $chart_categories); + my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, conv_i($form->{chart_id}), conv_i($form->{chart_id}), $chart_categories); if ($form->{id} ne "") { $query = qq|UPDATE tax SET taxkey = ?, @@ -1652,22 +1653,32 @@ sub save_tax { taxnumber = (SELECT accno FROM chart WHERE id= ? ), chart_categories = ? WHERE id = ?|; - push(@values, $form->{id}); } else { #ok + ($form->{id}) = selectfirst_array_query($form, $dbh, qq|SELECT nextval('id')|); $query = qq|INSERT INTO tax ( taxkey, taxdescription, rate, chart_id, taxnumber, - chart_categories + chart_categories, + id ) - VALUES (?, ?, ?, ?, (SELECT accno FROM chart WHERE id = ?), ? )|; + VALUES (?, ?, ?, ?, (SELECT accno FROM chart WHERE id = ?), ?, ?)|; } + push(@values, $form->{id}); do_query($form, $dbh, $query, @values); + foreach my $language_id (keys %{ $form->{translations} }) { + GenericTranslations->save('dbh' => $dbh, + 'translation_type' => 'SL::DB::Tax/taxdescription', + 'translation_id' => $form->{id}, + 'language_id' => $language_id, + 'translation' => $form->{translations}->{$language_id}); + } + $dbh->commit(); $main::lxdebug->leave_sub(); @@ -1785,11 +1796,12 @@ sub save_warehouse { $form->{description}, $form->{invalid} ? 't' : 'f', conv_i($form->{id})); if (0 < $form->{number_of_new_bins}) { + my ($num_existing_bins) = selectfirst_array_query($form, $dbh, qq|SELECT COUNT(*) FROM bin WHERE warehouse_id = ?|, $form->{id}); $query = qq|INSERT INTO bin (warehouse_id, description) VALUES (?, ?)|; $sth = prepare_query($form, $dbh, $query); foreach my $i (1..$form->{number_of_new_bins}) { - do_statement($form, $sth, $query, conv_i($form->{id}), "$form->{prefix}${i}"); + do_statement($form, $sth, $query, conv_i($form->{id}), "$form->{prefix}" . ($i + $num_existing_bins)); } $sth->finish(); @@ -1899,15 +1911,14 @@ sub get_warehouse { map { $form->{$_} = $ref->{$_} } keys %{ $ref }; - $query = qq|SELECT b.*, EXISTS - (SELECT i.warehouse_id, p.warehouse_id - FROM inventory i, parts p - WHERE i.bin_id = b.id - OR p.bin_id = b.id - LIMIT 1) - AS in_use - FROM bin b - WHERE b.warehouse_id = ?|; + $query = <{BINS} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}));