X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=7803fc394b94aca0928c7051f47b4a8cc95719d2;hb=41a039692bf1d655df629fd833fd6d6d428eb29b;hp=e3ff9cc068fdef7d46f3152f6e838527c404b44b;hpb=71021b2cd8e49fdf88912b24f978b4522086478a;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index e3ff9cc06..7803fc394 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -508,9 +508,9 @@ sub parse_html_template { $additional_params->{"myconfig_jsc_dateformat"} = $jsc_dateformat; } - $additional_params->{"conf_jscalendar"} = $main::jscalendar; - $additional_params->{"conf_lizenzen"} = $main::lizenzen; - $additional_params->{"conf_latex_templates"} = $main::latex; + $additional_params->{"conf_webdav"} = $main::webdav; + $additional_params->{"conf_lizenzen"} = $main::lizenzen; + $additional_params->{"conf_latex_templates"} = $main::latex; $additional_params->{"conf_opendocument_templates"} = $main::opendocument_templates; my @additional_param_names = keys(%{$additional_params}); @@ -731,7 +731,9 @@ sub parse_template { $main::lxdebug->enter_sub(); my ($self, $myconfig, $userspath) = @_; - my $template; + my ($template, $out); + + local (*IN, *OUT); $self->{"cwd"} = getcwd(); $self->{"tmpdir"} = $self->{cwd} . "/${userspath}"; @@ -774,7 +776,19 @@ sub parse_template { # OUT is used for the media, screen, printer, email # for postscript we store a copy in a temporary file my $fileid = time; - $self->{tmpfile} ||= "$userspath/${fileid}.$self->{IN}"; + my $prepend_userspath; + + if (!$self->{tmpfile}) { + $self->{tmpfile} = "${fileid}.$self->{IN}"; + $prepend_userspath = 1; + } + + $prepend_userspath = 1 if substr($self->{tmpfile}, 0, length $userspath) eq $userspath; + + $self->{tmpfile} =~ s|.*/||; + $self->{tmpfile} =~ s/[^a-zA-Z0-9\._\ \-]//g; + $self->{tmpfile} = "$userspath/$self->{tmpfile}" if $prepend_userspath; + if ($template->uses_temp_file() || $self->{media} eq 'email') { $out = $self->{OUT}; $self->{OUT} = ">$self->{tmpfile}"; @@ -841,7 +855,7 @@ sub parse_template { } - my $err = $mail->send($out); + my $err = $mail->send(); $self->error($self->cleanup . "$err") if ($err); } else { @@ -862,7 +876,9 @@ sub parse_template { open(OUT, $self->{OUT}) or $self->error($self->cleanup . "$self->{OUT} : $!"); } else { - $self->{attachment_filename} = $self->generate_attachment_filename(); + $self->{attachment_filename} = ($self->{attachment_filename}) + ? $self->{attachment_filename} + : $self->generate_attachment_filename(); # launch application print qq|Content-Type: | . $template->get_mime_type() . qq| @@ -1504,10 +1520,7 @@ sub _get_shipto { $key = "all_shipto" unless ($key); # get shipping addresses - my $query = - qq|SELECT shipto_id, shiptoname, shiptodepartment_1 | . - qq|FROM shipto | . - qq|WHERE trans_id = ?|; + my $query = qq|SELECT * FROM shipto WHERE trans_id = ?|; $self->{$key} = selectall_hashref_query($self, $dbh, $query, $vc_id); @@ -1688,6 +1701,20 @@ sub _get_vendors { $main::lxdebug->leave_sub(); } +sub _get_departments { + $main::lxdebug->enter_sub(); + + my ($self, $dbh, $key) = @_; + + $key = "all_departments" unless ($key); + + my $query = qq|SELECT * FROM department|; + + $self->{$key} = selectall_hashref_query($self, $dbh, $query); + + $main::lxdebug->leave_sub(); +} + sub get_lists { $main::lxdebug->enter_sub(); @@ -1762,6 +1789,10 @@ sub get_lists { $self->_get_payments($dbh, $params{"payments"}); } + if($params{"departments"}) { + $self->_get_departments($dbh, $params{"departments"}); + } + $dbh->disconnect(); $main::lxdebug->leave_sub(); @@ -2447,10 +2478,9 @@ sub save_history { sub get_history { $main::lxdebug->enter_sub(); - my $self = shift(); - my $dbh = shift(); - my $trans_id = shift(); - my $restriction = shift(); + my ($self, $dbh, $trans_id, $restriction, $order) = @_; + my ($orderBy, $desc) = split(/\-\-/, $order); + $order = " ORDER BY " . ($order eq "" ? " h.itime " : ($desc == 1 ? $orderBy . " DESC " : $orderBy . " ")); my @tempArray; my $i = 0; if ($trans_id ne "") { @@ -2458,12 +2488,13 @@ sub get_history { qq|SELECT h.employee_id, h.itime::timestamp(0) AS itime, h.addition, h.what_done, emp.name, h.snumbers, h.trans_id AS id | . qq|FROM history_erp h | . qq|LEFT JOIN employee emp ON (emp.id = h.employee_id) | . - qq|WHERE trans_id = ? | - . $restriction; - + qq|WHERE trans_id = | . $trans_id + . $restriction . qq| | + . $order; + my $sth = $dbh->prepare($query) || $self->dberror($query); - $sth->execute($trans_id) || $self->dberror("$query ($trans_id)"); + $sth->execute() || $self->dberror("$query"); while(my $hash_ref = $sth->fetchrow_hashref()) { $hash_ref->{addition} = $main::locale->text($hash_ref->{addition});