X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=68b168127d46934d3fc46f4fe35744638f140fa4;hb=9c228f168c91f538bd70278a481462618a782e0b;hp=418d3cf62f539abd7a9c76d47ea97e90e4df5ce3;hpb=9a3d356c2b4b2b465e06ed8c467ce08c823a8d09;p=kivitendo-erp.git
diff --git a/SL/Form.pm b/SL/Form.pm
index 418d3cf62..68b168127 100644
--- a/SL/Form.pm
+++ b/SL/Form.pm
@@ -251,6 +251,7 @@ sub new {
my $self = {};
+ no warnings 'once';
if ($LXDebug::watch_form) {
require SL::Watchdog;
tie %{ $self }, 'SL::Watchdog';
@@ -842,10 +843,11 @@ sub _prepare_html_template {
$additional_params->{"conf_parts_image_css"} = $::lx_office_conf{features}->{parts_image_css};
$additional_params->{"conf_parts_listing_images"} = $::lx_office_conf{features}->{parts_listing_images};
$additional_params->{"conf_parts_show_image"} = $::lx_office_conf{features}->{parts_show_image};
+ $additional_params->{"conf_payments_changeable"} = $::lx_office_conf{features}->{payments_changeable};
$additional_params->{"INSTANCE_CONF"} = $::instance_conf;
- if (%main::debug_options) {
- map { $additional_params->{'DEBUG_' . uc($_)} = $main::debug_options{$_} } keys %main::debug_options;
+ if (my $debug_options = $::lx_office_conf{debug}{options}) {
+ map { $additional_params->{'DEBUG_' . uc($_)} = $debug_options->{$_} } keys %$debug_options;
}
if ($main::auth && $main::auth->{RIGHTS} && $main::auth->{RIGHTS}->{$self->{login}}) {
@@ -1116,8 +1118,7 @@ sub format_amount_units {
return '';
}
- AM->retrieve_all_units();
- my $all_units = $main::all_units;
+ my $all_units = AM->retrieve_all_units;
if (('' eq ref $conv_units) && ($conv_units =~ /convertible/)) {
$conv_units = AM->convertible_units($all_units, $part_unit_name, $conv_units eq 'convertible_not_smaller');
@@ -1314,26 +1315,25 @@ sub parse_template {
if ($template->uses_temp_file() || $self->{media} eq 'email') {
$out = $self->{OUT};
- $self->{OUT} = ">$self->{tmpfile}";
+ $self->{OUT} = "$self->{tmpfile}";
}
my $result;
if ($self->{OUT}) {
- open OUT, "$self->{OUT}" or $self->error("$self->{OUT} : $!");
- $result = $template->parse(*OUT);
- close OUT;
-
+ open(OUT, ">", $self->{OUT}) or $self->error("$self->{OUT} : $!");
} else {
+ open(OUT, ">&", \*STDOUT) or $self->error("STDOUT : $!");
$self->header;
- $result = $template->parse(*STDOUT);
}
- if (!$result) {
+ if (!$template->parse(*OUT)) {
$self->cleanup();
$self->error("$self->{IN} : " . $template->get_error());
}
+ close OUT;
+
if ($self->{media} eq 'file') {
copy(join('/', $self->{cwd}, $userspath, $self->{tmpfile}), $out =~ m|^/| ? $out : join('/', $self->{cwd}, $out)) if $template->uses_temp_file;
$self->cleanup;
@@ -1367,7 +1367,7 @@ sub parse_template {
$myconfig->{signature} =~ s/\n/
\n/g;
$mail->{message} .= "
\n--
\n$myconfig->{signature}\n
";
- open(IN, $self->{tmpfile})
+ open(IN, "<", $self->{tmpfile})
or $self->error($self->cleanup . "$self->{tmpfile} : $!");
while () {
$mail->{message} .= $_;
@@ -1397,7 +1397,7 @@ sub parse_template {
$self->{OUT} = $out;
my $numbytes = (-s $self->{tmpfile});
- open(IN, $self->{tmpfile})
+ open(IN, "<", $self->{tmpfile})
or $self->error($self->cleanup . "$self->{tmpfile} : $!");
binmode IN;
@@ -1408,7 +1408,7 @@ sub parse_template {
#print(STDERR "OUT $self->{OUT}\n");
for my $i (1 .. $self->{copies}) {
if ($self->{OUT}) {
- open OUT, $self->{OUT} or $self->error($self->cleanup . "$self->{OUT} : $!");
+ open OUT, '>', $self->{OUT} or $self->error($self->cleanup . "$self->{OUT} : $!");
print OUT while ;
close OUT;
seek IN, 0, 0;
@@ -1537,12 +1537,17 @@ sub generate_email_subject {
sub cleanup {
$main::lxdebug->enter_sub();
- my $self = shift;
+ my ($self, $application) = @_;
+
+ my $error_code = $?;
chdir("$self->{tmpdir}");
my @err = ();
- if (-f "$self->{tmpfile}.err") {
+ if ((-1 == $error_code) || (127 == (($error_code) >> 8))) {
+ push @err, $::locale->text('The application "#1" was not found on the system.', $application || 'pdflatex') . ' ' . $::locale->text('Please contact your administrator.');
+
+ } elsif (-f "$self->{tmpfile}.err") {
open(FH, "$self->{tmpfile}.err");
@err = ;
close(FH);
@@ -2986,7 +2991,7 @@ sub create_links {
$query =
qq|SELECT
c.accno, c.description,
- a.source, a.amount, a.memo, a.transdate, a.cleared, a.project_id, a.taxkey,
+ a.acc_trans_id, a.source, a.amount, a.memo, a.transdate, a.gldate, a.cleared, a.project_id, a.taxkey,
p.projectnumber,
t.rate, t.id
FROM acc_trans a