($form->{ $form->{vc} }, $form->{"${form->{vc}}_id"}) = split(/--/, $form->{ $form->{vc} });
- $form->{sort} ||= 'transdate';
+ report_generator_set_default_sort('transdate', 1);
DO->transactions();
);
foreach my $name (qw(id transdate donumber ordnumber name employee shipvia)) {
- $column_defs{$name}->{link} = $href . "&sort=$name";
+ 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}) {
check_do_access();
$auth->assert($form->{type} eq 'purchase_delivery_order' ? 'vendor_invoice_edit' : 'invoice_edit');
- $form->{deliverydate} = $form->{transdate};
- $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig);
- $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
+ $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->{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->{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') {
sub transfer_in {
$lxdebug->enter_sub();
+ if (DO->is_marked_as_delivered('id' => $form->{id})) {
+ $form->show_generic_error($locale->text('The parts for this delivery order have already been transferred in.'), 'back_button' => 1);
+ }
+
my @part_ids = map { $form->{"id_${_}"} } grep { $form->{"id_${_}"} && $form->{"stock_in_${_}"} } (1 .. $form->{rowcount});
my @all_requests;
sub transfer_out {
$lxdebug->enter_sub();
+ if (DO->is_marked_as_delivered('id' => $form->{id})) {
+ $form->show_generic_error($locale->text('The parts for this delivery order have already been transferred out.'), 'back_button' => 1);
+ }
+
my @part_ids = map { $form->{"id_${_}"} } grep { $form->{"id_${_}"} && $form->{"stock_out_${_}"} } (1 .. $form->{rowcount});
my @all_requests;
$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});
}