my $self = {};
+ if ($LXDebug::watch_form) {
+ require SL::Watchdog;
+ tie %{ $self }, 'SL::Watchdog';
+ }
+
read(STDIN, $_, $ENV{CONTENT_LENGTH});
if ($ENV{QUERY_STRING}) {
\@page { size:landscape; }
</style>|;
}
- if ($self->{fokus}) {
- $fokus = qq|<script type="text/javascript">
-<!--
-function fokus(){document.$self->{fokus}.focus();}
-//-->
-</script>|;
- }
+
+ my $fokus = qq| document.$self->{fokus}.focus();| if ($self->{"fokus"});
#Set Calendar
my $jsscript = "";
$charset
$jsscript
$ajax
- $fokus
+
+ <script type="text/javascript">
+ <!--
+ function fokus() {
+ $fokus
+ }
+ //-->
+ </script>
+
<meta name="robots" content="noindex,nofollow" />
<script type="text/javascript" src="js/highlight_input.js"></script>
<link rel="stylesheet" type="text/css" href="css/tabcontent.css" />
(-f "templates/webpages/${file}_master.html") &&
((stat("templates/webpages/${file}_master.html"))[9] >
(stat("templates/webpages/${file}_${language}.html"))[9])) {
- my $info = "Developper information: templates/webpages/${file}_master.html is newer than the localized version.\n" .
+ my $info = "Developer information: templates/webpages/${file}_master.html is newer than the localized version.\n" .
"Please re-run 'locales.pl' in 'locale/${language}'.";
print(qq|<pre>$info</pre>|);
die($info);
$main::lxdebug->leave_sub();
}
+sub _get_taxzones {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $dbh, $key) = @_;
+
+ $key = "all_taxzones" unless ($key);
+
+ my $query = qq|SELECT * FROM tax_zones ORDER BY id|;
+
+ $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+ $main::lxdebug->leave_sub();
+}
+
sub _get_employees {
$main::lxdebug->enter_sub();
$main::lxdebug->leave_sub();
}
+sub _get_dunning_configs {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $dbh, $key) = @_;
+
+ $key = "all_dunning_configs" unless ($key);
+
+ my $query = qq|SELECT * FROM dunning_config ORDER BY dunning_level|;
+
+ $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+ $main::lxdebug->leave_sub();
+}
+
+sub _get_currencies {
+$main::lxdebug->enter_sub();
+
+ my ($self, $dbh, $key) = @_;
+
+ $key = "all_currencies" unless ($key);
+
+ my $query = qq|SELECT curr AS currency FROM defaults|;
+
+ $self->{$key} = [split(/\:/ , selectfirst_hashref_query($self, $dbh, $query)->{currency})];
+
+ $main::lxdebug->leave_sub();
+}
+
+sub _get_customers {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $dbh, $key) = @_;
+
+ $key = "all_customers" unless ($key);
+
+ my $query = qq|SELECT * FROM customer LIMIT $main::myconfig{vclimit}|;
+
+ $self->{$key} = selectall_hashref_query($self, $dbh, $query);
+
+ $main::lxdebug->leave_sub();
+}
+
sub get_lists {
$main::lxdebug->enter_sub();
$self->_get_taxcharts($dbh, $params{"taxcharts"});
}
+ if ($params{"taxzones"}) {
+ $self->_get_taxzones($dbh, $params{"taxzones"});
+ }
+
if ($params{"employees"}) {
$self->_get_employees($dbh, $params{"employees"});
}
$self->_get_business_types($dbh, $params{"business_types"});
}
+ if ($params{"dunning_configs"}) {
+ $self->_get_dunning_configs($dbh, $params{"dunning_configs"});
+ }
+
+ if($params{"currencies"}) {
+ $self->_get_currencies($dbh, $params{"currencies"});
+ }
+
+ if($params{"customers"}) {
+ $self->_get_customers($dbh, $params{"customers"});
+ }
+
$dbh->disconnect();
$main::lxdebug->leave_sub();
$query = qq|SELECT id, taxkey, taxdescription FROM tax|;
$self->{TAXKEY} = selectall_hashref_query($self, $dbh, $query);
- # get tax zones
- $query = qq|SELECT id, description FROM tax_zones|;
- $self->{TAXZONE} = selectall_hashref_query($self, $dbh, $query);
-
if (($module eq "AP") || ($module eq "AR")) {
# get tax rates and description
$query = qq|SELECT * FROM tax|;
}
# now get the account numbers
- $query = qq|SELECT c.accno, c.description, c.link, c.taxkey_id, tk.tax_id
- FROM chart c, taxkeys tk
- WHERE c.link LIKE ?
- AND ( tk.chart_id = c.id OR c.link LIKE '%_tax%')
- AND (NOT tk.chart_id = c.id OR NOT c.link LIKE '%_tax%')
- AND (tk.id = (SELECT id FROM taxkeys WHERE taxkeys.chart_id = c.id AND startdate <= $transdate ORDER BY startdate DESC LIMIT 1)
- OR c.link LIKE '%_tax%')
- ORDER BY c.accno|;
+ $query = qq|SELECT c.accno, c.description, c.link, c.taxkey_id, tk.tax_id
+ FROM chart c
+ LEFT JOIN taxkeys tk ON (tk.chart_id = c.id)
+ WHERE c.link LIKE ?
+ AND (tk.id = (SELECT id FROM taxkeys WHERE taxkeys.chart_id = c.id AND startdate <= $transdate ORDER BY startdate DESC LIMIT 1)
+ OR c.link LIKE '%_tax%')
+ ORDER BY c.accno|;
$sth = $dbh->prepare($query);
do_statement($self, $sth, $query, "%$module%");
# $main::locale->text('PRINTED')
# $main::locale->text('MAILED')
# $main::locale->text('SCREENED')
+# $main::locale->text('CANCELED')
# $main::locale->text('invoice')
# $main::locale->text('proforma')
# $main::locale->text('sales_order')
}
my $query =
- qq|INSERT INTO history_erp (trans_id, employee_id, addition, what_done) | .
- qq|VALUES (?, ?, ?, ?)|;
+ qq|INSERT INTO history_erp (trans_id, employee_id, addition, what_done, snumbers) | .
+ qq|VALUES (?, ?, ?, ?, ?)|;
my @values = (conv_i($self->{id}), conv_i($self->{employee_id}),
- $self->{addition}, $self->{what_done});
+ $self->{addition}, $self->{what_done}, "$self->{snumbers}");
do_query($self, $dbh, $query, @values);
$main::lxdebug->leave_sub();
my $i = 0;
if ($trans_id ne "") {
my $query =
- qq|SELECT h.employee_id, h.itime::timestamp(0) AS itime, h.addition, h.what_done, emp.name | .
+ qq|SELECT h.employee_id, h.itime::timestamp(0) AS itime, h.addition, h.what_done, emp.name, h.snumbers, h.trans_id AS id | .
qq|FROM history_erp h | .
qq|LEFT JOIN employee emp ON (emp.id = h.employee_id) | .
qq|WHERE trans_id = ? |
while(my $hash_ref = $sth->fetchrow_hashref()) {
$hash_ref->{addition} = $main::locale->text($hash_ref->{addition});
$hash_ref->{what_done} = $main::locale->text($hash_ref->{what_done});
+ $hash_ref->{snumbers} =~ s/^.+_(.*)$/$1/g;
$tempArray[$i++] = $hash_ref;
}
- $main::lxdebug->leave_sub() and return \@tempArray
+ $main::lxdebug->leave_sub() and return \@tempArray
if ($i > 0 && $tempArray[0] ne "");
}
$main::lxdebug->leave_sub();
my ($var) = $sth->fetchrow_array;
$sth->finish;
- if ($var =~ /^(.*?)(\d+)$/) {
- $var = "$1" . ($2 + 1);
- } else {
- $var++;
- }
+ $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e;
+ $var ||= 1;
$query = qq|UPDATE defaults SET $fld = ?|;
do_query($self, $dbh, $query, $var);
WHERE id = ? FOR UPDATE|;
my ($var) = selectrow_query($self, $dbh, $query, $business_id);
- if ($var ne "") {
- if ($var =~ /^(.*?)(\d+)$/) {
- $var = "$1" . ($2 + 1);
- } else {
- $var++;
- }
- }
+ $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e;
+
$query = qq|UPDATE business
SET customernumberinit = ?
WHERE id = ?|;