X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=6fc89608e494c49e2e2ebb5d1618a20a8ace596b;hb=644c68bae03521cec693800af0a19b9ab4e0ed9c;hp=a8a056fa43d4390cf04195b3d4009605502c596f;hpb=340f8780002037e8f75e32be8ea440f83082f619;p=kivitendo-erp.git
diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl
index a8a056fa4..6fc89608e 100644
--- a/bin/mozilla/io.pl
+++ b/bin/mozilla/io.pl
@@ -134,7 +134,7 @@ sub display_row {
my $colspan = $#column_index + 1;
$form->{invsubtotal} = 0;
- map { $form->{"${_}_base"} = 0 } (split / /, $form->{taxaccounts});
+ map { $form->{"${_}_base"} = 0 } (split(/ /, $form->{taxaccounts}));
########################################
# Eintrag fuer Version 2.2.0 geaendert #
@@ -242,6 +242,13 @@ sub display_row {
$delvar = 'reqdate';
}
+ my %projectnumber_labels = ();
+ my @projectnumber_values = ("");
+ foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
+ push(@projectnumber_values, $item->{"id"});
+ $projectnumber_labels{$item->{"id"}} = $item->{"projectnumber"};
+ }
+
for $i (1 .. $numrows) {
# undo formatting
@@ -348,11 +355,10 @@ sub display_row {
}
$column_data{"unit"} = "
" .
- ($qty_readonly ? " " :
AM->unit_select_html($is_part ? $dimension_units :
$is_assigned ? $service_units : $all_units,
"unit_$i", $this_unit,
- $is_assigned ? $form->{"unit_$i"} : undef))
+ $is_assigned ? $form->{"unit_$i"} : undef)
. " | ";
# build in drop down list for pricesgroups
@@ -486,11 +492,12 @@ sub display_row {
$serialnumber |;
}
- print qq|
- $projectnumber
-
-
-|;
+ print qq|$projectnumber | .
+ NTI($cgi->popup_menu('-name' => "project_id_$i",
+ '-values' => \@projectnumber_values,
+ '-labels' => \%projectnumber_labels,
+ '-default' => $form->{"project_id_$i"}));
+
if ($form->{type} eq 'invoice' or $form->{type} =~ /order/) {
my $reqdate_term =
($form->{type} eq 'invoice')
@@ -511,7 +518,7 @@ sub display_row {
############## ENDE Neueintrag ##################
map { $form->{"${_}_base"} += $linetotal }
- (split / /, $form->{"taxaccounts_$i"});
+ (split(/ /, $form->{"taxaccounts_$i"}));
$form->{invsubtotal} += $linetotal;
}
@@ -667,9 +674,10 @@ sub select_item {
-
+
+
{id}>
@@ -732,7 +740,9 @@ sub item_selected {
$sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"});
map { $form->{"${_}_$i"} = $form->{"new_${_}_$j"} }
- qw(id partnumber description sellprice listprice inventory_accno income_accno expense_accno bin unit weight assembly taxaccounts partsgroup formel longdescription not_discountable);
+ qw(id partnumber description sellprice listprice inventory_accno
+ income_accno expense_accno bin unit weight assembly taxaccounts
+ partsgroup formel longdescription not_discountable partnotes);
if ($form->{"part_payment_id_$i"} ne "") {
$form->{payment_id} = $form->{"part_payment_id_$i"};
}
@@ -878,6 +888,9 @@ sub display_form {
relink_accounts();
+ my $new_rowcount = $form->{"rowcount"} * 1 + 1;
+ $form->{"project_id_${new_rowcount}"} = $form->{"globalproject_id"};
+
$form->language_payment(\%myconfig);
# if we have a display_form
@@ -886,6 +899,8 @@ sub display_form {
exit;
}
+ Common::webdav_folder($form) if ($webdav);
+
# if ( $form->{print_and_post}
# && $form->{second_run}
# && ($form->{action} eq "display_form")) {
@@ -1112,12 +1127,12 @@ sub invoicetotal {
$amount = $sellprice * (1 - $discount / 100) * $qty;
map { $form->{"${_}_base"} += $amount }
- (split / /, $form->{"taxaccounts_$i"});
+ (split (/ /, $form->{"taxaccounts_$i"}));
$form->{oldinvtotal} += $amount;
}
map { $form->{oldinvtotal} += ($form->{"${_}_base"} * $form->{"${_}_rate"}) }
- split / /, $form->{taxaccounts}
+ split(/ /, $form->{taxaccounts})
if !$form->{taxincluded};
$form->{oldtotalpaid} = 0;
@@ -1177,6 +1192,10 @@ sub order {
$form->{cp_id} *= 1;
require "$form->{path}/$form->{script}";
+ my $script = $form->{"script"};
+ $script =~ s|.*/||;
+ $script =~ s|.pl$||;
+ $locale = new Locale($language, $script);
map { $form->{"select$_"} = "" } ($form->{vc}, currency);
@@ -1272,7 +1291,7 @@ sub request_for_quotation {
quotation();
}
-sub e_mail {
+sub edit_e_mail {
$lxdebug->enter_sub();
if ($form->{second_run}) {
$form->{print_and_post} = 0;
@@ -1322,7 +1341,7 @@ sub e_mail {
my $attachment_filename = $formname_translations{$form->{"formname"}};
my $prefix;
- if ($form->{"type"} =~ /invoice/) {
+ if (grep({ $form->{"type"} eq $_ } qw(invoice credit_note))) {
$prefix = "inv";
} elsif ($form->{"type"} =~ /_quotation$/) {
$prefix = "quo";
@@ -1455,241 +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";
-
- $form->{"format"} =
- $form->{"format"} ? $form->{"format"} :
- $myconfig{"template_format"} ? $myconfig{"template_format"} :
- "pdf";
+ $lxdebug->enter_sub() and my ($inline) = @_;
- $form->{"copies"} =
- $form->{"copies"} ? $form->{"copies"} :
- $myconfig{"copies"} ? $myconfig{"copies"} :
- 3;
+ # 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->{"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|