($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};
shiptophone shiptofax shiptodepartment_1 shiptodepartment_2);
# use JavaScript Calendar or not
- $form->{jsscript} = $form->{jscalendar};
+ $form->{jsscript} = 1;
$jsscript = "";
- if ($form->{jsscript}) {
-
- # with JavaScript Calendar
- $button1 = qq|
- <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\"></td>
- <td><input type=button name=transdate id="trigger1" value=|
- . $locale->text('button') . qq|></td>
- |;
- $button2 = qq|
- <td width="13"><input name=reqdate id=reqdate size=11 title="$myconfig{dateformat}" value="$form->{reqdate}" onBlur=\"check_right_date_format(this)\"></td>
- <td width="4"><input type=button name=reqdate name=reqdate id="trigger2" value=|
- . $locale->text('button') . qq|></td>
- |;
-
- #write Trigger
- $jsscript =
- Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1",
- "reqdate", "BL", "trigger2");
-
- } else {
-
- # without JavaScript Calendar
- $button1 = qq|
- <td><input name="transdate" id="transdate" size="11" title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\"></td>|;
- $button2 = qq|
- <td width="13"><input name="reqdate" id="reqdate" size="11" title="$myconfig{dateformat}" value="$form->{reqdate}" onBlur=\"check_right_date_format(this)\"></td>|;
- }
+ $button1 = qq|
+ <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\">
+ <input type=button name=transdate id="trigger1" value=|
+ . $locale->text('button') . qq|></td>
+ |;
+ $button2 = qq|
+ <td width="13"><input name=reqdate id=reqdate size=11 title="$myconfig{dateformat}" value="$form->{reqdate}" onBlur=\"check_right_date_format(this)\">
+ <input type=button name=reqdate name=reqdate id="trigger2" value=|
+ . $locale->text('button') . qq|></td>
+ |;
+
+ #write Trigger
+ $jsscript =
+ Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1",
+ "reqdate", "BL", "trigger2");
my @tmp;
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",
"employees" => "ALL_SALESMEN",
"taxzones" => "ALL_TAXZONES",
"payments" => "ALL_PAYMENTS",
- "currencies" => "ALL_CURRENCIES");
- ($form->{vc} eq "customer"
- ? $form->get_lists("customers" => "ALL_CUSTOMERS")
- : $form->get_lists("vendors" => "ALL_VENDORS"));
-
+ "currencies" => "ALL_CURRENCIES",
+ $vc => "ALL_" . uc($vc));
+
my %labels;
my @values = (undef);
foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
$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|
+ <tr>
+ <th align="right">| . $locale->text('Contact Person') . qq|</th>
+ <td>| .
+ NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
+ '-labels' => \%labels, '-default' => $form->{"cp_id"}))
+ . qq|
+ </td>
+ </tr>|;
+ }
%labels = ();
@values = ();
$labels{$item->{"id"}} = $item->{name}.qq|--|.$item->{"id"};
}
- my $vc = qq|
+ $vc = qq|
+ <input type="hidden" name="$form->{vc}_id" value="| . H($form->{"$form->{vc}_id"}) . qq|">
<input type="hidden" name="old$form->{vc}" value="| . H($form->{"old$form->{vc}"}) . qq|">
<th align="right">| . $locale->text(ucfirst($form->{vc})) . qq|</th>
<td>| .
: (NTI($cgi->popup_menu('-name' => "$form->{vc}", '-default' => $form->{"old$form->{vc}"},
'-onChange' => 'document.getElementById(\'update_button\').click();',
'-values' => \@values, '-labels' => \%labels)))) . qq|
+ <input type="button" value="?" onclick="show_vc_details('$form->{vc}')">
</td><input type=hidden name="select$form->{vc}" value="| .
Q($form->{"select$form->{vc}"}) . qq|">|;
$item->{"shiptoname"} . " " . $item->{"shiptodepartment_1"};
}
- my $shipto = qq|
- <th align=right>| . $locale->text('Shipping Address') . qq|</th>
- <td>| .
- NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
- '-labels' => \%labels, '-default' => $form->{"shipto_id"}))
+ my $shipto;
+ if (scalar @values > 1) {
+ $shipto = qq|
+ <tr>
+ <th align="right">| . $locale->text('Shipping Address') . qq|</th>
+ <td>| .
+ NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
+ '-labels' => \%labels, '-default' => $form->{"shipto_id"}))
. qq|</td>|;
+ }
%labels = ();
@values = ("");
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|
<tr>
<th align="right">| . $locale->text('Currency') . qq|</th>
<td>| .
'-values' => \@values, '-labels' => \%labels)) . qq|
</td>
</tr>|;
-
+ }
$form->{exchangerate} =
$form->format_amount(\%myconfig, $form->{exchangerate});
if ($form->{business}) {
$business = qq|
<tr>
- <th align=right>| . $locale->text('Business') . qq|</th>
- <td>$form->{business}</td>
- <th align=right>| . $locale->text('Trade Discount') . qq|</th>
- <td>|
+ <th align="right">| . ($form->{vc} eq "customer" ? $locale->text('Customer type') : $locale->text('Vendor type')) . qq|</th>
+ <td>$form->{business}; | . $locale->text('Trade Discount') . qq| |
. $form->format_amount(\%myconfig, $form->{tradediscount} * 100)
. qq| %</td>
- </tr>
+ </tr>
|;
}
if ($form->{max_dunning_level}) {
$dunning = qq|
- <tr>
- <td colspan=4>
- <table>
- <tr>
- <th align=right>| . $locale->text('Max. Dunning Level') . qq|:</th>
- <td><b>$form->{max_dunning_level}</b></td>
- <th align=right>| . $locale->text('Dunning Amount') . qq|:</th>
- <td><b>|
- . $form->format_amount(\%myconfig, $form->{dunning_amount},2)
- . qq|</b></td>
- </tr>
- </table>
- </td>
- </tr>
+ <tr>
+ <th align="right">| . $locale->text('Max. Dunning Level') . qq|:</th>
+ <td>
+ <b>$form->{max_dunning_level}</b>;
+ | . $locale->text('Dunning Amount') . qq|: <b>|
+ . $form->format_amount(\%myconfig, $form->{dunning_amount},2)
+ . qq|</b>
+ </td>
+ </tr>
|;
}
$n = ($form->{creditremaining} =~ /-/) ? "0" : "1";
$creditremaining = qq|
- <tr>
- <td></td>
- <td colspan=3>
- <table>
- <tr>
- <th nowrap>| . $locale->text('Credit Limit') . qq|</th>
- <td>$form->{creditlimit}</td>
- <td width=20%></td>
- <th nowrap>| . $locale->text('Remaining') . qq|</th>
- <td class="plus$n" nowrap>$form->{creditremaining}</td>
- </tr>
- </table>
- </td>
- $shipto
+ $shipto
+ <tr>
+ <td align="right">| . $locale->text('Credit Limit') . qq|</td>
+ <td>$form->{creditlimit}; | . $locale->text('Remaining') . qq| <span class="plus$n">$form->{creditremaining}</span></td>
+ </tr>
</tr>
|;
} else {
# show history button js
$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;
print qq|
<body onLoad="$onload">
<form method=post name=oe action=$form->{script}>
+
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" src="js/delivery_customer_selection.js"></script>
<script type="text/javascript" src="js/vendor_selection.js"></script>
<script type="text/javascript" src="js/calculate_qty.js"></script>
+|;
-<input type=hidden name=id value=$form->{id}>
-<input type=hidden name=action value=$form->{action}>
-
-<input type=hidden name=type value=$form->{type}>
-<input type=hidden name=formname value=$form->{formname}>
-<input type=hidden name=media value=$form->{media}>
-<input type=hidden name=format value=$form->{format}>
-<input type=hidden name=proforma value=$form->{proforma}>
-
-<input type=hidden name=queued value="$form->{queued}">
-<input type=hidden name=printed value="$form->{printed}">
-<input type=hidden name=emailed value="$form->{emailed}">
-
-<input type=hidden name=vc value=$form->{vc}>
-
-<input type=hidden name=title value="$form->{title}">
-
-<input type=hidden name=discount value=$form->{discount}>
-<input type=hidden name=creditlimit value=$form->{creditlimit}>
-<input type=hidden name=creditremaining value=$form->{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));
-<input type=hidden name=tradediscount value=$form->{tradediscount}>
-<input type=hidden name=business value=$form->{business}>
-<input type=hidden name=webdav value=$webdav>
+ print qq|
<table width=100%>
<tr class=listtop>
<table width=100%>
<tr>
$vc
- <th align=richt nowrap>|
- . $locale->text('Contact Person') . qq|</th>
- <td colspan=3>$contact</td>
- </tr>
+ $contact
$creditremaining
$business
$dunning
print $webdav_list;
}
- print qq|
-<input type=hidden name=jscalendar value=$form->{jscalendar}>
-|;
+
print qq|
<tr>
<td>
}
# use JavaScript Calendar or not
- $form->{jsscript} = $jscalendar;
+ $form->{jsscript} = 1;
$jsscript = "";
- if ($form->{jsscript}) {
-
- # with JavaScript Calendar
- $button1 = qq|
- <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
- <input type=button name=transdatefrom id="trigger3" value=|
- . $locale->text('button') . qq|></td>
- |;
- $button2 = qq|
- <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
- <input type=button name=transdateto name=transdateto id="trigger4" value=|
- . $locale->text('button') . qq|></td>
- |;
-
- #write Trigger
- $jsscript =
- Form->write_trigger(\%myconfig, "2", "transdatefrom", "BR", "trigger3",
- "transdateto", "BL", "trigger4");
- } else {
- # without JavaScript Calendar
- $button1 = qq|
- <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\"></td>|;
- $button2 = qq|
- <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\></td>|;
- }
+ $button1 = qq|
+ <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
+ <input type=button name=transdatefrom id="trigger3" value=|
+ . $locale->text('button') . qq|></td>
+ |;
+ $button2 = qq|
+ <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
+ <input type=button name=transdateto name=transdateto id="trigger4" value=|
+ . $locale->text('button') . qq|></td>
+ |;
+
+ #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 },
+ $vc => "ALL_" . uc($vc));
my %labels = ();
my @values = ("");
NTI($cgi->popup_menu('-name' => 'project_id', '-values' => \@values,
'-labels' => \%labels));
+ %labels = ();
+ @values = ("");
+
+ foreach my $item (@{ $form->{($form->{vc} eq "customer" ? "ALL_CUSTOMERS" : "ALL_VENDORS")}}) {
+ push(@values, $item->{name}.qq|--|.$item->{"id"});
+ $labels{$item->{"id"}} = $item->{name}.qq|--|.$item->{"id"};
+ }
+
+ my $vc_label = $form->{vc} eq "customer" ? $locale->text('Customer') : $locale->text('Vendor');
+ $vc =
+ $myconfig{vclimit} <= scalar(@values)
+ ? qq|<input type="text" value="| . H($form->{"old$form->{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|
<td>
<table>
<tr>
- $vc
+ <th align=right>$vc_label</th>
+ <td colspan=3>$vc</td>
</tr>
$department
<tr>
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";
# construct href
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;
+ # split vendor / customer
+ ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) =
+ split(/--/, $form->{ $form->{vc} });
+
+ OE->transactions(\%myconfig, \%$form);
+
@columns = (
"transdate", "reqdate",
"id", "$ordnumber",