X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/d25bd6ec1709f3c8ef07e1dab1f69469893ab6dc..a731cd269130cd68f9c3fb5b8a2c26dc20afe82e:/SL/Form.pm diff --git a/SL/Form.pm b/SL/Form.pm index ecc4c5708..1912f7560 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -451,6 +451,7 @@ sub parse_html_template { } else { $language = $main::myconfig{"countrycode"}; } + $language = "de" unless ($language); if (-f "templates/webpages/${file}_${language}.html") { if ((-f ".developer") && @@ -795,7 +796,7 @@ sub parse_template { map { $mail->{$_} = $self->{$_} } qw(cc bcc subject message version format charset); - $mail->{to} = qq|$self->{email}|; + $mail->{to} = $self->{EMAIL_RECIPIENT} ? $self->{EMAIL_RECIPIENT} : $self->{email}; $mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|; $mail->{fileid} = "$fileid."; $myconfig->{signature} =~ s/\\r\\n/\\n/g; @@ -1468,7 +1469,7 @@ sub _get_printers { $key = "all_printers" unless ($key); - my $query = qq|SELECT id, printer_description, printer_command FROM printers|; + my $query = qq|SELECT id, printer_description, printer_command, template_code FROM printers|; $self->{$key} = selectall_hashref_query($self, $dbh, $query); @@ -1537,6 +1538,20 @@ sub _get_business_types { $main::lxdebug->leave_sub(); } +sub _get_languages { + $main::lxdebug->enter_sub(); + + my ($self, $dbh, $key) = @_; + + $key = "all_languages" unless ($key); + + my $query = qq|SELECT * FROM language ORDER BY id|; + + $self->{$key} = selectall_hashref_query($self, $dbh, $query); + + $main::lxdebug->leave_sub(); +} + sub get_lists { $main::lxdebug->enter_sub(); @@ -1567,6 +1582,10 @@ sub get_lists { $self->_get_printers($dbh, $params{"printers"}); } + if ($params{"languages"}) { + $self->_get_languages($dbh, $params{"languages"}); + } + if ($params{"charts"}) { $self->_get_charts($dbh, $params{"charts"}); } @@ -1821,7 +1840,7 @@ sub create_links { $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, '%' . $module . '%'); + do_statement($self, $sth, $query, '%' . $module . '%'); $self->{accounts} = ""; while ($ref = $sth->fetchrow_hashref(NAME_lc)) { @@ -1846,16 +1865,16 @@ sub create_links { # get taxkeys and description $query = qq|SELECT id, taxkey, taxdescription FROM tax|; - $self->{TAXKEY} = selectall_hashref_query($form, $dbh, $query); + $self->{TAXKEY} = selectall_hashref_query($self, $dbh, $query); # get tax zones $query = qq|SELECT id, description FROM tax_zones|; - $self->{TAXZONE} = selectall_hashref_query($form, $dbh, $query); + $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|; - $self->{TAX} = selectall_hashref_query($form, $dbh, $query); + $self->{TAX} = selectall_hashref_query($self, $dbh, $query); } if ($self->{id}) { @@ -1885,17 +1904,17 @@ sub create_links { } # now get the account numbers - $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.chart_id = c.id) AND NOT (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, 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|; $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, "%" . $module . "%"); + do_statement($self, $sth, $query, "%$module%"); $self->{accounts} = ""; while ($ref = $sth->fetchrow_hashref(NAME_lc)) { @@ -1940,7 +1959,7 @@ sub create_links { AND a.fx_transaction = '0' ORDER BY a.oid, a.transdate|; $sth = $dbh->prepare($query); - do_statement($form, $sth, $query, $self->{id}); + do_statement($self, $sth, $query, $self->{id}); # get exchangerate for currency $self->{exchangerate} = @@ -2419,7 +2438,7 @@ sub get_partsgroup { @values = ($p->{language_code}); } - $self->{all_partsgroups} = selectall_hashref_query($self, $dbh, $query, @values); + $self->{all_partsgroup} = selectall_hashref_query($self, $dbh, $query, @values); $dbh->disconnect; $main::lxdebug->leave_sub();