# Order entry module
# Quotation module
#======================================================================
+use Data::Dumper;
use SL::OE;
use SL::IR;
# end of main
-sub add {
+# For locales.pl:
+# $locale->text('Edit the purchase_order');
+# $locale->text('Edit the sales_order');
+# $locale->text('Edit the request_quotation');
+# $locale->text('Edit the sales_quotation');
+
+# $locale->text('Workflow purchase_order');
+# $locale->text('Workflow sales_order');
+# $locale->text('Workflow request_quotation');
+# $locale->text('Workflow sales_quotation');
+
+sub set_headings {
$lxdebug->enter_sub();
+ my ($action) = @_;
+
if ($form->{type} eq 'purchase_order') {
- $form->{title} = $locale->text('Add Purchase Order');
- $form->{vc} = 'vendor';
+ $form->{title} = $action eq "edit" ?
+ $locale->text('Edit Purchase Order') :
+ $locale->text('Add Purchase Order');
+ $form->{heading} = $locale->text('Purchase Order');
+ $form->{vc} = 'vendor';
}
if ($form->{type} eq 'sales_order') {
- $form->{title} = $locale->text('Add Sales Order');
- $form->{vc} = 'customer';
+ $form->{title} = $action eq "edit" ?
+ $locale->text('Edit Sales Order') :
+ $locale->text('Add Sales Order');
+ $form->{heading} = $locale->text('Sales Order');
+ $form->{vc} = 'customer';
}
if ($form->{type} eq 'request_quotation') {
- $form->{title} = $locale->text('Add Request for Quotation');
- $form->{vc} = 'vendor';
+ $form->{title} = $action eq "edit" ?
+ $locale->text('Edit Request for Quotation') :
+ $locale->text('Add Request for Quotation');
+ $form->{heading} = $locale->text('Request for Quotation');
+ $form->{vc} = 'vendor';
}
if ($form->{type} eq 'sales_quotation') {
- $form->{title} = $locale->text('Add Quotation');
- $form->{vc} = 'customer';
+ $form->{title} = $action eq "edit" ?
+ $locale->text('Edit Quotation') :
+ $locale->text('Add Quotation');
+ $form->{heading} = $locale->text('Quotation');
+ $form->{vc} = 'customer';
}
+ $lxdebug->leave_sub();
+}
+
+sub add {
+ $lxdebug->enter_sub();
+
+ set_headings("add");
+
$form->{callback} =
"$form->{script}?action=add&type=$form->{type}&vc=$form->{vc}&login=$form->{login}&path=$form->{path}&password=$form->{password}"
unless $form->{callback};
sub edit {
$lxdebug->enter_sub();
+ set_headings("edit");
+
# editing without stuff to edit? try adding it first
if ($form->{rowcount}) {
map { $id++ if $form->{"id_$_"} } (1 .. $form->{rowcount});
$printer_id = $form->{printer_id};
}
- if ($form->{type} eq 'purchase_order') {
- $form->{title} = $locale->text('Edit Purchase Order');
- $form->{heading} = $locale->text('Purchase Order');
- $form->{vc} = 'vendor';
- }
- if ($form->{type} eq 'sales_order') {
- $form->{title} = $locale->text('Edit Sales Order');
- $form->{heading} = $locale->text('Sales Order');
- $form->{vc} = 'customer';
- }
- if ($form->{type} eq 'request_quotation') {
- $form->{title} = $locale->text('Edit Request for Quotation');
- $form->{heading} = $locale->text('Request for Quotation');
- $form->{vc} = 'vendor';
- }
- if ($form->{type} eq 'sales_quotation') {
- $form->{title} = $locale->text('Edit Quotation');
- $form->{heading} = $locale->text('Quotation');
- $form->{vc} = 'customer';
- }
+ set_headings("edit");
&order_links;
&prepare_order;
# get customer / vendor
if ($form->{type} =~ /(purchase_order|request_quotation|receive_order)/) {
IR->get_vendor(\%myconfig, \%$form);
+
+ #quote all_vendor Bug 133
+ foreach $ref (@{ $form->{all_vendor} }) {
+ $ref->{name} = $form->quote($ref->{name});
+ }
+
}
if ($form->{type} =~ /(sales|ship)_(order|quotation)/) {
IS->get_customer(\%myconfig, \%$form);
+
+ #quote all_vendor Bug 133
+ foreach $ref (@{ $form->{all_customer} }) {
+ $ref->{name} = $form->quote($ref->{name});
+ }
+
}
$form->{cp_id} = $cp_id;
if ($payment_id) {
}
# currencies
- @curr = split /:/, $form->{currencies};
+ @curr = split(/:/, $form->{currencies});
chomp $curr[0];
$form->{defaultcurrency} = $curr[0];
$form->{currency} = $form->{defaultcurrency} unless $form->{currency};
sub prepare_order {
$lxdebug->enter_sub();
- $form->{format} = "pdf";
+ $form->{format} = "pdf" unless ($form->{print_and_save} && $form->{format});
$form->{media} = "screen";
$form->{formname} = $form->{type} unless $form->{formname};
s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
}
+ #quote select[customer|vendor] Bug 133
+ $form->{"select$form->{vc}"} = $form->quote($form->{"select$form->{vc}"});
+
#build contacts
if ($form->{all_contacts}) {
if (@{ $form->{SHIPTO} }) {
$form->{selectshipto} = "<option value=0></option>";
foreach $item (@{ $form->{SHIPTO} }) {
- if ($item->{id} == $form->{shipto_id}) {
+ if ($item->{shipto_id} == $form->{shipto_id}) {
$form->{selectshipto} .=
- "<option value=$item->{id} selected>$item->{shiptoname}</option>";
+ "<option value=$item->{shipto_id} selected>$item->{shiptoname} $item->{shiptodepartment_1}</option>";
} else {
$form->{selectshipto} .=
- "<option value=$item->{id}>$item->{shiptoname}</option>";
+ "<option value=$item->{shipto_id}>$item->{shiptoname} $item->{shiptodepartment_1}</option>";
}
}
</tr>
</table>
-Bearbeiten des $form->{heading}<br>
+| . $locale->text("Edit the $form->{type}") . qq|<br>
<input class=submit type=submit name=action value="|
. $locale->text('Update') . qq|">
<input class=submit type=submit name=action value="|
if (($form->{id})) {
print qq|
-<br>Workflow $form->{heading}<br>
+<br>| . $locale->text("Workflow $form->{type}") . qq|<br>
<input class=submit type=submit name=action value="|
. $locale->text('Save as new') . qq|">
<input class=submit type=submit name=action value="|
sub update {
$lxdebug->enter_sub();
+ set_headings($form->{"id"} ? "edit" : "add");
+
map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
qw(exchangerate creditlimit creditremaining);
$form->{update} = 1;
}
- $form->{$ordnumber} = $form->update_defaults(\%myconfig, $numberfld)
- unless $form->{$ordnumber};
+ # get new number in sequence if no number is given or if saveasnew was requested
+ if (!$form->{$ordumber} || $form->{saveasnew}) {
+ $form->{$ordnumber} = $form->update_defaults(\%myconfig, $numberfld);
+ }
$form->redirect(
$form->{label} . " $form->{$ordnumber} " . $locale->text('saved!'))
OE->save(\%myconfig, \%$form);
$form->{simple_save} = 1;
if(!$form->{print_and_save}) {
+ set_headings("edit");
&update;
exit;
}