X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=f095c5f8aeb4afb26706aa8289053b7a0a8d6c18;hb=4a19c3d4287ccc276008fd78e63db25930d68f41;hp=39b99584080561a5a239f9e5aca6915530be75a0;hpb=609065d23ee1ba529ba0ebfb5a2146b79775e9ea;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 39b995840..f095c5f8a 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -38,6 +38,7 @@ use SL::IR; use SL::IS; use SL::PE; use SL::ReportGenerator; +use List::Util qw(max); require "bin/mozilla/io.pl"; require "bin/mozilla/arap.pl"; @@ -324,25 +325,16 @@ sub prepare_order { sub form_header { $lxdebug->enter_sub(); - my $checkedclosed = $form->{"closed"} ? "checked" : ""; + my $checkedclosed = $form->{"closed"} ? "checked" : ""; my $checkeddelivered = $form->{"delivered"} ? "checked" : ""; - if ($form->{old_employee_id}) { - $form->{employee_id} = $form->{old_employee_id}; - } - if ($form->{old_salesman_id}) { - $form->{salesman_id} = $form->{old_salesman_id}; - } + $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; + $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); - - if ($form->{old_employee_id}) { - $form->{employee_id} = $form->{old_employee_id}; - } - if ($form->{old_salesman_id}) { - $form->{salesman_id} = $form->{old_salesman_id}; - } + $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; + $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; map { $form->{$_} =~ s/\"/"/g } qw(ordnumber quonumber shippingpoint shipvia notes intnotes shiptoname @@ -365,39 +357,32 @@ sub form_header { |; #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", - "reqdate", "BL", "trigger2"); + $jsscript = Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", "reqdate", "BL", "trigger2"); my @tmp; if (($form->{"type"} eq "sales_order") || ($form->{"type"} eq "purchase_order")) { - push(@tmp, qq| - - |); + push(@tmp, qq| + |); } if ($form->{id}) { - push(@tmp, qq| - - |); + push(@tmp, qq| + |); } if (@tmp) { - $openclosed .= qq| - - | . join("\n", @tmp) . qq| - - -|; + $openclosed .= qq| + | . join("\n", @tmp) . qq| + + \n|; } # set option selected foreach $item ($form->{vc}, currency, department, ($form->{vc} eq "customer" ? customer : vendor)) { $form->{"select$item"} =~ s/ selected//; - $form->{"select$item"} =~ - s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; + $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } #quote select[customer|vendor] Bug 133 @@ -411,24 +396,26 @@ sub form_header { if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"})); my $vc = $form->{vc} eq "customer" ? "customers" : "vendors"; - $form->get_lists("contacts" => "ALL_CONTACTS", - "shipto" => "ALL_SHIPTO", - "projects" => { "key" => "ALL_PROJECTS", - "all" => 0, - "old_id" => \@old_project_ids }, - "employees" => "ALL_EMPLOYEES", - "salesmen" => "ALL_SALESMEN", - "taxzones" => "ALL_TAXZONES", - "payments" => "ALL_PAYMENTS", - "currencies" => "ALL_CURRENCIES", - $vc => "ALL_" . uc($vc)); + $form->get_lists("contacts" => "ALL_CONTACTS", + "shipto" => "ALL_SHIPTO", + "projects" => { + "key" => "ALL_PROJECTS", + "all" => 0, + "old_id" => \@old_project_ids + }, + "employees" => "ALL_EMPLOYEES", + "salesmen" => "ALL_SALESMEN", + "taxzones" => "ALL_TAXZONES", + "payments" => "ALL_PAYMENTS", + "currencies" => "ALL_CURRENCIES", + $vc => "ALL_" . uc($vc), + "price_factors" => "ALL_PRICE_FACTORS"); my %labels; my @values = (undef); foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { push(@values, $item->{"cp_id"}); - $labels{$item->{"cp_id"}} = $item->{"cp_name"} . - ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); + $labels{$item->{"cp_id"}} = $item->{"cp_name"} . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); } my $contact; @@ -504,10 +491,9 @@ sub form_header { push(@values, $item->{"id"}); $labels{$item->{"id"}} = $item->{"projectnumber"}; } - my $globalprojectnumber = - NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, - '-labels' => \%labels, - '-default' => $form->{"globalproject_id"})); + my $globalprojectnumber = NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, + '-labels' => \%labels, + '-default' => $form->{"globalproject_id"})); my $salesmen = ""; %labels = (); @@ -580,40 +566,26 @@ sub form_header { |; } - $form->{exchangerate} = - $form->format_amount(\%myconfig, $form->{exchangerate}); - - if (!$form->{exchangerate}) { - $form->{exchangerate} = ""; - } + $form->{exchangerate} = $form->format_amount(\%myconfig, $form->{exchangerate}); + $form->{exchangerate} = "" unless $form->{exchangerate}; - if (($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}) { - $creditwarning = 1; - } else { - $creditwarning = 0; - } + $creditwarning = (($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}) ? 1 : 0; - $form->{creditlimit} = - $form->format_amount(\%myconfig, $form->{creditlimit}, 0, "0"); - $form->{creditremaining} = - $form->format_amount(\%myconfig, $form->{creditremaining}, 0, "0"); + $form->{creditlimit} = $form->format_amount(\%myconfig, $form->{creditlimit}, 0, "0"); + $form->{creditremaining} = $form->format_amount(\%myconfig, $form->{creditremaining}, 0, "0"); - $exchangerate = qq| -{forex}> -|; + $exchangerate = qq|\n{forex}>\n|; if ($form->{currency} ne $form->{defaultcurrency}) { if ($form->{forex}) { $exchangerate .= - qq|| - . $locale->text('Exchangerate') + qq|| . $locale->text('Exchangerate') . qq|$form->{exchangerate} {exchangerate}> |; } else { $exchangerate .= - qq|| - . $locale->text('Exchangerate') + qq|| . $locale->text('Exchangerate') . qq|{exchangerate}>|; } } @@ -681,10 +653,7 @@ sub form_header { |; } else { - $reqlabel = - ($form->{type} eq 'sales_quotation') - ? $locale->text('Valid until') - : $locale->text('Required by'); + $reqlabel = ($form->{type} eq 'sales_quotation') ? $locale->text('Valid until') : $locale->text('Required by'); if ($form->{type} eq 'sales_quotation') { $ordnumber = qq| @@ -705,20 +674,9 @@ sub form_header { } - $ordnumber .= qq| - - | . $locale->text('Quotation Date') . qq| - $button1 - - - $reqlabel - $button2 - -|; - $creditremaining = qq| - - $shipto - |; + $ordnumber .= qq| | . $locale->text('Quotation Date') . qq| $button1 + $reqlabel $button2 \n|; + $creditremaining = qq| $shipto |; } $department = qq| @@ -730,35 +688,23 @@ sub form_header { | if $form->{selectdepartment}; if ($form->{type} eq 'sales_order') { - if ($form->{selectemployee}) { - $employee .= qq| - |; - } + $employee .= qq|\n| if $form->{selectemployee}; } else { - $employee .= qq| - |; - } - if ($form->{resubmit} && ($form->{format} eq "html")) { - $onload = - qq|window.open('about:blank','Beleg'); document.oe.target = 'Beleg';document.oe.submit()|; - } elsif ($form->{resubmit}) { - $onload = qq|document.oe.submit()|; - } else { - $onload = "focus()"; + $employee .= qq|\n|; } $credittext = $locale->text('Credit Limit exceeded!!!'); - if ($creditwarning) { - $onload = qq|alert('$credittext')|; - } - + + $onload = ($form->{resubmit} && ($form->{format} eq "html")) ? "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';document.oe.submit()" + : ($form->{resubmit}) ? "document.oe.submit()" + : ($creditwarning) ? "alert('$credittext')" + : "focus()"; + $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; - $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; + $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; - $form->{"javascript"} .= qq||; - # show history button js + $form->{javascript} .= qq||; $form->{javascript} .= qq||; - #/show history button js $form->{javascript} .= qq||; $form->header; @@ -776,8 +722,11 @@ sub form_header { $form->hide_form(qw(id action type vc formname media format proforma queued printed emailed title discount creditlimit creditremaining tradediscount business - max_dunning_level dunning_amount)); - + max_dunning_level dunning_amount shiptoname shiptostreet shiptozipcode + shiptocity shiptocountry shiptocontact shiptophone shiptofax + shiptodepartment_1 shiptodepartment_2 shiptoemail + message email subject cc bcc taxpart taxservice taxaccounts), + map { $_.'_rate', $_.'_description' } split / /, $form->{taxaccounts} ); print qq| @@ -856,39 +805,8 @@ print qq|
$jsscript - - - - - - - - - - - - - - - - - - - - - - - - - |; - foreach $item (split / /, $form->{taxaccounts}) { - print qq| -{"${item}_rate"}> - -|; - } $lxdebug->leave_sub(); } @@ -1012,6 +930,10 @@ sub form_footer { +|; + + if ($form->{type} =~ /^sales_/) { + print qq| @@ -1020,6 +942,10 @@ sub form_footer { +|; + } + + print qq|
| . $locale->text('Ertrag') . qq| | . $form->format_amount(\%myconfig, $form->{marge_total}, 2, 0) . qq|| . $locale->text('Ertrag prozentual') . qq| | . $form->format_amount(\%myconfig, $form->{marge_percent}, 2, 0) . qq| %
@@ -1056,11 +982,11 @@ sub form_footer { Dateiname Webdavlink |; - foreach $file (keys %{ $form->{WEBDAV} }) { + foreach $file (@{ $form->{WEBDAV} }) { $webdav_list .= qq| - $file - $form->{WEBDAV}{$file} + $file->{name} + $file->{type} |; } @@ -1124,12 +1050,10 @@ sub form_footer { |; } - if (1) { print qq| |; -} if ($form->{type} =~ /sales_order$/) { print qq| @@ -1182,34 +1106,24 @@ sub update { set_headings($form->{"id"} ? "edit" : "add"); - map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } - qw(exchangerate creditlimit creditremaining); + map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); $form->{update} = 1; - if($form->{payment_id}) { - $payment_id = $form->{payment_id}; - } + $payment_id = $form->{payment_id} if $form->{payment_id}; &check_name($form->{vc}); - if($form->{payment_id} eq "") { - $form->{payment_id} = $payment_id; - } + $form->{payment_id} = $payment_id if $form->{payment_id} eq ""; $buysell = 'buy'; $buysell = 'sell' if ($form->{vc} eq 'vendor'); - $form->{exchangerate} = $exchangerate - if ( - $form->{forex} = ( - $exchangerate = - $form->check_exchangerate( - \%myconfig, $form->{currency}, $form->{transdate}, $buysell - ))); + $form->{exchangerate} = $exchangerate if + $form->{forex} = $exchangerate = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{transdate}, $buysell); # for pricegroups $i = $form->{rowcount}; - $exchangerate = ($form->{exchangerate}) ? $form->{exchangerate} : 1; + $exchangerate = $form->{exchangerate} || 1; if ( ($form->{"partnumber_$i"} eq "") && ($form->{"description_$i"} eq "") @@ -1224,14 +1138,14 @@ sub update { || $form->{type} eq 'request_quotation') { IR->retrieve_item(\%myconfig, \%$form); } - if ($form->{type} eq 'sales_order' || $form->{type} eq 'sales_quotation') { + if ( $form->{type} eq 'sales_order' + || $form->{type} eq 'sales_quotation') { IS->retrieve_item(\%myconfig, \%$form); } my $rows = scalar @{ $form->{item_list} }; - $form->{"discount_$i"} = - $form->format_amount(\%myconfig, $form->{discount} * 100); + $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{discount} * 100); if ($rows) { $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"}); @@ -1243,51 +1157,33 @@ sub update { } else { - $sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"}); - if ($form->{"not_discountable_$i"}) { - $form->{"discount_$i"} = 0; - } - map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } - qw(partnumber description unit); - map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } - keys %{ $form->{item_list}[0] }; - if ($form->{"part_payment_id_$i"} ne "") { - $form->{payment_id} = $form->{"part_payment_id_$i"}; - } + $sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"}); + $form->{"discount_$i"} = 0 if $form->{"not_discountable_$i"}; + map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit); + map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } keys %{ $form->{item_list}[0] }; + $form->{payment_id} = $form->{"part_payment_id_$i"} if $form->{"part_payment_id_$i"} ne ""; - $s = ($sellprice) ? $sellprice : $form->{"sellprice_$i"}; + $form->{"marge_price_factor_$i"} = $form->{item_list}->[0]->{price_factor}; - ($dec) = ($s =~ /\.(\d+)/); - $dec = length $dec; - $decimalplaces = ($dec > 2) ? $dec : 2; + ($sellprice || $form->{"sellprice_$i"}) =~ /\.(\d+)/; + $decimalplaces = max 2, length $1; if ($sellprice) { $form->{"sellprice_$i"} = $sellprice; } else { - $form->{"sellprice_$i"} *= (1 - $form->{tradediscount}); - - # if there is an exchange rate adjust sellprice - $form->{"sellprice_$i"} /= $exchangerate; + $form->{"sellprice_$i"} /= $exchangerate; # if there is an exchange rate adjust sellprice } - $amount = - $form->{"sellprice_$i"} * $form->{"qty_$i"} * - (1 - $form->{"discount_$i"} / 100); - map { $form->{"${_}_base"} = 0 } (split / /, $form->{taxaccounts}); - map { $form->{"${_}_base"} += $amount } - (split / /, $form->{"taxaccounts_$i"}); - map { $amount += ($form->{"${_}_base"} * $form->{"${_}_rate"}) } - split / /, $form->{taxaccounts} - if !$form->{taxincluded}; + $amount = $form->{"sellprice_$i"} * $form->{"qty_$i"} * (1 - $form->{"discount_$i"} / 100); + map { $form->{"${_}_base"} = 0 } split / /, $form->{taxaccounts}; + map { $form->{"${_}_base"} += $amount } split / /, $form->{"taxaccounts_$i"}; + map { $amount += ($form->{"${_}_base"} * $form->{"${_}_rate"}) } split / /, $form->{taxaccounts} if !$form->{taxincluded}; $form->{creditremaining} -= $amount; - $form->{"sellprice_$i"} = - $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, - $decimalplaces); - $form->{"qty_$i"} = - $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty); + $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces); + $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty); # get pricegroups for parts IS->get_pricegroups_for_parts(\%myconfig, \%$form); @@ -1308,14 +1204,11 @@ sub update { && ($form->{"description_$i"} eq "")) { $form->{rowcount}--; $form->{"discount_$i"} = ""; - &display_form; - } else { + display_form(); + } else { $form->{"id_$i"} = 0; - $form->{"unit_$i"} = $locale->text('ea'); - - &new_item; - + new_item(); } } } @@ -1414,10 +1307,12 @@ sub search { my $vc = $form->{vc} eq "customer" ? "customers" : "vendors"; - $form->get_lists("projects" => { "key" => "ALL_PROJECTS", - "all" => 1 }, + $form->get_lists("projects" => { "key" => "ALL_PROJECTS", + "all" => 1 }, "employees" => "ALL_EMPLOYEES", - $vc => "ALL_" . uc($vc)); + "salesmen" => "ALL_SALESMEN", + $vc => "ALL_" . uc($vc) + ); my %labels = (); my @values = (""); @@ -1436,6 +1331,14 @@ sub search { push(@values, $item->{"id"}); $labels{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"}; } + + #salesmen + my %labels_salesmen = (); + my @values_salesmen = (''); + foreach my $item (@{ $form->{"ALL_SALESMEN"} }) { + push(@values_salesmen, $item->{"id"}); + $labels_salesmen{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"}; + } my $employee_block = qq| @@ -1445,6 +1348,14 @@ sub search { '-values' => \@values, '-labels' => \%labels)) . qq| + + + | . $locale->text('Salesman') . qq| + | . + NTI($cgi->popup_menu('-name' => 'salesman_id', + '-values' => \@values_salesmen, + '-labels' => \%labels_salesmen)) . qq| + |; %labels = (); @@ -1527,9 +1438,9 @@ sub search { $vc_label $employee + | . $locale->text('Ship via') . qq| - $employee | @@ -1554,6 +1465,8 @@ sub search { | . $locale->text('Subtotal') . qq| + | + . $locale->text('Salesman') . qq| @@ -1621,6 +1534,7 @@ sub orders { "name", "netamount", "tax", "amount", "curr", "employee", + "salesman", "shipvia", "globalprojectnumber", "transaction_description", "open", "delivered", "marge_total", "marge_percent" @@ -1659,7 +1573,7 @@ sub orders { my @hidden_variables = map { "l_${_}" } @columns; push @hidden_variables, "l_subtotal", $form->{vc}, qw(l_closed l_notdelivered open closed delivered notdelivered ordnumber quonumber - transaction_description transdatefrom transdateto type vc employee_id); + transaction_description transdatefrom transdateto type vc employee_id salesman_id); my $href = build_std_url('action=orders', grep { $form->{$_} } @hidden_variables); @@ -1675,7 +1589,8 @@ sub orders { 'tax' => { 'text' => $locale->text('Tax'), }, 'amount' => { 'text' => $locale->text('Total'), }, 'curr' => { 'text' => $locale->text('Curr'), }, - 'employee' => { 'text' => $locale->text('Salesperson'), }, + 'employee' => { 'text' => $locale->text('Employee'), }, + 'salesman' => { 'text' => $locale->text('Salesman'), }, 'shipvia' => { 'text' => $locale->text('Ship via'), }, 'globalprojectnumber' => { 'text' => $locale->text('Project Number'), }, 'transaction_description' => { 'text' => $locale->text('Transaction description'), }, @@ -1685,7 +1600,7 @@ sub orders { 'marge_percent' => { 'text' => $locale->text('Ertrag prozentual'), } ); - foreach my $name (qw(id transdate reqdate quonumber ordnumber name employee shipvia)) { + foreach my $name (qw(id transdate reqdate quonumber ordnumber name employee salesman shipvia)) { $column_defs{$name}->{link} = $href . "&sort=$name"; } @@ -1756,7 +1671,7 @@ sub orders { # escape callback for href $callback = $form->escape($href); - my @subtotal_columns = qw(netamount amount marge_total); + my @subtotal_columns = qw(netamount amount marge_total marge_percent); my %totals = map { $_ => 0 } @subtotal_columns; my %subtotals = map { $_ => 0 } @subtotal_columns; @@ -1775,6 +1690,9 @@ sub orders { map { $subtotals{$_} += $oe->{$_}; $totals{$_} += $oe->{$_} } @subtotal_columns; + $subtotals{marge_percent} = $subtotals{netamount} ? ($subtotals{marge_total} * 100 / $subtotals{netamount}) : 0; + $totals{marge_percent} = $totals{netamount} ? ($totals{marge_total} * 100 / $totals{netamount} ) : 0; + map { $oe->{$_} = $form->format_amount(\%myconfig, $oe->{$_}, 2) } qw(netamount tax amount marge_total marge_percent); my $row = { }; @@ -2078,8 +1996,8 @@ sub delete { - + @@ -2132,23 +2050,19 @@ sub invoice { # also copy deliverydate from the order $form->{deliverydate} = $form->{reqdate} if $form->{reqdate}; - $form->{orddate} = $form->{transdate}; + $form->{orddate} = $form->{transdate}; } else { $form->isblank("quonumber", $locale->text('Quotation Number missing!')); $form->isblank("transdate", $locale->text('Quotation Date missing!')); - $form->{ordnumber} = ""; - $form->{quodate} = $form->{transdate}; + $form->{ordnumber} = ""; + $form->{quodate} = $form->{transdate}; } - if($form->{payment_id}) { - $payment_id = $form->{payment_id}; - } + $payment_id = $form->{payment_id} if $form->{payment_id}; # if the name changed get new values if (&check_name($form->{vc})) { - if($form->{payment_id} eq "") { - $form->{payment_id} = $payment_id; - } + $form->{payment_id} = $payment_id if $form->{payment_id} eq ""; &update; exit; } @@ -2156,10 +2070,9 @@ sub invoice { $form->{cp_id} *= 1; for $i (1 .. $form->{rowcount}) { - map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, - $form->{"${_}_${i}"}) - if ($form->{"${_}_${i}"}) } - qw(ship qty sellprice listprice basefactor)); + for (qw(ship qty sellprice listprice basefactor)) { + $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"}; + } } if ( $form->{type} =~ /_order/ @@ -2169,10 +2082,7 @@ sub invoice { $buysell = ($form->{type} eq 'sales_order') ? "buy" : "sell"; $orddate = $form->current_date(\%myconfig); - $exchangerate = - $form->check_exchangerate(\%myconfig, $form->{currency}, $orddate, - $buysell); - print(STDERR "CURRENCY $form->{currency} DEFAULT: $form->{defaultcurrency} EXCHANGE $exchangerate\n"); + $exchangerate = $form->check_exchangerate(\%myconfig, $form->{currency}, $orddate, $buysell); if (!$exchangerate) { &backorder_exchangerate($orddate, $buysell); @@ -2193,8 +2103,7 @@ sub invoice { } $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig); - $form->{duedate} = - $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1); + $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1); $form->{id} = ''; $form->{closed} = 0; @@ -2215,7 +2124,9 @@ sub invoice { $script = "ir"; $buysell = 'sell'; } - if ($form->{type} eq 'sales_order' || $form->{type} eq 'sales_quotation') { + + if ( $form->{type} eq 'sales_order' + || $form->{type} eq 'sales_quotation') { $form->{title} = $locale->text('Add Sales Invoice'); $form->{script} = 'is.pl'; $script = "is"; @@ -2223,8 +2134,7 @@ sub invoice { } # bo creates the id, reset it - map { delete $form->{$_} } - qw(id subject message cc bcc printed emailed queued); + map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued); $form->{ $form->{vc} } =~ s/--.*//g; $form->{type} = "invoice"; @@ -2602,18 +2512,16 @@ sub e_mail { $form->{print_and_save} = 1; - if (!$form->{id}) { - $print_post = 1; + $print_post = 1; - my $saved_form = save_form(); + my $saved_form = save_form(); - save(); + save(); - my %saved_vars; - map({ $saved_vars{$_} = $form->{$_}; } qw(id ordnumber quonumber)); - restore_form($saved_form); - map({ $form->{$_} = $saved_vars{$_}; } qw(id ordnumber quonumber)); - } + my %saved_vars; + map({ $saved_vars{$_} = $form->{$_}; } qw(id ordnumber quonumber)); + restore_form($saved_form); + map({ $form->{$_} = $saved_vars{$_}; } qw(id ordnumber quonumber)); edit_e_mail();