use List::Util qw(min max reduce sum);
use Data::Dumper;
+use SL::Controller::Order;
+
use SL::DB::Customer;
use SL::DB::TaxZone;
use SL::DB::PaymentTerm;
# editing without stuff to edit? try adding it first
if ($form->{rowcount} && !$form->{print_and_save}) {
+ if ($::instance_conf->get_feature_experimental_order) {
+ my $c = SL::Controller::Order->new;
+ $c->action_edit_collective();
+
+ $main::lxdebug->leave_sub();
+ $::dispatcher->end_request;
+ }
+
my $id;
map { $id++ if $form->{"multi_id_$_"} } (1 .. $form->{rowcount});
if (!$id) {
if ( $form->{reqdate} && $form->{id} ) {
my $saved_order = OE->retrieve_simple(id => $form->{id});
if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) {
- my $extra_days = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval : 1;
+ my $extra_days = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval :
+ $form->{type} eq 'sales_order' ? $::instance_conf->get_delivery_date_interval : 1;
$form->{reqdate} = DateTime->today_local->next_workday(extra_days => $extra_days)->to_kivitendo;
$form->{transdate} = DateTime->today_local->to_kivitendo;
}
$form->{old_salesman_id} = $form->{salesman_id};
# reset
- map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber);
+ map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber
+ taxzone_id currency);
# this converted variable is also used for sales_order to purchase order and vice versa
$form->{"converted_from_orderitems_id_$_"} = delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};