use Data::Dumper;
use SL::DBUtils;
+use strict;
+
sub get_account {
$main::lxdebug->enter_sub();
};
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
foreach my $key (keys %$ref) {
$form->{"$key"} = $ref->{"$key"};
# get default accounts
$query = qq|SELECT inventory_accno_id, income_accno_id, expense_accno_id
FROM defaults|;
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- $ref = $sth->fetchrow_hashref(NAME_lc);
+ $ref = $sth->fetchrow_hashref("NAME_lc");
- map { $form->{$_} = $ref->{$_} } keys %ref;
+ map { $form->{$_} = $ref->{$_} } keys %{ $ref };
$sth->finish;
rate
FROM tax ORDER BY taxkey
};
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{TAXKEY} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{TAXKEY} }, $ref;
}
FROM chart
WHERE link = ?
ORDER BY accno|;
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
$sth = $dbh->prepare($query);
$sth->execute($form->{link}) || $form->dberror($query . " ($form->{link})");
$form->{NEWACCOUNT} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{NEWACCOUNT} }, $ref;
}
WHERE tk.chart_id = ?
ORDER BY startdate DESC
};
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
$sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
$form->{ACCOUNT_TAXKEYS} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ACCOUNT_TAXKEYS} }, $ref;
}
# check if we have any transactions
$query = qq|SELECT a.trans_id FROM acc_trans a
WHERE a.chart_id = ?|;
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
$sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
if ($form->{new_chart_id}) {
$query = qq|SELECT current_date-valid_from FROM chart
WHERE id = ?|;
- $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+ $main::lxdebug->message(LXDebug->QUERY(), "\$query=\n $query");
my ($count) = selectrow_query($form, $dbh, $query, $form->{id});
if ($count >=0) {
$form->{new_chart_valid} = 1;
$form->{id} = "";
}
+ if (!$form->{id} || $form->{id} eq "") {
+ $query = qq|SELECT nextval('id')|;
+ ($form->{"id"}) = selectrow_query($form, $dbh, $query);
+ $query = qq|INSERT INTO chart (id, accno) VALUES (?, ?)|;
+ do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"});
+ }
+
my @values;
if ($form->{id}) {
$form->{id},
);
- }
- elsif ($form->{id} && !$form->{new_chart_valid}) {
-
- $query = qq|
- UPDATE chart
- SET new_chart_id = ?,
- valid_from = ?
- WHERE id = ?
- |;
-
- @values = (
- conv_i($form->{new_chart_id}),
- conv_date($form->{valid_from}),
- $form->{id}
- );
- }
- else {
-
- $query = qq|
- INSERT INTO chart (
- accno,
- description,
- charttype,
- category,
- link,
- pos_bwa,
- pos_bilanz,
- pos_eur,
- new_chart_id,
- valid_from,
- datevautomatik )
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
- |;
-
- @values = (
- $form->{accno},
- $form->{description},
- $form->{charttype},
- $form->{category}, $form->{link},
- conv_i($form->{pos_bwa}),
- conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}),
- conv_i($form->{new_chart_id}),
- conv_date($form->{valid_from}),
- ($form->{datevautomatik} eq 'T') ? 'true':'false',
- );
-
}
do_query($form, $dbh, $query, @values);
# Loop control
# Check if the account already exists, else cancel
+
+ print(STDERR "Keine Taxkeys weil ID =: $form->{id}\n");
+
last READTAXKEYS if ( $form->{'id'} == 0);
# check if there is a startdate
FROM department d
ORDER BY 2|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{ALL} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ALL} }, $ref;
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my ($query);
# connect to database
my $dbh = $form->dbconnect($myconfig);
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my ($query);
# connect to database
my $dbh = $form->dbconnect($myconfig);
FROM leads
ORDER BY 2|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ALL} }, $ref;
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my ($query);
# connect to database
my $dbh = $form->dbconnect($myconfig);
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my ($query);
# connect to database
my $dbh = $form->dbconnect($myconfig);
# connect to database
my $dbh = $form->dbconnect($myconfig);
- my $query = qq|SELECT id, description, discount, customernumberinit
+ my $query = qq|SELECT id, description, discount, customernumberinit, salesman
FROM business
ORDER BY 2|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ALL} }, $ref;
}
my $dbh = $form->dbconnect($myconfig);
my $query =
- qq|SELECT b.description, b.discount, b.customernumberinit
+ qq|SELECT b.description, b.discount, b.customernumberinit, b.salesman
FROM business b
WHERE b.id = ?|;
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my ($query);
# connect to database
my $dbh = $form->dbconnect($myconfig);
- my @values = ($form->{description}, $form->{discount},
- $form->{customernumberinit});
+ my @values = ($form->{description}, $form->{discount}, $form->{customernumberinit}, $form->{salesman} ? 't' : 'f');
# id is the old record
if ($form->{id}) {
$query = qq|UPDATE business SET
description = ?,
discount = ?,
- customernumberinit = ?
+ customernumberinit = ?,
+ salesman = ?
WHERE id = ?|;
push(@values, $form->{id});
} else {
$query = qq|INSERT INTO business
- (description, discount, customernumberinit)
- VALUES (?, ?, ?)|;
+ (description, discount, customernumberinit, salesman)
+ VALUES (?, ?, ?, ?)|;
}
do_query($form, $dbh, $query, @values);
# connect to database
my $dbh = $form->dbconnect($myconfig);
- $query = qq|DELETE FROM business
+ my $query = qq|DELETE FROM business
WHERE id = ?|;
do_query($form, $dbh, $query, $form->{id});
" output_numberformat, output_dateformat, output_longdates " .
"FROM language ORDER BY description";
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
my $ary = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push(@{ $ary }, $ref);
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{"id"}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my $query;
# connect to database
my $dbh = $form->dbconnect_noauto($myconfig);
foreach my $table (qw(translation_payment_terms units_language)) {
- my $query = qq|DELETE FROM $table WHERE language_id = ?|;
+ $query = qq|DELETE FROM $table WHERE language_id = ?|;
do_query($form, $dbh, $query, $form->{"id"});
}
FROM buchungsgruppen
ORDER BY sortkey|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{ALL} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ALL} }, $ref;
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
foreach my $key (split(/:/, $ref->{link})) {
if (!$form->{"std_inventory_accno_id"} && ($key eq "IC")) {
$form->{"std_inventory_accno_id"} = $ref->{"id"};
# connect to database
my $dbh = $form->dbconnect($myconfig);
- $query = qq|DELETE FROM buchungsgruppen WHERE id = ?|;
+ my $query = qq|DELETE FROM buchungsgruppen WHERE id = ?|;
do_query($form, $dbh, $query, $form->{id});
$dbh->disconnect;
$main::lxdebug->leave_sub();
}
-sub printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $query = qq|SELECT id, printer_description, template_code, printer_command
- FROM printers
- ORDER BY 2|;
-
- $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
-
- $form->{"ALL"} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{ALL} }, $ref;
- }
-
- $sth->finish;
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub get_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $query =
- qq|SELECT p.printer_description, p.template_code, p.printer_command
- FROM printers p
- WHERE p.id = ?|;
- my $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
-
- my $ref = $sth->fetchrow_hashref(NAME_lc);
-
- map { $form->{$_} = $ref->{$_} } keys %$ref;
-
- $sth->finish;
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub save_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my @values = ($form->{printer_description},
- $form->{template_code},
- $form->{printer_command});
-
- # id is the old record
- if ($form->{id}) {
- $query = qq|UPDATE printers SET
- printer_description = ?, template_code = ?, printer_command = ?
- WHERE id = ?|;
- push(@values, $form->{id});
- } else {
- $query = qq|INSERT INTO printers
- (printer_description, template_code, printer_command)
- VALUES (?, ?, ?)|;
- }
- do_query($form, $dbh, $query, @values);
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub delete_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- $query = qq|DELETE FROM printers
- WHERE id = ?|;
- do_query($form, $dbh, $query, $form->{id});
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
sub payment {
$main::lxdebug->enter_sub();
my $query = qq|SELECT * FROM payment_terms ORDER BY sortkey|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{ALL} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ALL} }, $ref;
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{"id"}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$sth->finish();
$sth->execute($form->{"id"}) || $form->dberror($query . " ($form->{id})");
my %mapping;
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$mapping{ $ref->{"language_id"} } = $ref
unless (defined($mapping{ $ref->{"language_id"} }));
}
vendornumber = ?,
articlenumber = ?,
servicenumber = ?,
+ sdonumber = ?,
+ pdonumber = ?,
yearend = ?,
curr = ?,
- businessnumber = ?|;
+ businessnumber = ?,
+ weightunit = ?|;
my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno},
$accnos{fxgain_accno}, $accnos{fxloss_accno},
$form->{invnumber}, $form->{cnnumber},
$form->{sqnumber}, $form->{rfqnumber},
$form->{customernumber}, $form->{vendornumber},
$form->{articlenumber}, $form->{servicenumber},
+ $form->{sdonumber}, $form->{pdonumber},
$form->{yearend}, $currency,
- $form->{businessnumber});
+ $form->{businessnumber}, $form->{weightunit});
do_query($form, $dbh, $query, @values);
$dbh->commit();
$form->{businessnumber} = $businessnumber;
- my $myconfig = new User($form->{login});
+ $myconfig = new User($form->{login});
foreach my $item (keys %$form) {
$myconfig->{$item} = $form->{$item};
}
- $myconfig->save_member($memberfile);
+ $myconfig->save_member($main::memberfile);
my $auth = $main::auth;
$auth->create_or_refresh_session();
}
- if ($webdav) {
- @webdavdirs =
- qw(angebote bestellungen rechnungen anfragen lieferantenbestellungen einkaufsrechnungen);
- foreach $directory (@webdavdirs) {
- $file = "webdav/" . $directory . "/webdav-user";
- if ($myconfig->{$directory}) {
- open(HTACCESS, "$file") or die "cannot open webdav-user $!\n";
- while (<HTACCESS>) {
- ($login, $password) = split(/:/, $_);
- if ($login ne $form->{login}) {
- $newfile .= $_;
- }
- }
- close(HTACCESS);
- open(HTACCESS, "> $file") or die "cannot open webdav-user $!\n";
- $newfile .= $myconfig->{login} . ":" . $myconfig->{password} . "\n";
- print(HTACCESS $newfile);
- close(HTACCESS);
- } else {
- $form->{$directory} = 0;
- open(HTACCESS, "$file") or die "cannot open webdav-user $!\n";
- while (<HTACCESS>) {
- ($login, $password) = split(/:/, $_);
- if ($login ne $form->{login}) {
- $newfile .= $_;
- }
- }
- close(HTACCESS);
- open(HTACCESS, "> $file") or die "cannot open webdav-user $!\n";
- print(HTACCESS $newfile);
- close(HTACCESS);
- }
- }
- }
-
$main::lxdebug->leave_sub();
return $rc;
}
+sub get_defaults {
+ $main::lxdebug->enter_sub();
+
+ my $self = shift;
+ my %params = @_;
+
+ my $myconfig = \%main::myconfig;
+ my $form = $main::form;
+
+ my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
+
+ my $defaults = selectfirst_hashref_query($form, $dbh, qq|SELECT * FROM defaults|) || {};
+
+ $defaults->{weightunit} ||= 'kg';
+
+ $main::lxdebug->leave_sub();
+
+ return $defaults;
+}
+
sub defaultaccounts {
$main::lxdebug->enter_sub();
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- $form->{defaults} = $sth->fetchrow_hashref(NAME_lc);
- $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id};
- $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id};
- $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id};
- $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id};
- $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id};
+ $form->{defaults} = $sth->fetchrow_hashref("NAME_lc");
+ $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id};
+ $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id};
+ $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id};
+ $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id};
+ $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id};
+
+ $form->{defaults}{weightunit} ||= 'kg';
$sth->finish;
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /IC/) {
- $nkey = $key;
+ my $nkey = $key;
if ($key =~ /cogs/) {
$nkey = "IC_expense";
}
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
%{ $form->{IC}{FX_gain}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
$sth = $dbh->prepare($query);
$sth->execute || $self->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
%{ $form->{IC}{FX_loss}{ $ref->{accno} } } = (
id => $ref->{id},
description => $ref->{description}
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$form->{taxrates}{ $ref->{accno} }{id} = $ref->{id};
$form->{taxrates}{ $ref->{accno} }{description} = $ref->{description};
$form->{taxrates}{ $ref->{accno} }{taxnumber} = $ref->{taxnumber}
sub retrieve_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $type, $prefix) = @_;
+ my ($self, $myconfig, $form, $prefix) = @_;
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = $form->get_standard_dbh;
my $query = "SELECT *, base_unit AS original_base_unit FROM units";
- my @values;
- if ($type) {
- $query .= " WHERE (type = ?)";
- @values = ($type);
- }
- my $sth = $dbh->prepare($query);
- $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")");
+ my $sth = prepare_execute_query($form, $dbh, $query);
my $units = {};
while (my $ref = $sth->fetchrow_hashref()) {
$sth = $dbh->prepare($query_lang);
$sth->execute() || $form->dberror($query_lang);
my @languages;
- while ($ref = $sth->fetchrow_hashref()) {
+ while (my $ref = $sth->fetchrow_hashref()) {
push(@languages, $ref);
}
$sth->finish();
}
$sth->execute($unit->{"name"}) || $form->dberror($query_lang . " (" . $unit->{"name"} . ")");
- while ($ref = $sth->fetchrow_hashref()) {
+ while (my $ref = $sth->fetchrow_hashref()) {
map({ $unit->{"LANGUAGES"}->{$ref->{"template_code"}}->{$_} = $ref->{$_} } keys(%{$ref}));
}
}
- $sth->finish();
-
- $dbh->disconnect();
+ $sth->finish;
$main::lxdebug->leave_sub();
# else return 1
sub convert_unit {
$main::lxdebug->enter_sub(2);
- ($this, $a, $b, $all_units) = @_;
+ my ($this, $a, $b, $all_units) = @_;
+ $main::lxdebug->leave_sub(2) and return 0 unless $a && $b;
$main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a} && $all_units->{$b};
$main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a}{base_unit} eq $all_units->{$b}{base_unit};
- $main::lxdebug->leave_sub(2) and return $all_units->{$a}{factor} / $all_units->{$b}{factor};
+ $main::lxdebug->leave_sub(2) and return $all_units->{$a}{factor} / $all_units->{$b}{factor};
}
sub unit_select_data {
$main::lxdebug->leave_sub();
- return wantarray ? ($sum, $baseunit) : $sum;
+ return wantarray ? ($sum, $base_unit) : $sum;
}
sub add_unit {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_;
+ my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|;
my ($sortkey) = selectrow_query($form, $dbh, $query);
- $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " .
- "VALUES (?, ?, ?, ?, ?)";
- do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey);
+ $query = "INSERT INTO units (name, base_unit, factor, sortkey) " .
+ "VALUES (?, ?, ?, ?)";
+ do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey);
if ($languages) {
$query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)";
sub save_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $type, $units, $delete_units) = @_;
+ my ($self, $myconfig, $form, $units, $delete_units) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
sub swap_units {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_;
+ my ($self, $myconfig, $form, $dir, $name_1) = @_;
my $dbh = $form->dbconnect_noauto($myconfig);
$query =
qq|SELECT sortkey FROM units | .
- qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | .
+ qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | .
qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|;
- my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type);
+ my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1);
if (defined($sortkey_1)) {
$query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|;
FROM tax t
ORDER BY taxkey|;
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{TAX} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{TAX} }, $ref;
}
ORDER BY accno
};
- $sth = $dbh->prepare($query);
+ my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
$form->{ACCOUNTS} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{ACCOUNTS} }, $ref;
}
my $sth = $dbh->prepare($query);
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
- my $ref = $sth->fetchrow_hashref(NAME_lc);
+ my $ref = $sth->fetchrow_hashref("NAME_lc");
map { $form->{$_} = $ref->{$_} } keys %$ref;
$sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
$form->{TAXINUSE} = [];
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
push @{ $form->{TAXINUSE} }, $ref;
}
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my $query;
# connect to database
my $dbh = $form->get_standard_dbh($myconfig);
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
+ my $query;
# connect to database
my $dbh = $form->get_standard_dbh($myconfig);
return 0;
}
- do_query($form, $dbh, qq|DELETE FROM warehouse_access WHERE warehouse_id = ?|, conv_i($form->{id}));
- do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id}));
- do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id}));
+ do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id}));
+ do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id}));
$dbh->commit();
# connect to database
my $dbh = $form->get_standard_dbh($myconfig);
- my $query = qq|SELECT w.id, w.description, w.invalid
+ my $query = qq|SELECT w.id, w.description, w.invalid,
+ (SELECT COUNT(b.description) FROM bin b WHERE b.warehouse_id = w.id) AS number_of_bins
FROM warehouse w
ORDER BY w.sortkey|;
FROM warehouse w
WHERE w.id = ?|;
- my $ref = selectfirst_hashref_query($form, $dbh, $query, $id, $id);
+ my $ref = selectfirst_hashref_query($form, $dbh, $query, $id);
map { $form->{$_} = $ref->{$_} } keys %{ $ref };