X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=c9cb92e0a559d1f4aa85386c2f99f97a37f3d26b;hb=e6ef45f2d8a980a68bd54df8c2afce4e0203c289;hp=6c7cb6569dfeb6de5731215c107013d56fde25d5;hpb=01a6bf1b55f003fb6f15a70acf51d3e921af7244;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 6c7cb6569..c9cb92e0a 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -157,15 +157,13 @@ sub edit { sub order_links { $lxdebug->enter_sub(); - # get customer/vendor $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP"); # retrieve order/quotation - $form->{webdav} = $webdav; - # set jscalendar - $form->{jscalendar} = $jscalendar; + $form->{webdav} = $webdav; + $form->{jsscript} = 1; my $editing = $form->{id}; @@ -231,6 +229,7 @@ sub order_links { } $form->{cp_id} = $cp_id; + if ($payment_id) { $form->{payment_id} = $payment_id; } @@ -269,13 +268,6 @@ sub order_links { $form->{employee} = "$form->{employee}--$form->{employee_id}"; - # sales staff - if (@{ $form->{all_employees} }) { - $form->{selectemployee} = ""; - map { $form->{selectemployee} .= "\n" } - (@{ $form->{all_employees} }); - } - # forex $form->{forex} = $form->{exchangerate}; @@ -338,44 +330,24 @@ sub form_header { shiptophone shiptofax shiptodepartment_1 shiptodepartment_2); # use JavaScript Calendar or not - $form->{jsscript} = $form->{jscalendar}; + $form->{jsscript} = 1; $jsscript = ""; - $payment = qq||; - foreach $item (@{ $form->{payment_terms} }) { - if ($form->{payment_id} eq $item->{id}) { - $payment .= qq||; - } else { - $payment .= qq||; - } - } - if ($form->{jsscript}) { - - # with JavaScript Calendar - $button1 = qq| - - text('button') . qq|> - |; - $button2 = qq| - - text('button') . qq|> - |; - - #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", - "reqdate", "BL", "trigger2"); - - } else { - - # without JavaScript Calendar - $button1 = qq| - |; - $button2 = qq| - |; - } + $button1 = qq| + + text('button') . qq|> + |; + $button2 = qq| + + text('button') . qq|> + |; + + #write Trigger + $jsscript = + Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", + "reqdate", "BL", "trigger2"); my @tmp; @@ -402,7 +374,7 @@ sub form_header { } # set option selected - foreach $item ($form->{vc}, currency, department, employee) { + 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}/; @@ -418,14 +390,18 @@ sub form_header { map({ push(@old_project_ids, $form->{"project_id_$_"}) 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_SALESMEN", + "employees" => "ALL_EMPLOYEES", + "salesmen" => "ALL_SALESMEN", "taxzones" => "ALL_TAXZONES", - "currencies" => "ALL_CURRENCIES"); + "payments" => "ALL_PAYMENTS", + "currencies" => "ALL_CURRENCIES", + $vc => "ALL_" . uc($vc)); my %labels; my @values = (undef); @@ -434,24 +410,73 @@ sub form_header { $labels{$item->{"cp_id"}} = $item->{"cp_name"} . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); } - my $contact = - NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, - '-labels' => \%labels, '-default' => $form->{"cp_id"})); + + my $contact; + if (scalar @values > 1) { + $contact = qq| + + | . $locale->text('Contact Person') . qq| + | . + NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-style' => 'width: 250px', + '-labels' => \%labels, '-default' => $form->{"cp_id"})) + . qq| + + |; + } + + %labels = (); + @values = (); + + foreach my $item (@{ $form->{($form->{vc} eq "customer" ? "ALL_CUSTOMERS" : "ALL_VENDORS")}}) { + push(@values, $item->{"name"}.qq|--|.$item->{"id"}); + $labels{$item->{"name"}.qq|--|.$item->{"id"}} = $item->{name}; + } + + $vc = qq| + {vc}_id"}) . qq|"> + {vc}"}) . qq|"> + | . $locale->text(ucfirst($form->{vc})) . qq| + | . + (($myconfig{vclimit} <= scalar(@values)) + ? qq|{vc}"} =~ /^(.*)\-\-.*$/)) . qq|" name="$form->{vc}">| + : (NTI($cgi->popup_menu('-name' => "$form->{vc}", '-default' => $form->{"old$form->{vc}"}, + '-onChange' => 'document.getElementById(\'update_button\').click();', + '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq| + + {vc}"}) . qq|">|; + + %labels = (); + @values = (""); + foreach my $item (@{ $form->{"ALL_PAYMENTS"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = $item->{"description"}; + } + + $payments = qq| + | . $locale->text('Payment Terms') . qq| + | . + NTI($cgi->popup_menu('-name' => 'payment_id', '-values' => \@values, '-style' => 'width: 250px', + '-labels' => \%labels, '-default' => $form->{payment_id})) + . qq||; %labels = (); @values = (""); foreach my $item (@{ $form->{"ALL_SHIPTO"} }) { push(@values, $item->{"shipto_id"}); - $labels{$item->{"shipto_id"}} = - $item->{"shiptoname"} . " " . $item->{"shiptodepartment_1"}; + $labels{$item->{"shipto_id"}} = join "; ", grep { $_ } map { $item->{"shipto${_}" } } qw(name department_1 street city); } - my $shipto = qq| - | . $locale->text('Shipping Address') . qq| - | . - NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values, - '-labels' => \%labels, '-default' => $form->{"shipto_id"})) + my $shipto; + if (scalar @values > 1) { + $shipto = qq| + + | . $locale->text('Shipping Address') . qq| + | . + NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values, '-style' => 'width: 250px', + '-labels' => \%labels, '-default' => $form->{"shipto_id"})) . qq||; + } %labels = (); @values = (""); @@ -463,26 +488,40 @@ sub form_header { NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, '-labels' => \%labels, '-default' => $form->{"globalproject_id"})); - - $salesman = ""; + + my $salesmen = ""; + %labels = (); + @values = (); if ($form->{type} =~ /^sales_/) { - %labels = (); - @values = (""); - foreach my $item (@{ $form->{ALL_SALESMEN} }) { - push(@values, $item->{id}); - $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; + foreach my $item (@{ $form->{"ALL_SALESMEN"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = ($item->{"name"} ne "" ? $item->{"name"} : $item->{"login"}); } - - $salesman = + $salesmen = qq| | . $locale->text('Salesman') . qq| | . - NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id}, + NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{"salesman_id"} ? $form->{"salesman_id"} : $form->{"employee_id"}, '-values' => \@values, '-labels' => \%labels)) . qq| |; } + %labels = (); + @values = (); + foreach my $item (@{ $form->{"ALL_EMPLOYEES"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"}; + } + + my $employee = qq| + + | . $locale->text('Employee') . qq| + | . + NTI($cgi->popup_menu('-name' => 'employee_id', '-default' => $form->{"employee_id"}, + '-values' => \@values, '-labels' => \%labels)) . qq| + + |; %labels = (); @values = (); @@ -496,7 +535,7 @@ sub form_header { | . $locale->text('Steuersatz') . qq| | . NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, - '-values' => \@values, '-labels' => \%labels)) . qq| + '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')) . qq| |; @@ -507,9 +546,11 @@ sub form_header { push(@values, $item); $labels{$item} = $item; } - - $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; - my $currencies = qq| + + $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; + my $currencies; + if (scalar @values) { + $currencies = qq| | . $locale->text('Currency') . qq| | . @@ -517,7 +558,7 @@ sub form_header { '-values' => \@values, '-labels' => \%labels)) . qq| |; - + } $form->{exchangerate} = $form->format_amount(\%myconfig, $form->{exchangerate}); @@ -553,40 +594,28 @@ sub form_header { } } - $vclabel = ucfirst $form->{vc}; - $vclabel = $locale->text($vclabel); - - - if ($form->{business}) { $business = qq| - | . $locale->text('Business') . qq| - $form->{business} - | . $locale->text('Trade Discount') . qq| - | + | . ($form->{vc} eq "customer" ? $locale->text('Customer type') : $locale->text('Vendor type')) . qq| + $form->{business}; | . $locale->text('Trade Discount') . qq| | . $form->format_amount(\%myconfig, $form->{tradediscount} * 100) . qq| % - + |; } if ($form->{max_dunning_level}) { $dunning = qq| - - - - - - - - - -
| . $locale->text('Max. Dunning Level') . qq|:$form->{max_dunning_level}| . $locale->text('Dunning Amount') . qq|:| - . $form->format_amount(\%myconfig, $form->{dunning_amount},2) - . qq|
- - + + | . $locale->text('Max. Dunning Level') . qq|: + + $form->{max_dunning_level}; + | . $locale->text('Dunning Amount') . qq|: | + . $form->format_amount(\%myconfig, $form->{dunning_amount},2) + . qq| + + |; } @@ -620,20 +649,11 @@ sub form_header { $n = ($form->{creditremaining} =~ /-/) ? "0" : "1"; $creditremaining = qq| - - - - - - - - - - - -
| . $locale->text('Credit Limit') . qq|$form->{creditlimit}| . $locale->text('Remaining') . qq|$form->{creditremaining}
- - $shipto + $shipto + + | . $locale->text('Credit Limit') . qq| + $form->{creditlimit}; | . $locale->text('Remaining') . qq| $form->{creditremaining} + |; } else { @@ -677,49 +697,22 @@ sub form_header { |; } - $vc = - ($form->{"select$form->{vc}"}) - ? qq|\n{vc}"}) . qq|">| - : qq|{vc} value="$form->{$form->{vc}}" size=35>|; - $department = qq| | . $locale->text('Department') . qq| - + - -| if $form->{selectdepartment}; - - $employee = qq| - -|; + | if $form->{selectdepartment}; if ($form->{type} eq 'sales_order') { if ($form->{selectemployee}) { - $employee = qq| - {customer_klass}> - - | . $locale->text('Employee') . qq| - - - - -|; + $employee .= qq| + |; } } else { - $employee = qq| - {customer_klass}> - - | . $locale->text('Employee') . qq| - - - - -|; + $employee .= qq| + |; } if ($form->{resubmit} && ($form->{format} eq "html")) { $onload = @@ -742,41 +735,26 @@ onchange="document.getElementById('update_button').click();">| . # show history button js $form->{javascript} .= qq||; #/show history button js + $form->{javascript} .= qq||; + $form->header; print qq|
{script}> + +|; -{id}> -{action}> - -{type}> -{formname}> -{media}> -{format}> -{proforma}> - - - - - -{vc}> - - - -{discount}> -{creditlimit}> -{creditremaining}> + $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)); -{tradediscount}> -{business}> - + print qq| @@ -790,14 +768,8 @@ onchange="document.getElementById('update_button').click();">| . - |; - $button2 = qq| - - |; - - #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "2", "transdatefrom", "BR", "trigger3", - "transdateto", "BL", "trigger4"); - } else { - # without JavaScript Calendar - $button1 = qq| - |; - $button2 = qq| - |; - } + $button1 = qq| + + |; + $button2 = qq| + + |; + + #write Trigger + $jsscript = + Form->write_trigger(\%myconfig, "2", "transdatefrom", "BR", "trigger3", + "transdateto", "BL", "trigger4"); + + my $vc = $form->{vc} eq "customer" ? "customers" : "vendors"; $form->get_lists("projects" => { "key" => "ALL_PROJECTS", - "all" => 1 }); + "all" => 1 }, + "employees" => "ALL_EMPLOYEES", + $vc => "ALL_" . uc($vc)); my %labels = (); my @values = (""); @@ -1437,6 +1399,41 @@ sub search { NTI($cgi->popup_menu('-name' => 'project_id', '-values' => \@values, '-labels' => \%labels)); + #employees + %labels = (); + @values = (""); + foreach my $item (@{ $form->{"ALL_EMPLOYEES"} }) { + push(@values, $item->{"id"}); + $labels{$item->{"id"}} = $item->{"name"} ne "" ? $item->{"name"} : $item->{"login"}; + } + + my $employee_block = qq| + + + + |; + + %labels = (); + @values = (""); + + foreach my $item (@{ $form->{($form->{vc} eq "customer" ? "ALL_CUSTOMERS" : "ALL_VENDORS")}}) { + push(@values, $item->{name}.qq|--|.$item->{"id"}); + $labels{$item->{name}.qq|--|.$item->{"id"}} = $item->{"name"}; + } + + my $vc_label = $form->{vc} eq "customer" ? $locale->text('Customer') : $locale->text('Vendor'); + $vc = + $myconfig{vclimit} <= scalar(@values) + ? qq|{vc}"} =~ /^(.*)\-\-.*$/)) . qq|" name="$form->{vc}">| + : NTI($cgi->popup_menu('-name' => "$form->{vc}", + '-default' => $form->{"old$form->{vc}"}, + '-onChange' => 'document.getElementById(\'update_button\').click();', + '-values' => \@values, + '-labels' => \%labels)); $form->header; print qq| @@ -1453,14 +1450,19 @@ sub search {
- - - {vc}_id value=$form->{"$form->{vc}_id"}> - {vc}"}"> - - - + $vc + $contact $creditremaining $business $dunning @@ -814,7 +786,11 @@ onchange="document.getElementById('update_button').click();">| . - |; + + + + + |; # # + $payments + +
$vclabel$vc| - . $locale->text('Contact Person') . qq|$contact
| . $locale->text('Ship via') . qq|
| . $locale->text('Transaction description') . qq|
# @@ -841,7 +817,7 @@ print qq|
$openclosed $employee - $salesman + $salesmen $ordnumber @@ -1005,10 +981,10 @@ sub form_footer { - - -
| . $locale->text('Project Number') . qq|$notes $intnotes
| . $locale->text('Payment Terms') . qq|
+
$taxincluded @@ -1060,9 +1036,7 @@ sub form_footer { print $webdav_list; } - print qq| -{jscalendar}> -|; + print qq|
@@ -1181,9 +1155,17 @@ sub update { map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); $form->{update} = 1; - + + if($form->{payment_id}) { + $payment_id = $form->{payment_id}; + } + &check_name($form->{vc}); - + + if($form->{payment_id} eq "") { + $form->{payment_id} = $payment_id; + } + $buysell = 'buy'; $buysell = 'sell' if ($form->{vc} eq 'vendor'); $form->{exchangerate} = $exchangerate @@ -1350,20 +1332,6 @@ sub search { $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP"); - map { $vc .= "\n" } - @{ $form->{"all_$form->{vc}"} }; - - $vclabel = ucfirst $form->{vc}; - $vclabel = $locale->text($vclabel); - - # $locale->text('Vendor') - # $locale->text('Customer') - - $vc = - ($vc) - ? qq|| - : qq|{vc} size=35>|; - # departments if (@{ $form->{all_departments} }) { $form->{selectdepartment} = " - text('button') . qq|> - text('button') . qq|> + text('button') . qq|> + text('button') . qq|>
| . $locale->text('Employee') . qq|| . + NTI($cgi->popup_menu('-name' => 'employee_id', + '-values' => \@values, + '-labels' => \%labels)) . qq| +
- - + + $department + $employee_block + + + + @@ -1493,7 +1495,7 @@ sub search { . $locale->text('Required by') . qq| - + @@ -1506,8 +1508,12 @@ sub search { . $locale->text('Tax') . qq| + + + |; + $column_header{transaction_description} = + qq||; $column_header{ids} = qq||; @@ -1786,6 +1795,7 @@ sub orders { $column_data{"delivered"} = ""; + $column_data{transaction_description} = ""; $i++; $i %= 2; @@ -1913,6 +1923,10 @@ sub save_and_close { $form->isblank("transdate", $locale->text('Quotation Date missing!')); } + my $idx = $form->{type} =~ /_quotation$/ ? "quonumber" : "ordnumber"; + $form->{$idx} =~ s/^\s*//g; + $form->{$idx} =~ s/\s*$//g; + $msg = ucfirst $form->{vc}; $form->isblank($form->{vc}, $locale->text($msg . " missing!")); @@ -1923,9 +1937,16 @@ sub save_and_close { if ($form->{currency} ne $form->{defaultcurrency}); &validate_items; - + + if($form->{payment_id}) { + $payment_id = $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; + } &update; exit; } @@ -1997,6 +2018,10 @@ sub save { $form->isblank("transdate", $locale->text('Quotation Date missing!')); } + my $idx = $form->{type} =~ /_quotation$/ ? "quonumber" : "ordnumber"; + $form->{$idx} =~ s/^\s*//g; + $form->{$idx} =~ s/\s*$//g; + $msg = ucfirst $form->{vc}; $form->isblank($form->{vc}, $locale->text($msg . " missing!")); @@ -2007,9 +2032,16 @@ sub save { if ($form->{currency} ne $form->{defaultcurrency}); &validate_items; - + + if($form->{payment_id}) { + $payment_id = $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; + } &update; exit; } @@ -2105,8 +2137,11 @@ sub delete {

$msg $form->{$ordnumber}

+ + @@ -2116,7 +2151,7 @@ sub delete { $lxdebug->leave_sub(); } -sub yes { +sub delete_order_quotation { $lxdebug->enter_sub(); if ($form->{type} =~ /_order$/) { @@ -2127,7 +2162,6 @@ sub yes { $err = $locale->text('Cannot delete quotation!'); } if (OE->delete(\%myconfig, \%$form, $spool)){ - $form->redirect($msg); # saving the history if(!exists $form->{addition}) { $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber}; @@ -2135,6 +2169,8 @@ sub yes { $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history + $form->info($msg); + exit(); } $form->error($err); @@ -2162,9 +2198,16 @@ sub invoice { $form->{ordnumber} = ""; $form->{quodate} = $form->{transdate}; } - + + if($form->{payment_id}) { + $payment_id = $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; + } &update; exit; } @@ -2460,6 +2503,8 @@ sub save_as_new { # Let Lx-Office assign a new order number if the user hasn't changed the # previous one. If it has been changed manually then use it as-is. my $idx = $form->{type} =~ /_quotation$/ ? "quonumber" : "ordnumber"; + $form->{$idx} =~ s/^\s*//g; + $form->{$idx} =~ s/\s*$//g; if ($form->{saved_xyznumber} && ($form->{saved_xyznumber} eq $form->{$idx})) { delete($form->{$idx}); @@ -2470,9 +2515,61 @@ sub save_as_new { $lxdebug->leave_sub(); } +sub check_for_direct_delivery_yes { + $lxdebug->enter_sub(); + + $form->{direct_delivery_checked} = 1; + delete @{$form}{grep /^shipto/, keys %{ $form }}; + map { s/^CFDD_//; $form->{$_} = $form->{"CFDD_${_}"} } grep /^CFDD_/, keys %{ $form }; + $form->{shipto} = 1; + purchase_order(); + $lxdebug->leave_sub(); +} + +sub check_for_direct_delivery_no { + $lxdebug->enter_sub(); + + $form->{direct_delivery_checked} = 1; + delete @{$form}{grep /^shipto/, keys %{ $form }}; + purchase_order(); + + $lxdebug->leave_sub(); +} + +sub check_for_direct_delivery { + $lxdebug->enter_sub(); + + if ($form->{direct_delivery_checked} + || (!$form->{shiptoname} && !$form->{shiptostreet} && !$form->{shipto_id})) { + $lxdebug->leave_sub(); + return; + } + + if ($form->{shipto_id}) { + Common->get_shipto_by_id(\%myconfig, $form, $form->{shipto_id}, "CFDD_"); + + } else { + map { $form->{"CFDD_${_}"} = $form->{$_ } } grep /^shipto/, keys %{ $form }; + } + + delete $form->{action}; + $form->{VARIABLES} = [ map { { "key" => $_, "value" => $form->{$_} } } grep { ref $_ eq "" } keys %{ $form } ]; + + $form->header(); + print $form->parse_html_template("oe/check_for_direct_delivery"); + + $lxdebug->leave_sub(); + + exit 0; +} + sub purchase_order { $lxdebug->enter_sub(); + if ($form->{type} eq 'sales_order') { + check_for_direct_delivery(); + } + if ( $form->{type} eq 'sales_quotation' || $form->{type} eq 'request_quotation') { OE->close_order(\%myconfig, \%$form); @@ -2576,3 +2673,10 @@ sub e_mail { $lxdebug->leave_sub(); } +sub yes { + call_sub($form->{yes_nextsub}); +} + +sub no { + call_sub($form->{no_nextsub}); +}

$vclabel$vc$vc_label$vc
$ordlabel
| . $locale->text('Transaction description') . qq|
| . $locale->text("Project Number") . qq| $projectnumber
$vclabel $vc_label $employee | . $locale->text('Ship via') . qq| | . $locale->text('Total') . qq|
| . $locale->text('Project Number') . qq| | + . $locale->text('Transaction description') . qq|
| @@ -1545,35 +1551,35 @@ $jsscript sub orders { $lxdebug->enter_sub(); - # split vendor / customer - ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = - split(/--/, $form->{ $form->{vc} }); - - OE->transactions(\%myconfig, \%$form); - $ordnumber = ($form->{type} =~ /_order$/) ? "ordnumber" : "quonumber"; - $number = $form->escape($form->{$ordnumber}); - $name = $form->escape($form->{ $form->{vc} }); - $department = $form->escape($form->{department}); - # construct href - $href = - "$form->{script}?action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}¬delivered=$form->{notdelivered}&delivered=$form->{delivered}&$ordnumber=$number&$form->{vc}=$name&department=$department"; + my @fields = + qw(type vc login password transdatefrom transdateto + open closed notdelivered delivered department + transaction_description); + push @fields, $form->{vc}; + $href = "$form->{script}?action=orders&" + . join("&", map { "${_}=" . E($form->{$_}) } @fields) + . "&${ordnumber}=" . E($form->{$ordnumber}); + $callback = $href; - # construct callback - $number = $form->escape($form->{$ordnumber}, 1); - $name = $form->escape($form->{ $form->{vc} }, 1); - $department = $form->escape($form->{department}, 1); + # split vendor / customer + ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = + split(/--/, $form->{ $form->{vc} }); - $callback = - "$form->{script}?action=orders&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&transdatefrom=$form->{transdatefrom}&transdateto=$form->{transdateto}&open=$form->{open}&closed=$form->{closed}¬delivered=$form->{notdelivered}&delivered=$form->{delivered}&$ordnumber=$number&$form->{vc}=$name&department=$department"; + OE->transactions(\%myconfig, \%$form); - @columns = - $form->sort_columns("transdate", "reqdate", "id", "$ordnumber", - "name", "netamount", "tax", "amount", - "curr", "employee", "shipvia", "globalprojectnumber", - "open", "closed", "delivered"); + @columns = ( + "transdate", "reqdate", + "id", "$ordnumber", + "name", "netamount", + "tax", "amount", + "curr", "employee", + "shipvia", "globalprojectnumber", + "transaction_description", "open", + "closed", "delivered" + ); $form->{l_open} = $form->{l_closed} = "Y" if ($form->{open} && $form->{closed}); @@ -1667,6 +1673,9 @@ sub orders { $column_header{employee} = qq|$employee| + . $locale->text("Transaction description") . qq|" . ($oe->{"delivered"} ? $locale->text("Yes") : $locale->text("No")) . "" . H($oe->{transaction_description}) . "