use List::MoreUtils qw(any);
use SL::DBUtils;
use SL::DB::AuthUser;
+use SL::DB::Default;
use SL::DB::Employee;
+use SL::GenericTranslations;
use strict;
$filename =~ s|.*/||;
}
$display_filename = $filename;
- $filename = "$myconfig->{templates}/$filename";
+ $filename = SL::DB::Default->get->templates . "/$filename";
}
$main::lxdebug->leave_sub();
close(TEMPLATE);
}
- $content = Encode::decode('utf-8-strict', $content) if $::locale->is_utf8;
+ $content = Encode::decode('utf-8-strict', $content);
$main::lxdebug->leave_sub();
my $error = "";
if (open(TEMPLATE, ">", $filename)) {
- $content = Encode::encode('utf-8-strict', $content) if $::locale->is_utf8;
+ $content = Encode::encode('utf-8-strict', $content);
$content =~ s/\r\n/\n/g;
print(TEMPLATE $content);
close(TEMPLATE);
my $user = SL::DB::Manager::AuthUser->find_by(login => $form->{login});
$user->update_attributes(
config_values => {
- map({ ($_ => $form->{$_}) } SL::DB::AuthUser::CONFIG_VARS()),
- map({ ($_ => do { my $v = $form->{$_}; $v =~ s/\r//g; $v }) } qw(address signature)),
+ map { ($_ => $form->{$_}) } SL::DB::AuthUser::CONFIG_VARS(),
});
$main::lxdebug->leave_sub();
$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}));