X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=d637e2a59624d6f45ef71a7ce8745a2a775895b9;hb=d3835e76df74c5bc7f014048303a2845a1d2277e;hp=6c0ea0b4270b27504b57aa0c96801c31a01b1d06;hpb=90daea72226506cd9f797ba2bfd7d3c39e19fe3e;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index 6c0ea0b42..d637e2a59 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -41,6 +41,8 @@ use Carp; use Data::Dumper; use SL::DBUtils; +use strict; + sub get_account { $main::lxdebug->enter_sub(); @@ -64,11 +66,11 @@ sub get_account { }; - $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"}; @@ -79,13 +81,13 @@ sub get_account { # 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; @@ -102,13 +104,13 @@ sub get_account { 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; } @@ -119,12 +121,12 @@ sub get_account { 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; } @@ -150,14 +152,14 @@ sub get_account { 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; } @@ -167,7 +169,7 @@ sub get_account { # 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})"); @@ -180,7 +182,7 @@ sub get_account { 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; @@ -448,11 +450,11 @@ sub departments { 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; } @@ -476,7 +478,7 @@ sub get_department { 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; @@ -499,6 +501,7 @@ sub save_department { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my ($query); # connect to database my $dbh = $form->dbconnect($myconfig); @@ -525,6 +528,7 @@ sub delete_department { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my ($query); # connect to database my $dbh = $form->dbconnect($myconfig); @@ -550,10 +554,10 @@ sub lead { 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; } @@ -578,7 +582,7 @@ sub get_lead { 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; @@ -593,6 +597,7 @@ sub save_lead { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my ($query); # connect to database my $dbh = $form->dbconnect($myconfig); @@ -620,6 +625,7 @@ sub delete_lead { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my ($query); # connect to database my $dbh = $form->dbconnect($myconfig); @@ -641,14 +647,14 @@ sub business { # 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; } @@ -667,13 +673,13 @@ sub get_business { 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; @@ -688,24 +694,25 @@ sub save_business { $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); @@ -722,7 +729,7 @@ sub delete_business { # 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}); @@ -745,12 +752,12 @@ sub language { " 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); } @@ -781,7 +788,7 @@ sub get_language { 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; @@ -852,12 +859,13 @@ sub delete_language { $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"}); } @@ -901,11 +909,11 @@ sub buchungsgruppe { 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; } @@ -949,7 +957,7 @@ sub get_buchungsgruppe { 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; @@ -977,7 +985,7 @@ sub get_buchungsgruppe { 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"}; @@ -1064,7 +1072,7 @@ sub delete_buchungsgruppe { # 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; @@ -1100,105 +1108,6 @@ sub swap_sortkeys { $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(); @@ -1209,11 +1118,11 @@ sub payment { 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; } @@ -1235,7 +1144,7 @@ sub get_payment { 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(); @@ -1252,7 +1161,7 @@ sub get_payment { $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"} })); } @@ -1521,7 +1430,7 @@ sub save_preferences { $myconfig->{$item} = $form->{$item}; } - $myconfig->save_member($memberfile); + $myconfig->save_member($main::memberfile); my $auth = $main::auth; @@ -1535,41 +1444,6 @@ sub save_preferences { $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 () { - ($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 () { - ($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; @@ -1608,7 +1482,7 @@ sub defaultaccounts { my $sth = $dbh->prepare($query); $sth->execute || $form->dberror($query); - $form->{defaults} = $sth->fetchrow_hashref(NAME_lc); + $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}; @@ -1626,10 +1500,10 @@ sub defaultaccounts { $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"; } @@ -1653,7 +1527,7 @@ sub defaultaccounts { $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} @@ -1669,7 +1543,7 @@ sub defaultaccounts { $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} @@ -1686,7 +1560,7 @@ sub defaultaccounts { $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} @@ -1768,7 +1642,7 @@ sub retrieve_units { 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"; @@ -1784,7 +1658,7 @@ sub retrieve_units { $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(); @@ -1804,13 +1678,11 @@ sub retrieve_units { } $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(); @@ -1933,7 +1805,7 @@ sub convertible_units { # 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}; @@ -2016,7 +1888,7 @@ sub sum_with_unit { $main::lxdebug->leave_sub(); - return wantarray ? ($sum, $baseunit) : $sum; + return wantarray ? ($sum, $base_unit) : $sum; } sub add_unit { @@ -2162,11 +2034,11 @@ sub taxes { 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; } @@ -2192,11 +2064,11 @@ sub get_tax_accounts { 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; } @@ -2226,7 +2098,7 @@ sub get_tax { 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; @@ -2252,7 +2124,7 @@ sub get_tax { $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; } @@ -2268,6 +2140,7 @@ sub save_tax { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my $query; # connect to database my $dbh = $form->get_standard_dbh($myconfig); @@ -2307,6 +2180,7 @@ sub delete_tax { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form) = @_; + my $query; # connect to database my $dbh = $form->get_standard_dbh($myconfig);