projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Vergessener Lauf von locales.pl
[kivitendo-erp.git]
/
SL
/
Form.pm
diff --git
a/SL/Form.pm
b/SL/Form.pm
index
a06c363
..
355d60a
100644
(file)
--- a/
SL/Form.pm
+++ b/
SL/Form.pm
@@
-36,6
+36,9
@@
#======================================================================
package Form;
#======================================================================
package Form;
+
+#use strict;
+
use Data::Dumper;
use CGI;
use Data::Dumper;
use CGI;
@@
-57,7
+60,7
@@
use List::Util qw(first max min sum);
my $standard_dbh;
my $standard_dbh;
-
sub DESTROY
{
+
END
{
if ($standard_dbh) {
$standard_dbh->disconnect();
undef $standard_dbh;
if ($standard_dbh) {
$standard_dbh->disconnect();
undef $standard_dbh;
@@
-533,7
+536,7
@@
sub header {
return;
}
return;
}
- my ($stylesheet, $favicon);
+ my ($stylesheet, $favicon
, $pagelayout
);
if ($ENV{HTTP_USER_AGENT}) {
my $doctype;
if ($ENV{HTTP_USER_AGENT}) {
my $doctype;
@@
-591,7
+594,7
@@
sub header {
? "$self->{title} - $self->{titlebar}"
: $self->{titlebar};
my $ajax = "";
? "$self->{title} - $self->{titlebar}"
: $self->{titlebar};
my $ajax = "";
- foreach $item (@ { $self->{AJAX} }) {
+ foreach
my
$item (@ { $self->{AJAX} }) {
$ajax .= $item->show_javascript();
}
$ajax .= $item->show_javascript();
}
@@
-609,7
+612,7
@@
sub header {
<script type="text/javascript">
<!--
<script type="text/javascript">
<!--
- function fo
k
us() {
+ function fo
c
us() {
$fokus
}
//-->
$fokus
}
//-->
@@
-617,15
+620,15
@@
sub header {
<meta name="robots" content="noindex,nofollow" />
<script type="text/javascript" src="js/highlight_input.js"></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" />
+ <link rel="stylesheet" type="text/css" href="css/tabcontent.css" />
<script type="text/javascript" src="js/tabcontent.js">
/***********************************************
<script type="text/javascript" src="js/tabcontent.js">
/***********************************************
-
* Tab Content script-
Dynamic Drive DHTML code library (www.dynamicdrive.com)
- * This notice MUST stay intact for legal use
- * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
- ***********************************************/
+
* Tab Content script v2.2- ©
Dynamic Drive DHTML code library (www.dynamicdrive.com)
+
* This notice MUST stay intact for legal use
+
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
+
***********************************************/
</script>
</script>
@@
-794,7
+797,7
@@
sub show_generic_error {
$add_params->{SHOW_BACK_BUTTON} = 1;
}
$add_params->{SHOW_BACK_BUTTON} = 1;
}
- $self->{title} = $
title if ($title)
;
+ $self->{title} = $
params{title} if $params{title}
;
$self->header();
print $self->parse_html_template("generic/error", $add_params);
$self->header();
print $self->parse_html_template("generic/error", $add_params);
@@
-821,7
+824,7
@@
sub show_generic_information {
$main::lxdebug->leave_sub();
$main::lxdebug->leave_sub();
- die("Information: $
error
\n");
+ die("Information: $
text
\n");
}
# write Trigger JavaScript-Code ($qty = quantity of Triggers)
}
# write Trigger JavaScript-Code ($qty = quantity of Triggers)
@@
-844,8
+847,8
@@
sub write_trigger {
"yyyy-mm-dd" => "%Y-%m-%d",
);
"yyyy-mm-dd" => "%Y-%m-%d",
);
- my $ifFormat = defined($dateformats{$myconfig{"dateformat"}}) ?
- $dateformats{$myconfig{"dateformat"}} : "%d.%m.%Y";
+ my $ifFormat = defined($dateformats{$myconfig
->
{"dateformat"}}) ?
+ $dateformats{$myconfig
->
{"dateformat"}} : "%d.%m.%Y";
my @triggers;
while ($#_ >= 2) {
my @triggers;
while ($#_ >= 2) {
@@
-878,7
+881,7
@@
sub redirect {
if ($self->{callback}) {
if ($self->{callback}) {
- ($script, $argv) = split(/\?/, $self->{callback}, 2);
+
my
($script, $argv) = split(/\?/, $self->{callback}, 2);
$script =~ s|.*/||;
$script =~ s|[^a-zA-Z0-9_\.]||g;
exec("perl", "$script", $argv);
$script =~ s|.*/||;
$script =~ s|[^a-zA-Z0-9_\.]||g;
exec("perl", "$script", $argv);
@@
-911,12
+914,12
@@
sub format_amount {
if ($amount eq "") {
$amount = 0;
}
if ($amount eq "") {
$amount = 0;
}
-
+
# Hey watch out! The amount can be an exponential term like 1.13686837721616e-13
# Hey watch out! The amount can be an exponential term like 1.13686837721616e-13
-
+
my $neg = ($amount =~ s/^-//);
my $exp = ($amount =~ m/[e]/) ? 1 : 0;
my $neg = ($amount =~ s/^-//);
my $exp = ($amount =~ m/[e]/) ? 1 : 0;
-
+
if (defined($places) && ($places ne '')) {
if (not $exp) {
if ($places < 0) {
if (defined($places) && ($places ne '')) {
if (not $exp) {
if ($places < 0) {
@@
-988,6
+991,7
@@
sub format_amount_units {
$amount *= $conv_unit->{factor};
my @values;
$amount *= $conv_unit->{factor};
my @values;
+ my $num;
foreach my $unit (@$conv_units) {
my $last = $unit->{name} eq $part_unit->{name};
foreach my $unit (@$conv_units) {
my $last = $unit->{name} eq $part_unit->{name};
@@
-1224,7
+1228,7
@@
sub parse_template {
open(OUT, $self->{OUT})
or $self->error($self->cleanup . "$self->{OUT} : $!");
} else {
open(OUT, $self->{OUT})
or $self->error($self->cleanup . "$self->{OUT} : $!");
} else {
- $self->{attachment_filename} = ($self->{attachment_filename})
+ $self->{attachment_filename} = ($self->{attachment_filename})
? $self->{attachment_filename}
: $self->generate_attachment_filename();
? $self->{attachment_filename}
: $self->generate_attachment_filename();
@@
-1376,6
+1380,7
@@
sub datetonum {
$main::lxdebug->enter_sub();
my ($self, $date, $myconfig) = @_;
$main::lxdebug->enter_sub();
my ($self, $date, $myconfig) = @_;
+ my ($yy, $mm, $dd);
if ($date && $date =~ /\D/) {
if ($date && $date =~ /\D/) {
@@
-1432,9
+1437,9
@@
sub dbconnect_noauto {
$main::lxdebug->enter_sub();
my ($self, $myconfig) = @_;
$main::lxdebug->enter_sub();
my ($self, $myconfig) = @_;
-
+
# connect to database
# connect to database
- $dbh =
+
my
$dbh =
DBI->connect($myconfig->{dbconnect}, $myconfig->{dbuser},
$myconfig->{dbpasswd}, { AutoCommit => 0 })
or $self->dberror;
DBI->connect($myconfig->{dbconnect}, $myconfig->{dbuser},
$myconfig->{dbpasswd}, { AutoCommit => 0 })
or $self->dberror;
@@
-1513,7
+1518,7
@@
sub update_exchangerate {
if ($curr eq '') {
$main::lxdebug->leave_sub();
return;
if ($curr eq '') {
$main::lxdebug->leave_sub();
return;
- }
+ }
$query = qq|SELECT curr FROM defaults|;
my ($currency) = selectrow_query($self, $dbh, $query);
$query = qq|SELECT curr FROM defaults|;
my ($currency) = selectrow_query($self, $dbh, $query);
@@
-1554,7
+1559,7
@@
sub update_exchangerate {
SET $set
WHERE curr = ?
AND transdate = ?|;
SET $set
WHERE curr = ?
AND transdate = ?|;
-
+
} else {
$query = qq|INSERT INTO exchangerate (curr, buy, sell, transdate)
VALUES (?, $buy, $sell, ?)|;
} else {
$query = qq|INSERT INTO exchangerate (curr, buy, sell, transdate)
VALUES (?, $buy, $sell, ?)|;
@@
-1623,6
+1628,10
@@
sub check_exchangerate {
my ($self, $myconfig, $currency, $transdate, $fld) = @_;
my ($self, $myconfig, $currency, $transdate, $fld) = @_;
+ if ($fld !~/^buy|sell$/) {
+ $self->error('Fatal: check_exchangerate called with invalid buy/sell argument');
+ }
+
unless ($transdate) {
$main::lxdebug->leave_sub();
return "";
unless ($transdate) {
$main::lxdebug->leave_sub();
return "";
@@
-1865,7
+1874,7
@@
sub add_shipto {
shiptophone = ? AND
shiptofax = ? AND
shiptoemail = ? AND
shiptophone = ? AND
shiptofax = ? AND
shiptoemail = ? AND
- module = ? AND
+ module = ? AND
trans_id = ?|;
my $insert_check = selectfirst_hashref_query($self, $dbh, $query, @values, $module, $id);
if(!$insert_check){
trans_id = ?|;
my $insert_check = selectfirst_hashref_query($self, $dbh, $query, @values, $module, $id);
if(!$insert_check){
@@
-2048,6
+2057,7
@@
sub _get_charts {
$main::lxdebug->enter_sub();
my ($self, $dbh, $params) = @_;
$main::lxdebug->enter_sub();
my ($self, $dbh, $params) = @_;
+ my ($key);
$key = $params->{key};
$key = "all_charts" unless ($key);
$key = $params->{key};
$key = "all_charts" unless ($key);
@@
-2071,11
+2081,27
@@
sub _get_charts {
sub _get_taxcharts {
$main::lxdebug->enter_sub();
sub _get_taxcharts {
$main::lxdebug->enter_sub();
- my ($self, $dbh, $key) = @_;
+ my ($self, $dbh, $params) = @_;
+
+ my $key = "all_taxcharts";
+ my @where;
+
+ if (ref $params eq 'HASH') {
+ $key = $params->{key} if ($params->{key});
+ if ($params->{module} eq 'AR') {
+ push @where, 'taxkey NOT IN (8, 9, 18, 19)';
- $key = "all_taxcharts" unless ($key);
+ } elsif ($params->{module} eq 'AP') {
+ push @where, 'taxkey NOT IN (1, 2, 3, 12, 13)';
+ }
+
+ } elsif ($params) {
+ $key = $params;
+ }
- my $query = qq|SELECT * FROM tax ORDER BY taxkey|;
+ my $where = ' WHERE ' . join(' AND ', map { "($_)" } @where) if (@where);
+
+ my $query = qq|SELECT * FROM tax $where ORDER BY taxkey|;
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
@@
-2155,7
+2181,7
@@
$main::lxdebug->enter_sub();
$key = "all_currencies" unless ($key);
my $query = qq|SELECT curr AS currency FROM defaults|;
$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();
$self->{$key} = [split(/\:/ , selectfirst_hashref_query($self, $dbh, $query)->{currency})];
$main::lxdebug->leave_sub();
@@
-2169,7
+2195,7
@@
$main::lxdebug->enter_sub();
$key = "all_payments" unless ($key);
my $query = qq|SELECT * FROM payment_terms ORDER BY id|;
$key = "all_payments" unless ($key);
my $query = qq|SELECT * FROM payment_terms ORDER BY id|;
-
+
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
$main::lxdebug->leave_sub();
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
$main::lxdebug->leave_sub();
@@
-2181,7
+2207,7
@@
sub _get_customers {
my ($self, $dbh, $key, $limit) = @_;
$key = "all_customers" unless ($key);
my ($self, $dbh, $key, $limit) = @_;
$key = "all_customers" unless ($key);
- $limit_clause = "LIMIT $limit" if $limit;
+
my
$limit_clause = "LIMIT $limit" if $limit;
my $query = qq|SELECT * FROM customer WHERE NOT obsolete ORDER BY name $limit_clause|;
my $query = qq|SELECT * FROM customer WHERE NOT obsolete ORDER BY name $limit_clause|;
@@
-2271,19
+2297,19
@@
sub _get_simple {
$main::lxdebug->leave_sub();
}
$main::lxdebug->leave_sub();
}
-sub _get_groups {
- $main::lxdebug->enter_sub();
-
- my ($self, $dbh, $key) = @_;
-
- $key ||= "all_groups";
-
- my $groups = $main::auth->read_groups();
-
- $self->{$key} = selectall_hashref_query($self, $dbh, $query);
-
- $main::lxdebug->leave_sub();
-}
+
#
sub _get_groups {
+
#
$main::lxdebug->enter_sub();
+#
+
#
my ($self, $dbh, $key) = @_;
+#
+
#
$key ||= "all_groups";
+#
+
#
my $groups = $main::auth->read_groups();
+#
+
#
$self->{$key} = selectall_hashref_query($self, $dbh, $query);
+#
+
#
$main::lxdebug->leave_sub();
+
#
}
sub get_lists {
$main::lxdebug->enter_sub();
sub get_lists {
$main::lxdebug->enter_sub();
@@
-2334,7
+2360,7
@@
sub get_lists {
if ($params{"employees"}) {
$self->_get_employees($dbh, "all_employees", $params{"employees"});
}
if ($params{"employees"}) {
$self->_get_employees($dbh, "all_employees", $params{"employees"});
}
-
+
if ($params{"salesmen"}) {
$self->_get_employees($dbh, "all_salesmen", $params{"salesmen"});
}
if ($params{"salesmen"}) {
$self->_get_employees($dbh, "all_salesmen", $params{"salesmen"});
}
@@
-2346,11
+2372,11
@@
sub get_lists {
if ($params{"dunning_configs"}) {
$self->_get_dunning_configs($dbh, $params{"dunning_configs"});
}
if ($params{"dunning_configs"}) {
$self->_get_dunning_configs($dbh, $params{"dunning_configs"});
}
-
+
if($params{"currencies"}) {
$self->_get_currencies($dbh, $params{"currencies"});
}
if($params{"currencies"}) {
$self->_get_currencies($dbh, $params{"currencies"});
}
-
+
if($params{"customers"}) {
if (ref $params{"customers"} eq 'HASH') {
$self->_get_customers($dbh, $params{"customers"}{key}, $params{"customers"}{limit});
if($params{"customers"}) {
if (ref $params{"customers"} eq 'HASH') {
$self->_get_customers($dbh, $params{"customers"}{key}, $params{"customers"}{limit});
@@
-2358,7
+2384,7
@@
sub get_lists {
$self->_get_customers($dbh, $params{"customers"});
}
}
$self->_get_customers($dbh, $params{"customers"});
}
}
-
+
if($params{"vendors"}) {
if (ref $params{"vendors"} eq 'HASH') {
$self->_get_vendors($dbh, $params{"vendors"}{key}, $params{"vendors"}{limit});
if($params{"vendors"}) {
if (ref $params{"vendors"} eq 'HASH') {
$self->_get_vendors($dbh, $params{"vendors"}{key}, $params{"vendors"}{limit});
@@
-2366,7
+2392,7
@@
sub get_lists {
$self->_get_vendors($dbh, $params{"vendors"});
}
}
$self->_get_vendors($dbh, $params{"vendors"});
}
}
-
+
if($params{"payments"}) {
$self->_get_payments($dbh, $params{"payments"});
}
if($params{"payments"}) {
$self->_get_payments($dbh, $params{"payments"});
}
@@
-2383,9
+2409,10
@@
sub get_lists {
$self->_get_warehouses($dbh, $params{warehouses});
}
$self->_get_warehouses($dbh, $params{warehouses});
}
- if ($params{groups}) {
- $self->_get_groups($dbh, $params{groups});
- }
+# if ($params{groups}) {
+# $self->_get_groups($dbh, $params{groups});
+# }
+
if ($params{partsgroup}) {
$self->get_partsgroup(\%main::myconfig, { all => 1, target => $params{partsgroup} });
}
if ($params{partsgroup}) {
$self->get_partsgroup(\%main::myconfig, { all => 1, target => $params{partsgroup} });
}
@@
-2624,7
+2651,7
@@
sub create_links {
do_statement($self, $sth, $query, '%' . $module . '%');
$self->{accounts} = "";
do_statement($self, $sth, $query, '%' . $module . '%');
$self->{accounts} = "";
- while ($ref = $sth->fetchrow_hashref(
NAME_lc
)) {
+ while ($ref = $sth->fetchrow_hashref(
"NAME_lc"
)) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /\Q$module\E/) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /\Q$module\E/) {
@@
-2671,7
+2698,7
@@
sub create_links {
WHERE a.id = ?|;
$ref = selectfirst_hashref_query($self, $dbh, $query, $self->{id});
WHERE a.id = ?|;
$ref = selectfirst_hashref_query($self, $dbh, $query, $self->{id});
- foreach $key (keys %$ref) {
+ foreach
my
$key (keys %$ref) {
$self->{$key} = $ref->{$key};
}
$self->{$key} = $ref->{$key};
}
@@
-2693,7
+2720,7
@@
sub create_links {
do_statement($self, $sth, $query, "%$module%");
$self->{accounts} = "";
do_statement($self, $sth, $query, "%$module%");
$self->{accounts} = "";
- while ($ref = $sth->fetchrow_hashref(
NAME_lc
)) {
+ while ($ref = $sth->fetchrow_hashref(
"NAME_lc"
)) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /\Q$module\E/) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /\Q$module\E/) {
@@
-2743,7
+2770,7
@@
sub create_links {
my $index = 0;
# store amounts in {acc_trans}{$key} for multiple accounts
my $index = 0;
# store amounts in {acc_trans}{$key} for multiple accounts
- while (my $ref = $sth->fetchrow_hashref(
NAME_lc
)) {
+ while (my $ref = $sth->fetchrow_hashref(
"NAME_lc"
)) {
$ref->{exchangerate} =
$self->get_exchangerate($dbh, $self->{currency}, $ref->{transdate}, $fld);
if (!($xkeyref{ $ref->{accno} } =~ /tax/)) {
$ref->{exchangerate} =
$self->get_exchangerate($dbh, $self->{currency}, $ref->{transdate}, $fld);
if (!($xkeyref{ $ref->{accno} } =~ /tax/)) {
@@
-2909,7
+2936,7
@@
sub redo_rows {
# fill rows
foreach my $item (sort { $a->{num} <=> $b->{num} } @ndx) {
$i++;
# fill rows
foreach my $item (sort { $a->{num} <=> $b->{num} } @ndx) {
$i++;
- $j = $item->{ndx} - 1;
+
my
$j = $item->{ndx} - 1;
map { $self->{"${_}_$i"} = $new->[$j]->{$_} } @{$flds};
}
map { $self->{"${_}_$i"} = $new->[$j]->{$_} } @{$flds};
}
@@
-3092,7
+3119,7
@@
sub get_history {
qq|WHERE trans_id = | . $trans_id
. $restriction . qq| |
. $order;
qq|WHERE trans_id = | . $trans_id
. $restriction . qq| |
. $order;
-
+
my $sth = $dbh->prepare($query) || $self->dberror($query);
$sth->execute() || $self->dberror("$query");
my $sth = $dbh->prepare($query) || $self->dberror($query);
$sth->execute() || $self->dberror("$query");
@@
-3103,7
+3130,7
@@
sub get_history {
$hash_ref->{snumbers} =~ s/^.+_(.*)$/$1/g;
$tempArray[$i++] = $hash_ref;
}
$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();
if ($i > 0 && $tempArray[0] ne "");
}
$main::lxdebug->leave_sub();