my ($language_id, $printer_id);
if ($form->{print_and_save}) {
- $form->{action} = "print";
+ $form->{action} = "dispatcher";
+ $form->{action_print} = "1";
$form->{resubmit} = 1;
$language_id = $form->{language_id};
$printer_id = $form->{printer_id};
$form->{"$form->{vc}_id"} ||= $form->{"all_$form->{vc}"}->[0]->{id} if $form->{"all_$form->{vc}"};
- $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes));
+ $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes shipto_id));
$form->{shipto} = 1 if $form->{id};
# get customer / vendor
IR->get_vendor(\%myconfig, \%$form) if $form->{type} =~ /(purchase_order|request_quotation)/;
IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/;
- $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id));
+ $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id));
$form->restore_vars(qw(taxincluded)) if $form->{id};
$form->restore_vars(qw(salesman_id)) if $editing;
$form->{forex} = $form->{exchangerate};
}
}
- my $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')"
- : "";
+ my $onload = "";
+ if ($form->{resubmit} && ($form->{format} eq "html")) {
+ $onload = "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';";
+ $onload .= "document.do.submit();";
+ } elsif ($form->{resubmit}) {
+ # emulate click for resubmitting actions
+ $onload = "document.oe.${_}.click(); " for grep { /^action_/ } keys %$form;
+ $onload .= "document.oe.submit();";
+ } elsif ($creditwarning) {
+ $onload = "alert('$credittext')";
+ }
+ $TMPL_VAR{onload} = $onload;
$TMPL_VAR{dateformat} = $myconfig{dateformat};
$TMPL_VAR{numberformat} = $myconfig{numberformat};
title creditlimit creditremaining tradediscount business
max_dunning_level dunning_amount shiptoname shiptostreet shiptozipcode
shiptocity shiptocountry shiptocontact shiptophone shiptofax
- shiptodepartment_1 shiptodepartment_2 shiptoemail
+ shiptodepartment_1 shiptodepartment_2 shiptoemail shiptocp_gender
message email subject cc bcc taxpart taxservice taxaccounts cursor_fokus),
@custom_hiddens,
map { $_.'_rate', $_.'_description' } split / /, $form->{taxaccounts} ]; # deleted: discount
check_oe_access();
-# $main::lxdebug->message(0, Dumper($form));
-
set_headings($form->{"id"} ? "edit" : "add");
map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate) unless $recursive_call;
&check_form;
} else {
+ my $mode;
if ($form->{type} =~ /^sales/) {
IS->retrieve_item(\%myconfig, \%$form);
+ $mode = 'IS';
} else {
IR->retrieve_item(\%myconfig, \%$form);
+ $mode = 'IR';
}
my $rows = scalar @{ $form->{item_list} };
if ($rows > 1) {
- &select_item;
+ select_item(mode => $mode);
::end_of_request();
} else {
print $form->parse_html_template('oe/search', {
%myconfig,
- is_order => $form->{type} =~ /_order/,
+ is_order => scalar($form->{type} =~ /_order/),
});
$main::lxdebug->leave_sub();
foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation
request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) {
if ($::form->{"action_${action}"}) {
- $::form->{dispatched_action} = $action;
call_sub($action);
return;
}