X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fio.pl;h=d5209cf0808b6f48510311192c2d80f4e0b25e27;hb=1118dab96d2c42e872c9782b4374709d52b20653;hp=7648dc1fd710f06c96a5807a8a3606e18339dc93;hpb=974469826a0ca9792c5bea85a73891cc017f7de9;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 7648dc1fd..d5209cf08 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -1283,7 +1283,7 @@ sub edit_e_mail { print $form->parse_html_template('generic/edit_email', { title => $title, a_filename => $attachment_filename, - _print_options_ => print_options('inline'), + _print_options_ => print_options({ 'inline' => 1 }), HIDDEN => [ map +{ name => $_, value => $form->{$_} }, @hidden_keys ], SHOW_BCC => $myconfig{role} eq 'admin' }); @@ -1315,7 +1315,11 @@ sub send_email { # # the inline options is untested, but intended to be used later in metatemplating sub print_options { - $lxdebug->enter_sub() and my ($inline) = @_; + $lxdebug->enter_sub(); + + my ($options) = @_; + + $options ||= { }; # names 3 parameters and returns a hashref, for use in templates sub opthash { +{ value => shift, selected => shift, oname => shift } } @@ -1370,19 +1374,21 @@ sub print_options { opthash("screen", $form->{OP}{screen}, $locale->text('Screen')), (scalar @{ $form->{printers} } && $latex_templates) ? opthash("printer", $form->{OP}{printer}, $locale->text('Printer')) : undef, - ($latex_templates) ? + ($latex_templates && !$options->{no_queue}) ? opthash("queue", $form->{OP}{queue}, $locale->text('Queue')) : undef if ($form->{media} ne 'email'); push @FORMAT, grep $_, - ($opendocument_templates && $openofficeorg_writer_bin && $xvfb_bin && (-x $openofficeorg_writer_bin) && (-x $xvfb_bin)) ? + ($opendocument_templates && $openofficeorg_writer_bin && $xvfb_bin && (-x $openofficeorg_writer_bin) && (-x $xvfb_bin) + && !$options->{no_opendocument_pdf}) ? opthash("opendocument_pdf", $form->{DF}{"opendocument_pdf"}, $locale->text("PDF (OpenDocument/OASIS)")) : undef, - ($latex_templates) ? ( - opthash("pdf", $form->{DF}{pdf}, $locale->text('PDF')), - opthash("postscript", $form->{DF}{postscript}, $locale->text('Postscript')) - ) : undef, - opthash("html", $form->{DF}{html}, "HTML"), - ($opendocument_templates) ? + ($latex_templates) ? + opthash("pdf", $form->{DF}{pdf}, $locale->text('PDF')) : undef, + ($latex_templates && !$options->{no_postscript}) ? + opthash("postscript", $form->{DF}{postscript}, $locale->text('Postscript')) : undef, + (!$options->{no_html}) ? + opthash("html", $form->{DF}{html}, "HTML") : undef, + ($opendocument_templates && !$options->{no_opendocument}) ? opthash("opendocument", $form->{DF}{opendocument}, $locale->text("OpenDocument/OASIS")) : undef; push @LANGUAGE_ID, @@ -1395,16 +1401,21 @@ sub print_options { @SELECTS = map { sname => lc $_, DATA => \@$_, show => scalar @$_ }, qw(FORMNAME LANGUAGE_ID FORMAT SENDMODE MEDIA PRINTER_ID); + my %dont_display_groupitems = ( + 'dunning' => 1, + ); + %template_vars = ( display_copies => scalar @{ $form->{printers} } && $latex_templates && $form->{media} ne 'email', display_remove_draft => (!$form->{id} && $form->{draft_id}), + display_groupitems => !$dont_display_groupitems{$form->{type}}, groupitems_checked => $form->{groupitems} ? "checked" : '', remove_draft_checked => $form->{remove_draft} ? "checked" : '' ); my $print_options = $form->parse_html_template("generic/print_options", { SELECTS => \@SELECTS, %template_vars } ); - if ($inline) { + if ($options->{inline}) { $lxdebug->leave_sub() and return $print_options; } else { print $print_options; $lxdebug->leave_sub(); @@ -1414,6 +1425,12 @@ sub print_options { sub print { $lxdebug->enter_sub(); + if ($form->{print_nextsub}) { + call_sub($form->{print_nextsub}); + $lxdebug->leave_sub(); + return; + } + # if this goes to the printer pass through if ($form->{media} eq 'printer' || $form->{media} eq 'queue') { $form->error($locale->text('Select postscript or PDF!'))