X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=06c0b2317f89730ed63791b1b3094f153d0d1eeb;hb=bebdc2ce03a4c60e94337cf69a12e167a8144d72;hp=fa6e70a17d1ba12de916ab65ccb3fe54eb7cc224;hpb=142ea3bff784ba29bd87de5615bb4f2aec8c977f;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index fa6e70a17..06c0b2317 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -382,10 +382,11 @@ sub create_http_response { my $session_cookie_value = $main::auth->get_session_id(); if ($session_cookie_value) { - $session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), - '-value' => $session_cookie_value, - '-path' => $uri->path, - '-secure' => $::request->is_https); + $session_cookie = $cgi->cookie('-name' => $main::auth->get_session_cookie_name(), + '-value' => $session_cookie_value, + '-path' => $uri->path, + '-expires' => '+' . $::auth->{session_timeout} . 'm', + '-secure' => $::request->is_https); } } @@ -449,6 +450,7 @@ sub header { push @header, " " if $self->{landscape}; push @header, "" if -f $self->{favicon}; push @header, map { qq|| } $layout->javascripts; + push @header, ''; push @header, $self->{javascript} if $self->{javascript}; push @header, map { $_->show_javascript } @{ $self->{AJAX} || [] }; @@ -548,8 +550,10 @@ sub _prepare_html_template { } $language = "de" unless ($language); - if (-f "templates/webpages/${file}.html") { - $file = "templates/webpages/${file}.html"; + my $webpages_path = $::request->layout->webpages_path; + + if (-f "${webpages_path}/${file}.html") { + $file = "${webpages_path}/${file}.html"; } elsif (ref $file eq 'SCALAR') { # file is a scalarref, use inline mode @@ -705,74 +709,6 @@ sub format_amount { SL::Helper::Number::_format_number($amount, $places, %$myconfig, dash => $dash); } -sub format_amount_units { - $main::lxdebug->enter_sub(); - - my $self = shift; - my %params = @_; - - my $myconfig = \%main::myconfig; - my $amount = $params{amount} * 1; - my $places = $params{places}; - my $part_unit_name = $params{part_unit}; - my $amount_unit_name = $params{amount_unit}; - my $conv_units = $params{conv_units}; - my $max_places = $params{max_places}; - - if (!$part_unit_name) { - $main::lxdebug->leave_sub(); - return ''; - } - - 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'); - } - - if (!scalar @{ $conv_units }) { - my $result = $self->format_amount($myconfig, $amount, $places, undef, $max_places) . " " . $part_unit_name; - $main::lxdebug->leave_sub(); - return $result; - } - - my $part_unit = $all_units->{$part_unit_name}; - my $conv_unit = ($amount_unit_name && ($amount_unit_name ne $part_unit_name)) ? $all_units->{$amount_unit_name} : $part_unit; - - $amount *= $conv_unit->{factor}; - - my @values; - my $num; - - foreach my $unit (@$conv_units) { - my $last = $unit->{name} eq $part_unit->{name}; - if (!$last) { - $num = int($amount / $unit->{factor}); - $amount -= $num * $unit->{factor}; - } - - if ($last ? $amount : $num) { - push @values, { "unit" => $unit->{name}, - "amount" => $last ? $amount / $unit->{factor} : $num, - "places" => $last ? $places : 0 }; - } - - last if $last; - } - - if (!@values) { - push @values, { "unit" => $part_unit_name, - "amount" => 0, - "places" => 0 }; - } - - my $result = join " ", map { $self->format_amount($myconfig, $_->{amount}, $_->{places}, undef, $max_places), $_->{unit} } @values; - - $main::lxdebug->leave_sub(); - - return $result; -} - sub format_string { $main::lxdebug->enter_sub(2); @@ -933,7 +869,7 @@ sub parse_template { } } - if (!$self->{preview} && $self->doc_storage_enabled) + if (!$self->{preview} && $self->{attachment_type} !~ m{^dunning} && $self->doc_storage_enabled) { $self->{attachment_filename} ||= $self->generate_attachment_filename; $self->store_pdf($self); @@ -953,7 +889,7 @@ sub parse_template { } } - if ( !$self->{preview} && $ext_for_format eq 'pdf' && $self->doc_storage_enabled) { + if ( !$self->{preview} && $ext_for_format eq 'pdf' && $self->{attachment_type} !~ m{^dunning} && $self->doc_storage_enabled) { $self->{attachment_filename} ||= $self->generate_attachment_filename; my $file_obj = $self->store_pdf($self); $self->{print_file_id} = $file_obj->id if $file_obj; @@ -1001,6 +937,14 @@ sub send_email { map { $mail->{$_} = $self->{$_} } qw(cc subject message format); + if ($self->{cc_employee}) { + my ($user, $my_emp_cc); + $user = SL::DB::Manager::AuthUser->find_by(login => $self->{cc_employee}); + $my_emp_cc = $user->get_config_value('email') if ref $user eq 'SL::DB::AuthUser'; + $mail->{cc} .= ", " if $mail->{cc}; + $mail->{cc} .= $my_emp_cc if $my_emp_cc; + } + $mail->{bcc} = $self->get_bcc_defaults($myconfig, $self->{bcc}); $mail->{to} = $self->{EMAIL_RECIPIENT} ? $self->{EMAIL_RECIPIENT} : $self->{email}; $mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|; @@ -1142,6 +1086,7 @@ sub get_formname_translation { bin_list => $main::locale->text('Bin List'), credit_note => $main::locale->text('Credit Note'), invoice => $main::locale->text('Invoice'), + invoice_copy => $main::locale->text('Invoice Copy'), pick_list => $main::locale->text('Pick List'), proforma => $main::locale->text('Proforma Invoice'), purchase_order => $main::locale->text('Purchase Order'), @@ -2957,11 +2902,13 @@ sub save_status { # $main::locale->text('ELSE') # $main::locale->text('SAVED FOR DUNNING') # $main::locale->text('DUNNING STARTED') +# $main::locale->text('PREVIEWED') # $main::locale->text('PRINTED') # $main::locale->text('MAILED') # $main::locale->text('SCREENED') # $main::locale->text('CANCELED') # $main::locale->text('IMPORT') +# $main::locale->text('UNDO TRANSFER') # $main::locale->text('UNIMPORT') # $main::locale->text('invoice') # $main::locale->text('proforma')