use SL::IS;
use SL::PE;
use SL::ReportGenerator;
+use List::Util qw(max);
require "bin/mozilla/io.pl";
require "bin/mozilla/arap.pl";
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
|;
#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|
- <input name="delivered" id="delivered" type="checkbox" class="checkbox" value="1" $checkeddelivered>
- <label for="delivered">| . $locale->text('Delivered') . qq|</label>|);
+ push(@tmp, qq|<input name="delivered" id="delivered" type="checkbox" class="checkbox" value="1" $checkeddelivered>
+ <label for="delivered">| . $locale->text('Delivered') . qq|</label>|);
}
if ($form->{id}) {
- push(@tmp, qq|
- <input name="closed" id="closed" type="checkbox" class="checkbox" value="1" $checkedclosed>
- <label for="closed">| . $locale->text('Closed') . qq|</label>|);
+ push(@tmp, qq|<input name="closed" id="closed" type="checkbox" class="checkbox" value="1" $checkedclosed>
+ <label for="closed">| . $locale->text('Closed') . qq|</label>|);
}
if (@tmp) {
- $openclosed .= qq|
- <tr>
- <td colspan=| . (2 * scalar(@tmp)) . qq| align=center>| . join("\n", @tmp) . qq|
- </td>
- </tr>
-|;
+ $openclosed .= qq|<tr>
+ <td colspan=| . (2 * scalar(@tmp)) . qq| align=center>| . join("\n", @tmp) . qq|
+ </td>
+ </tr>\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
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;
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 = ();
</tr>|;
}
- $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|
-<input type=hidden name=forex value=$form->{forex}>
-|;
+ $exchangerate = qq|\n<input type=hidden name=forex value=$form->{forex}>\n|;
if ($form->{currency} ne $form->{defaultcurrency}) {
if ($form->{forex}) {
$exchangerate .=
- qq|<th align=right>|
- . $locale->text('Exchangerate')
+ qq|<th align=right>| . $locale->text('Exchangerate')
. qq|</th><td>$form->{exchangerate}</td>
<input type=hidden name=exchangerate value=$form->{exchangerate}>
|;
} else {
$exchangerate .=
- qq|<th align=right>|
- . $locale->text('Exchangerate')
+ qq|<th align=right>| . $locale->text('Exchangerate')
. qq|</th><td><input name=exchangerate size=10 value=$form->{exchangerate}></td>|;
}
}
</tr>
|;
} 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|
<tr>
}
- $ordnumber .= qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Quotation Date') . qq|</th>
- $button1
- </tr>
- <tr>
- <th align=right nowrap=true>$reqlabel</th>
- $button2
- </tr>
-|;
- $creditremaining = qq| <tr>
- <td colspan=4></td>
- $shipto
- </tr>|;
+ $ordnumber .= qq| <tr> <th align=right nowrap>| . $locale->text('Quotation Date') . qq|</th> $button1 </tr>
+ <tr> <th align=right nowrap=true>$reqlabel</th> $button2 </tr>\n|;
+ $creditremaining = qq| <tr> <td colspan=4></td> $shipto </tr>|;
}
$department = qq|
</tr> | if $form->{selectdepartment};
if ($form->{type} eq 'sales_order') {
- if ($form->{selectemployee}) {
- $employee .= qq|
- <input type="hidden" name="customer_klass" value="$form->{customer_klass}">|;
- }
+ $employee .= qq|\n<input type="hidden" name="customer_klass" value="$form->{customer_klass}">| if $form->{selectemployee};
} else {
- $employee .= qq|
- <input type="hidden" name="customer_klass" value="$form->{customer_klass}">|;
- }
- 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<input type="hidden" name="customer_klass" value="$form->{customer_klass}">|;
}
$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|<script type="text/javascript" src="js/show_form_details.js"></script>|;
- # show history button js
+ $form->{javascript} .= qq|<script type="text/javascript" src="js/show_form_details.js"></script>|;
$form->{javascript} .= qq|<script type="text/javascript" src="js/show_history.js"></script>|;
- #/show history button js
$form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
$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|
<table width=100%>
$jsscript
-<!-- shipto are in hidden variables -->
-
-<input type=hidden name=shiptoname value="$form->{shiptoname}">
-<input type=hidden name=shiptostreet value="$form->{shiptostreet}">
-<input type=hidden name=shiptozipcode value="$form->{shiptozipcode}">
-<input type=hidden name=shiptocity value="$form->{shiptocity}">
-<input type=hidden name=shiptocountry value="$form->{shiptocountry}">
-<input type=hidden name=shiptocontact value="$form->{shiptocontact}">
-<input type=hidden name=shiptophone value="$form->{shiptophone}">
-<input type=hidden name=shiptofax value="$form->{shiptofax}">
-<input type=hidden name=shiptodepartment_1 value="$form->{shiptodepartment_1}">
-<input type=hidden name=shiptodepartment_2 value="$form->{shiptodepartment_2}">
-<input type=hidden name=shiptoemail value="$form->{shiptoemail}">
-
-<!-- email variables -->
-<input type=hidden name=message value="$form->{message}">
-<input type=hidden name=email value="$form->{email}">
-<input type=hidden name=subject value="$form->{subject}">
-<input type=hidden name=cc value="$form->{cc}">
-<input type=hidden name=bcc value="$form->{bcc}">
-
-<input type=hidden name=taxpart value="$form->{taxpart}">
-<input type=hidden name=taxservice value="$form->{taxservice}">
-
-<input type=hidden name=taxaccounts value="$form->{taxaccounts}">
|;
- foreach $item (split / /, $form->{taxaccounts}) {
- print qq|
-<input type=hidden name="${item}_rate" value=$form->{"${item}_rate"}>
-<input type=hidden name="${item}_description" value="$form->{"${item}_description"}">
-|;
- }
$lxdebug->leave_sub();
}
</td>
<td>
<table>
+|;
+
+ if ($form->{type} =~ /^sales_/) {
+ print qq|
<tr>
<th align=left>| . $locale->text('Ertrag') . qq|</th>
<td>| . $form->format_amount(\%myconfig, $form->{marge_total}, 2, 0) . qq|</td>
<th align=left>| . $locale->text('Ertrag prozentual') . qq|</th>
<td>| . $form->format_amount(\%myconfig, $form->{marge_percent}, 2, 0) . qq| %</td>
</tr>
+|;
+ }
+
+ print qq|
<input type=hidden name="marge_total" value="$form->{"marge_total"}">
<input type=hidden name="marge_percent" value="$form->{"marge_percent"}">
</table>
<td align=left width=30%><b>Dateiname</b></td>
<td align=left width=70%><b>Webdavlink</b></td>
|;
- foreach $file (keys %{ $form->{WEBDAV} }) {
+ foreach $file (@{ $form->{WEBDAV} }) {
$webdav_list .= qq|
<tr>
- <td align=left>$file</td>
- <td align=left><a href="$form->{WEBDAV}{$file}">$form->{WEBDAV}{$file}</a></td>
+ <td align="left">$file->{name}</td>
+ <td align="left"><a href="$file->{link}">$file->{type}</a></td>
</tr>
|;
}
<input class=submit type=submit name=action value="|
. $locale->text('Purchase Order') . qq|">|;
}
- if (1) {
print qq|
<input class=submit type=submit name=action value="|
. $locale->text('Invoice') . qq|">
|;
-}
if ($form->{type} =~ /sales_order$/) {
print qq|
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 "")
|| $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"});
} 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);
&& ($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();
}
}
}
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 = ("");
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|
<tr>
'-values' => \@values,
'-labels' => \%labels)) . qq|
</td>
+ </tr>
+ <tr>
+ <th align="right">| . $locale->text('Salesman') . qq|</th>
+ <td>| .
+ NTI($cgi->popup_menu('-name' => 'salesman_id',
+ '-values' => \@values_salesmen,
+ '-labels' => \%labels_salesmen)) . qq|
+ </td>
</tr>|;
%labels = ();
<tr>
<td><input name="l_name" class=checkbox type=checkbox value=Y checked> $vc_label</td>
<td><input name="l_employee" class=checkbox type=checkbox value=Y checked> $employee</td>
+
<td><input name="l_shipvia" class=checkbox type=checkbox value=Y> |
. $locale->text('Ship via') . qq|</td>
- <td><input name="l_employee" class=checkbox type=checkbox value=Y checked> $employee</td>
</tr>
<tr>
<td><input name="l_netamount" class=checkbox type=checkbox value=Y> |
<tr>
<td><input name="l_subtotal" class=checkbox type=checkbox value=Y> |
. $locale->text('Subtotal') . qq|</td>
+ <td><input name="l_salesman" class="checkbox" type="checkbox" value="Y"> |
+ . $locale->text('Salesman') . qq|</td>
</tr>
</table>
</td>
"name", "netamount",
"tax", "amount",
"curr", "employee",
+ "salesman",
"shipvia", "globalprojectnumber",
"transaction_description", "open",
"delivered", "marge_total", "marge_percent"
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);
'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'), },
'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";
}
# 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;
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 = { };
<input type="hidden" name="yes_nextsub" value="delete_order_quotation">
<input name=action class=submit type=submit value="|
. $locale->text('Yes') . qq|">
-<input name=action class=submit type=submit onclick="history.back()" value="|
- . $locale->text('No') . qq|">
+<button class=submit type=button onclick="history.back()">|
+ . $locale->text('No') . qq|</button>
</form>
</body>
# 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;
}
$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/
$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);
}
$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;
$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";
}
# 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";
$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();