X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/67b5f446d987bcd0c6ca02036fbf80f18b704436..52983c089cf1b4f1a4451e57ffa76f846c4791ba:/bin/mozilla/oe.pl diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index db6a934db..5cc5418d6 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 @@ -429,8 +414,7 @@ sub form_header { 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; @@ -506,10 +490,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 = (); @@ -582,40 +565,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}>|; } } @@ -683,10 +652,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| @@ -707,20 +673,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| @@ -732,35 +687,23 @@ sub form_header { | if $form->{selectdepartment}; if ($form->{type} eq 'sales_order') { - if ($form->{selectemployee}) { - $employee .= qq| - |; - } - } 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()|; + $employee .= qq|\n| if $form->{selectemployee}; } 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; @@ -778,8 +721,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| @@ -858,39 +804,8 @@ print qq|
$jsscript - - - - - - - - - - - - - - - - - - - - - - - - - |; - foreach $item (split / /, $form->{taxaccounts}) { - print qq| -{"${item}_rate"}> - -|; - } $lxdebug->leave_sub(); } @@ -1190,34 +1105,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 "") @@ -1232,14 +1137,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"}); @@ -1251,51 +1156,31 @@ 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"}; - } - - $s = ($sellprice) ? $sellprice : $form->{"sellprice_$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 ""; - ($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);