"transaction_description" => "dord.transaction_description"
);
- my $sortoder = "dord.id";
+ my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
+ my $sortorder = "dord.id";
if ($form->{sort} && grep($form->{sort}, keys(%allowed_sort_columns))) {
$sortorder = $allowed_sort_columns{$form->{sort}};
}
- $query .= qq| ORDER by | . $sortorder;
+ $query .= qq| ORDER by | . $sortorder . " $sortdir";
$form->{DO} = selectall_hashref_query($form, $dbh, $query, @values);
$form->save_status($dbh);
# Link this delivery order to the quotations it was created from.
- my @oe_ids = grep { $_ } map { $_ * 1 } split m/\s+/, $form->{oe_ids};
- delete $form->{oe_ids};
- if (scalar @oe_ids) {
- my @links = map { { 'from_table' => 'oe', 'from_id' => $_, 'to_table' => 'delivery_orders', 'to_id' => $form->{id} } } @oe_ids;
- RecordLinks->create_links('dbh' => $dbh, 'links' => \@links);
- }
+ RecordLinks->create_links('dbh' => $dbh,
+ 'mode' => 'ids',
+ 'from_table' => 'oe',
+ 'from_ids' => $form->{convert_from_oe_ids},
+ 'to_table' => 'delivery_orders',
+ 'to_id' => $form->{id},
+ );
+ delete $form->{convert_from_oe_ids};
$self->mark_orders_if_delivered('do_id' => $form->{id},
'type' => $form->{type} eq 'sales_delivery_order' ? 'sales' : 'purchase',
my ($oe_id) = $links[0]->{from_id} if (scalar @links);
- $main::lxdebug->message(0, "oe_id $oe_id");
-
return $main::lxdebug->leave_sub() if (!$oe_id);
my $all_units = AM->retrieve_all_units();
- $query = qq|SELECT oi.parts_id, oi.qty, oi.unit, p.unit AS partunit
+ my $query = qq|SELECT oi.parts_id, oi.qty, oi.unit, p.unit AS partunit
FROM orderitems oi
LEFT JOIN parts p ON (oi.parts_id = p.id)
WHERE (oi.trans_id = ?)|;
'oe_id' => $oe_id,);
my %ordered = ();
- do_statement($form, $sth, $query, $oe_id);
-
while (my $ref = $sth->fetchrow_hashref()) {
$ref->{baseqty} = $ref->{qty} * $all_units->{$ref->{unit}}->{factor} / $all_units->{$ref->{partunit}}->{factor};