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->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
# retrieve order/quotation
- $form->{webdav} = $::lx_office_conf{system}->{webdav};
+ $form->{webdav} = $::lx_office_conf{features}->{webdav};
$form->{jsscript} = 1;
my $editing = $form->{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 $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- my $cgi = $main::cgi;
+ my $cgi = $::request->{cgi};
check_oe_access();
}
}
- 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')";
+ }
- $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|;
- $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
$TMPL_VAR{onload} = $onload;
+ $TMPL_VAR{dateformat} = $myconfig{dateformat};
+ $TMPL_VAR{numberformat} = $myconfig{numberformat};
if ($form->{type} eq 'sales_order') {
if (!$form->{periodic_invoices_config}) {
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
my $introws = max 2, $form->numtextrows($form->{intnotes}, 35, 8);
$rows = max $rows, $introws;
- $TMPL_VAR{notes} = qq|<textarea name=notes rows=$rows cols=25 wrap=soft>| . H($form->{notes}) . qq|</textarea>|;
- $TMPL_VAR{intnotes} = qq|<textarea name=intnotes rows=$introws cols=35 wrap=soft>| . H($form->{intnotes}) . qq|</textarea>|;
+ $TMPL_VAR{notes} = qq|<textarea name=notes rows="$rows" cols="25">| . H($form->{notes}) . qq|</textarea>|;
+ $TMPL_VAR{intnotes} = qq|<textarea name=intnotes rows="$introws" cols="35">| . H($form->{intnotes}) . qq|</textarea>|;
if (!$form->{taxincluded}) {
print $form->parse_html_template("oe/form_footer", {
%TMPL_VAR,
- webdav => $::lx_office_conf{system}->{webdav},
+ webdav => $::lx_office_conf{features}->{webdav},
print_options => print_options(inline => 1),
label_edit => $locale->text("Edit the $form->{type}"),
label_workflow => $locale->text("Workflow $form->{type}"),
sub update {
$main::lxdebug->enter_sub();
- my ($recursive_call) = shift;
+ my ($recursive_call) = @_;
my $form = $main::form;
my %myconfig = %main::myconfig;
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();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- my $cgi = $main::cgi;
+ my $cgi = $::request->{cgi};
check_oe_access();
}
sub delete {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my $locale = $main::locale;
+ $::lxdebug->enter_sub;
check_oe_access();
- $form->header;
-
- my ($msg, $ordnumber);
- if ($form->{type} =~ /_order$/) {
- $msg = $locale->text('Are you sure you want to delete Order Number');
- $ordnumber = 'ordnumber';
- } else {
- $msg = $locale->text('Are you sure you want to delete Quotation Number');
- $ordnumber = 'quonumber';
- }
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-|;
+ $::form->header;
# delete action variable
- map { delete $form->{$_} } qw(action header);
+ delete $::form->{$_} for qw(action header);
- foreach my $key (keys %$form) {
- next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key}));
- $form->{$key} =~ s/\"/"/g;
- print qq|<input type=hidden name=$key value="$form->{$key}">\n|;
+ my @hiddens;
+ for my $key (keys %$::form) {
+ next if $key eq 'login' || $key eq 'password' || '' ne ref $::form->{$key};
+ push @hiddens, { key => $key, value => $::form->{$key} };
}
- print qq|
-<h2 class=confirm>| . $locale->text('Confirm!') . qq|</h2>
-
-<h4>$msg $form->{$ordnumber}</h4>
-<p>
-<input type="hidden" name="yes_nextsub" value="delete_order_quotation">
-<input name=action class=submit type=submit value="|
- . $locale->text('Yes') . qq|">
-<button class=submit type=button onclick="history.back()">|
- . $locale->text('No') . qq|</button>
-</form>
+ print $::form->parse_html_template('oe/delete', {
+ hiddens => \@hiddens,
+ is_order => scalar($::form->{type} =~ /_order$/),
+ });
-</body>
-</html>
-|;
- $main::lxdebug->leave_sub();
+ $::lxdebug->leave_sub;
}
sub delete_order_quotation {
$form->{quodate} = $form->{transdate};
}
- my $payment_id = $form->{payment_id} if $form->{payment_id};
+ my $payment_id;
+ if ($form->{payment_id}) {
+ $payment_id = $form->{payment_id};
+ }
# if the name changed get new values
if (&check_name($form->{vc})) {
$dec_qty = length $dec_qty;
$form->{"qty_$i"} =
$form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);
-
- map { $form->{"${_}_$i"} =~ s/\"/"/g }
- qw(partnumber description unit);
-
}
# show pricegroup in newly loaded invoice when creating invoice from quotation/order
}
sub dispatcher {
- my $form = $main::form;
- my $locale = $main::locale;
-
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}"}) {
+ if ($::form->{"action_${action}"}) {
call_sub($action);
return;
}
}
- $form->error($locale->text('No action defined.'));
+ $::form->error($::locale->text('No action defined.'));
}