$form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
# retrieve order/quotation
- $form->{webdav} = $main::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};
: ($creditwarning) ? "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}) {
print $form->parse_html_template("oe/form_footer", {
%TMPL_VAR,
- webdav => $main::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_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();
$msg = $locale->text('Quotation deleted!');
$err = $locale->text('Cannot delete quotation!');
}
- if (OE->delete(\%myconfig, \%$form, $main::spool)){
+ if (OE->delete(\%myconfig, \%$form)){
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
}
+ # show pricegroup in newly loaded invoice when creating invoice from quotation/order
+ IS->get_pricegroups_for_parts(\%myconfig, \%$form);
+ set_pricegroup($_) for 1 .. $form->{rowcount};
+
&display_form;
$main::lxdebug->leave_sub();
$form->language_payment(\%myconfig);
- Common::webdav_folder($form) if ($main::webdav);
+ Common::webdav_folder($form);
&form_header;
$config = YAML::Load($::form->{periodic_invoices_config}) if $::form->{periodic_invoices_config};
if ('HASH' ne ref $config) {
- $config = {
- periodicity => 'm',
- start_date => $::form->{transdate},
- active => 1,
- };
+ $config = { periodicity => 'y',
+ start_date_as_date => $::form->{transdate},
+ extend_automatically_by => 12,
+ active => 1,
+ };
}
$config->{periodicity} = 'm' if none { $_ eq $config->{periodicity} } qw(m q y);
check_oe_access();
- $::form->isblank('start_date', $::locale->text('The start date is missing.'));
-
- my $config = { active => $::form->{active} ? 1 : 0,
- periodicity => (any { $_ eq $::form->{periodicity} } qw(m q y)) ? $::form->{periodicity} : 'm',
- start_date => $::form->{start_date},
- print => $::form->{print} ? 1 : 0,
- printer_id => $::form->{print} ? $::form->{printer_id} * 1 : undef,
- copies => $::form->{copies} * 1 ? $::form->{copies} : 1,
- ar_chart_id => $::form->{ar_chart_id} * 1,
+ $::form->isblank('start_date_as_date', $::locale->text('The start date is missing.'));
+
+ my $config = { active => $::form->{active} ? 1 : 0,
+ terminated => $::form->{terminated} ? 1 : 0,
+ periodicity => (any { $_ eq $::form->{periodicity} } qw(m q y)) ? $::form->{periodicity} : 'm',
+ start_date_as_date => $::form->{start_date_as_date},
+ end_date_as_date => $::form->{end_date_as_date},
+ print => $::form->{print} ? 1 : 0,
+ printer_id => $::form->{print} ? $::form->{printer_id} * 1 : undef,
+ copies => $::form->{copies} * 1 ? $::form->{copies} : 1,
+ extend_automatically_by => $::form->{extend_automatically_by} * 1 || undef,
+ ar_chart_id => $::form->{ar_chart_id} * 1,
};
$::form->{periodic_invoices_config} = YAML::Dump($config);
}
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}"}) {
+ $::form->{dispatched_action} = $action;
call_sub($action);
return;
}
}
- $form->error($locale->text('No action defined.'));
+ $::form->error($::locale->text('No action defined.'));
}