X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=6fc89608e494c49e2e2ebb5d1618a20a8ace596b;hb=644c68bae03521cec693800af0a19b9ab4e0ed9c;hp=56cdd2f848bae9c503e01070de46f2de789008e1;hpb=d946f59b7c4c8069ecb83834ed34251056155e53;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 56cdd2f84..6fc89608e 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -1474,233 +1474,109 @@ sub send_email { $lxdebug->leave_sub(); } +# generate the printing options displayed at the bottom of oe and is forms. +# this function will attempt to guess what type of form is displayed, and will generate according options +# +# about the coding: +# this version builds the arrays of options pretty directly. if you have trouble understanding how, +# the opthash function builds hashrefs which are then pieced together for the template arrays. +# unneeded options are "undef"ed out, and then grepped out. +# +# the inline options is untested, but intended to be used later in metatemplating sub print_options { - $lxdebug->enter_sub(); - $form->{sendmode} = "attachment"; + $lxdebug->enter_sub() and my ($inline) = @_; - $form->{"format"} = - $form->{"format"} ? $form->{"format"} : - $myconfig{"template_format"} ? $myconfig{"template_format"} : - "pdf"; + # names 3 parameters and returns a hashref, for use in templates + sub opthash { +{ value => shift, selected => shift, oname => shift } } + (@FORMNAME, @FORMNAME, @LANGUAGE_ID, @FORMAT, @SENDMODE, @MEDIA, @PRINTER_ID, @SELECTS) = (); - $form->{"copies"} = - $form->{"copies"} ? $form->{"copies"} : - $myconfig{"copies"} ? $myconfig{"copies"} : - 3; - - $form->{"media"} = - $form->{"media"} ? $form->{"media"} : - $myconfig{"default_media"} ? $myconfig{"default_media"} : - "screen"; - - $form->{"printer_id"} = - defined($form->{"printer_id"}) ? $form->{"printer_id"} : - $myconfig{"default_printer_id"} ? $myconfig{"default_printer_id"} : - ""; + # note: "||"-selection is only correct for values where "0" is _not_ a correct entry + $form->{sendmode} = "attachment"; + $form->{format} = $form->{format} || $myconfig{template_format} || "pdf"; + $form->{copies} = $form->{copies} || $myconfig{copies} || 3; + $form->{media} = $form->{media} || $myconfig{default_media} || "screen"; + $form->{printer_id} = $form->{printer_id} || $myconfig{default_printer_id} || ""; $form->{PD}{ $form->{formname} } = "selected"; $form->{DF}{ $form->{format} } = "selected"; $form->{OP}{ $form->{media} } = "selected"; - $form->{SM}{ $form->{sendmode} } = "selected"; - - if ($form->{type} eq 'purchase_order') { - $type = qq| - |; - } - - if ($latex_templates) { - $format .= qq||; - } - - $format .= qq||; - - if ($latex_templates) { - $format .= qq||; - } - - if ($opendocument_templates) { - $format .= qq||; - } - $format .= qq||; - - if (scalar(keys (%{ $form->{languages} })) !=0) { - $language_select = qq| - |; - foreach $item (@{ $form->{printers} }) { - $selected = $item->{"id"} == $form->{"printer_id"} ? "selected" : ""; - $printer_select .= qq||; - } - } - - - - print qq| - - - - - -
- - - |; - if (scalar(keys (%{ $form->{languages} })) !=0) { - print qq| - |; - } - print qq| - - |; - if (scalar(keys (%{ $form->{printers} })) !=0) { - print qq| - -|; - } - - if (scalar(keys (%{ $form->{printers} })) !=0 && $latex_templates && $form->{media} ne 'email') { - print qq| - -|; - } - - $form->{groupitems} = "checked" if $form->{groupitems}; - $form->{remove_draft} = "checked" if $form->{remove_draft}; - - print qq| - - |; - - print qq| - - | if (!$form->{id} && $form->{draft_id}); - print qq| - -
$type${language_select}$format$media$printer_select| . $locale->text('Copies') . qq| - {copies}>| . $locale->text('Group Items') . qq|{groupitems}>| . $locale->text('Remove Draft') . qq|{remove_draft}>
-
- - -|; - - if ($form->{printed} =~ /$form->{formname}/) { - print qq| - -|; - } - - if ($form->{emailed} =~ /$form->{formname}/) { - print qq| - -|; - } - - if ($form->{queued} =~ /$form->{formname}/) { - print qq| - -|; + print $print_options; $lxdebug->leave_sub(); } - - print qq| - -
\|| . $locale->text('Printed') . qq|\|\|| . $locale->text('E-mailed') . qq|\|\|| . $locale->text('Queued') . qq|\|
-
-|; - - $lxdebug->leave_sub(); } sub print { @@ -1894,6 +1770,7 @@ sub print_form { $language_saved = $form->{language_id}; $payment_id_saved = $form->{payment_id}; + $salesman_id_saved = $form->{salesman_id}; &{"$form->{vc}_details"}(); @@ -1923,6 +1800,8 @@ sub print_form { IS->invoice_details(\%myconfig, \%$form, $locale); } + $form->get_salesman(\%myconfig, $salesman_id_saved); + if ($form->{shipto_id}) { $form->get_shipto(\%myconfig); }