X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FLinkedRecords.pm;h=115198124fc2247c9128cadb003671cf8ab9bbf4;hb=refs%2Fheads%2Fswiss;hp=cca9fe3c1e3e5ec4d98254eb5e66b73c0ccde885;hpb=d6d08d5ee343b6552656a9bb7450374897a16e1a;p=kivitendo-erp.git diff --git a/SL/DB/Helper/LinkedRecords.pm b/SL/DB/Helper/LinkedRecords.pm index cca9fe3c1..115198124 100644 --- a/SL/DB/Helper/LinkedRecords.pm +++ b/SL/DB/Helper/LinkedRecords.pm @@ -148,6 +148,9 @@ sub _linked_records_implementation { ORDER BY ${wanted}_table, ${wanted}_id, depth ASC; my $links = selectall_hashref_query($::form, $::form->get_standard_dbh, $query, $self->id, $self->meta->table); + + return [] unless @$links; + my $link_objs = SL::DB::Manager::RecordLink->get_all(query => [ id => [ map { $_->{id} } @$links ] ]); my @objects = map { $get_objects->($_) } @$link_objs; @@ -367,7 +370,7 @@ names in an array reference in which case all links matching any of the model names will be returned. If no parameter C is given, but any of C, C or C, -then C is infered accordingly. If neither are given, C is +then C is inferred accordingly. If neither are given, C is set to C. The optional parameter C can be used to retrieve all documents that may @@ -381,7 +384,7 @@ array reference. Examples: If you only need invoices created directly from an order C<$order> (no -delivery orders inbetween) then the call could look like this: +delivery orders in between) then the call could look like this: my $invoices = $order->linked_records( direction => 'to', @@ -389,7 +392,7 @@ delivery orders inbetween) then the call could look like this: ); Retrieving all invoices from a quotation no matter whether or not -orders or delivery orders where created: +orders or delivery orders were created: my $invoices = $quotation->linked_records( direction => 'to', @@ -432,7 +435,7 @@ visited twice, so this will find the path o1 -> o2 -> do -> o2 -> i without considering it a cycle. -The optional extra flag C will give you extra inforamtion saved in +The optional extra flag C will give you extra information saved in the returned objects: my $records = $order->linked_records( @@ -447,8 +450,8 @@ Every record will have two fields set: =item C<_record_link_path> -And array with the ids of the visited links. The shortest paths will be -prefered, so in the previous example this would contain the ids of o1-o2 and +An array with the ids of the visited links. The shortest paths will be +preferred, so in the previous example this would contain the ids of o1-o2 and o2-i. =item C<_record_link_depth> @@ -540,7 +543,7 @@ Note: If the latter has a default setting it will always mask the creation time. Returns an array reference. -Can only be called both as a class function since it is noe exported. +Can only be called both as a class function since it is not exported. =back