DO->retrieve('vc' => $form->{vc},
'ids' => $form->{id});
- $payment_id = $form->{payment_id} if ($form->{payment_id});
- $language_id = $form->{language_id} if ($form->{language_id});
- $taxzone_id = $form->{taxzone_id} if ($form->{taxzone_id});
- $salesman_id = $form->{salesman_id} if ($editing);
+ $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes));
+ $form->{shipto} = 1 if $form->{id};
+ # get customer / vendor
+ if ($form->{vc} eq 'vendor') {
+ IR->get_vendor(\%myconfig, \%$form);
+ } else {
+ IS->get_customer(\%myconfig, \%$form);
+ }
- $taxincluded = $form->{taxincluded};
- $form->{shipto} = 1 if $form->{id};
+ $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id));
+ $form->restore_vars(qw(taxincluded)) if $form->{id};
+ $form->restore_vars(qw(salesman_id)) if $editing;
if ($form->{"all_$form->{vc}"}) {
unless ($form->{"$form->{vc}_id"}) {
}
}
- $cp_id = $form->{cp_id};
- $intnotes = $form->{intnotes};
-
- $form->{cp_id} = $cp_id;
-
- $form->{payment_id} = $payment_id if ($payment_id);
- $form->{language_id} = $language_id if ($language_id);
- $form->{taxzone_id} = $taxzone_id if ($taxzone_id);
- $form->{intnotes} = $intnotes if ($intnotes);
-
($form->{ $form->{vc} }) = split /--/, $form->{ $form->{vc} };
$form->{"old$form->{vc}"} = qq|$form->{$form->{vc}}--$form->{"$form->{vc}_id"}|;
(my $dec_qty) = ($form->{"qty_$i"} =~ /\.(\d+)/);
$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);
}
$lxdebug->leave_sub();
} else {
- map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit);
map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } keys %{ $form->{item_list}[0] };
$form->{"marge_price_factor_$i"} = $form->{item_list}->[0]->{price_factor};
($form->{ $form->{vc} }, $form->{"${form->{vc}}_id"}) = split(/--/, $form->{ $form->{vc} });
- $form->{sort} ||= 'transdate';
+ report_generator_set_default_sort('transdate', 1);
DO->transactions();
'delivered' => { 'text' => $locale->text('Delivered'), },
);
- foreach my $name (qw(id transdate donumber ordnumber name employee shipvia)) {
- $column_defs{$name}->{link} = $href . "&sort=$name";
+ foreach my $name (qw(id transdate donumber ordnumber name employee shipvia transaction_description)) {
+ my $sortdir = $form->{sort} eq $name ? 1 - $form->{sortdir} : $form->{sortdir};
+ $column_defs{$name}->{link} = $href . "&sort=$name&sortdir=$sortdir";
}
$form->{"l_type"} = "Y";
$report->set_export_options('orders', @hidden_variables);
- $report->set_sort_indicator($form->{sort}, 1);
+ $report->set_sort_indicator($form->{sort}, $form->{sortdir});
my @options;
if ($form->{customer}) {
push @options, $locale->text('Transaction description') . " : $form->{transaction_description}";
}
if ($form->{transdatefrom}) {
- push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{transdatefrom}, 1);
+ push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{transdatefrom}, 1);
}
if ($form->{transdateto}) {
- push @options, $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{transdateto}, 1);
+ push @options, $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{transdateto}, 1);
}
if ($form->{open}) {
push @options, $locale->text('Open');
check_do_access();
$auth->assert($form->{type} eq 'purchase_delivery_order' ? 'vendor_invoice_edit' : 'invoice_edit');
- $form->{close_do_ids} = $form->{id};
+ $form->{convert_from_do_ids} = $form->{id};
+ $form->{deliverydate} = $form->{transdate};
+ $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig);
+ $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
- $form->{deliverydate} = $form->{transdate};
- $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig);
- $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
-
- $form->{id} = '';
- $form->{closed} = 0;
$form->{rowcount}--;
- $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+ delete @{$form}{qw(id closed delivered)};
if ($form->{type} eq 'purchase_delivery_order') {
$form->{title} = $locale->text('Add Vendor Invoice');
'back_button' => 1);
}
- $form->{close_do_ids} = join ' ', @do_ids;
- $form->{deliverydate} = $form->{transdate};
- $form->{transdate} = $form->current_date(\%myconfig);
- $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
- $form->{type} = "invoice";
- $form->{closed} = 0;
- $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+ $form->{convert_from_do_ids} = join ' ', @do_ids;
+ $form->{deliverydate} = $form->{transdate};
+ $form->{transdate} = $form->current_date(\%myconfig);
+ $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
+ $form->{type} = "invoice";
+ $form->{closed} = 0;
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
my $buysell;
if ($form->{type} eq 'purchase_delivery_order') {
$lxdebug->leave_sub();
}
+sub mark_closed {
+ $lxdebug->enter_sub();
+
+ DO->close_orders('ids' => [ $form->{id} ]);
+
+ $form->{closed} = 1;
+
+ update();
+
+ $lxdebug->leave_sub();
+}
+
+
sub yes {
call_sub($form->{yes_nextsub});
}