X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/dc8f62cf5df4a7f8473e7d76fdd98846cea5721f..989b1fa36b14224d26b44e563989f6a8cc02b006:/SL/Form.pm
diff --git a/SL/Form.pm b/SL/Form.pm
index c578b2947..82f073ed7 100644
--- a/SL/Form.pm
+++ b/SL/Form.pm
@@ -203,7 +203,10 @@ sub _recode_recursively {
if (any { ref $param eq $_ } qw(Form HASH)) {
foreach my $key (keys %{ $param }) {
if (!ref $param->{$key}) {
- $param->{$key} = $iconv->convert($param->{$key});
+ # Workaround for a bug: converting $param->{$key} directly
+ # leads to 'undef'. I don't know why. Converting a copy works,
+ # though.
+ $param->{$key} = $iconv->convert("" . $param->{$key});
} else {
_recode_recursively($iconv, $param->{$key});
}
@@ -212,7 +215,10 @@ sub _recode_recursively {
} elsif (ref $param eq 'ARRAY') {
foreach my $idx (0 .. scalar(@{ $param }) - 1) {
if (!ref $param->[$idx]) {
- $param->[$idx] = $iconv->convert($param->[$idx]);
+ # Workaround for a bug: converting $param->[$idx] directly
+ # leads to 'undef'. I don't know why. Converting a copy works,
+ # though.
+ $param->[$idx] = $iconv->convert("" . $param->[$idx]);
} else {
_recode_recursively($iconv, $param->[$idx]);
}
@@ -636,7 +642,6 @@ sub header {
$jsscript = qq|
-
@@ -766,6 +771,7 @@ sub _prepare_html_template {
$additional_params->{"conf_lizenzen"} = $main::lizenzen;
$additional_params->{"conf_latex_templates"} = $main::latex;
$additional_params->{"conf_opendocument_templates"} = $main::opendocument_templates;
+ $additional_params->{"conf_vertreter"} = $main::vertreter;
if (%main::debug_options) {
map { $additional_params->{'DEBUG_' . uc($_)} = $main::debug_options{$_} } keys %main::debug_options;
@@ -1438,7 +1444,7 @@ sub cleanup {
close(FH);
}
- if ($self->{tmpfile}) {
+ if ($self->{tmpfile} && ! $::keep_temp_files) {
$self->{tmpfile} =~ s|.*/||g;
# strip extension
$self->{tmpfile} =~ s/\.\w+$//g;
@@ -2221,9 +2227,15 @@ sub _get_business_types {
my ($self, $dbh, $key) = @_;
- $key = "all_business_types" unless ($key);
- $self->{$key} =
- selectall_hashref_query($self, $dbh, qq|SELECT * FROM business|);
+ my $options = ref $key eq 'HASH' ? $key : { key => $key };
+ $options->{key} ||= "all_business_types";
+ my $where = '';
+
+ if (exists $options->{salesman}) {
+ $where = 'WHERE ' . ($options->{salesman} ? '' : 'NOT ') . 'COALESCE(salesman)';
+ }
+
+ $self->{ $options->{key} } = selectall_hashref_query($self, $dbh, qq|SELECT * FROM business $where ORDER BY lower(description)|);
$main::lxdebug->leave_sub();
}
@@ -2967,7 +2979,9 @@ sub lastname_used {
sub current_date {
$main::lxdebug->enter_sub();
- my ($self, $myconfig, $thisdate, $days) = @_;
+ my $self = shift;
+ my $myconfig = shift || \%::myconfig;
+ my ($thisdate, $days) = @_;
my $dbh = $self->get_standard_dbh($myconfig);
my $query;