use SL::DB::AuthUser;
use SL::DB::Default;
use SL::DB::Employee;
+use SL::GenericTranslations;
use strict;
$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 = ?,
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();
$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();
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 = <<SQL;
+ SELECT b.*,
+ ( EXISTS(SELECT i.bin_id FROM inventory i WHERE i.bin_id = b.id LIMIT 1)
+ OR EXISTS(SELECT p.bin_id FROM parts p WHERE p.bin_id = b.id LIMIT 1))
+ AS in_use
+ FROM bin b
+ WHERE b.warehouse_id = ?
+SQL
$form->{BINS} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}));