X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FDO.pm;h=2ad076a80a2ef7562aaaa840032fa81b96b51335;hb=94e596e55cef6b9ef9b80b5a4dba8204e0c29c9f;hp=798d19f72d8f6d56c8bd5211f93e6b1cc3201d6c;hpb=5df2b57a097f66f6cecba0aa577c7aaba3422ab6;p=kivitendo-erp.git diff --git a/SL/DO.pm b/SL/DO.pm index 798d19f72..2ad076a80 100644 --- a/SL/DO.pm +++ b/SL/DO.pm @@ -142,12 +142,13 @@ sub transactions { "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); @@ -344,12 +345,14 @@ sub save { $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',