RecordLinks: Anzeige etwas verbessert
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 4 Jun 2014 14:28:20 +0000 (16:28 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 4 Jun 2014 14:28:20 +0000 (16:28 +0200)
SL/Controller/RecordLinks.pm
SL/DB/Helper/LinkedRecords.pm
SL/Presenter/Record.pm
locale/de/all

index ea0c778..08a95bd 100644 (file)
@@ -53,7 +53,7 @@ sub action_ajax_list {
   my ($self) = @_;
 
   eval {
-    my $linked_records = $self->object->linked_records(direction => 'both', recursive => 1);
+    my $linked_records = $self->object->linked_records(direction => 'both', recursive => 1, save_path => 1);
     push @{ $linked_records }, $self->object->sepa_export_items if $self->object->can('sepa_export_items');
     my $output         = SL::Presenter->get->grouped_record_list(
       $linked_records,
index b75597a..cca9fe3 100644 (file)
@@ -154,8 +154,11 @@ sub _linked_records_implementation {
     if ($params{save_path}) {
        my %links_by_id = map { $_->{id} => $_ } @$links;
        for (@objects) {
-         $_->{_record_link_path}  = $links_by_id{$_->{_record_link}->id}->{path};
-         $_->{_record_link_depth} = $links_by_id{$_->{_record_link}->id}->{depth};
+         my $link = $links_by_id{$_->{_record_link}->id};
+         my $intermediate_links = SL::DB::Manager::RecordLink->get_all(query => [ id => $link->{path} ]);
+         $_->{_record_link_path}     = $link->{path};
+         $_->{_record_link_obj_path} = [ map { $get_objects->($_) } @$intermediate_links ];
+         $_->{_record_link_depth}    = $link->{depth};
        }
     }
 
index 2bbaaf6..368a05d 100644 (file)
@@ -75,7 +75,12 @@ sub record_list {
   if ($with_columns{record_link_direction}) {
     push @columns, {
       title => $::locale->text('Link direction'),
-      data  => sub { $_[0]->{_record_link_direction} eq 'from' ? $::locale->text('Row was source for current record') : $::locale->text('Row was created from current record') },
+      data  => sub {
+          $_[0]->{_record_link_depth} > 1
+        ? $::locale->text('Row was linked to another record')
+        : $_[0]->{_record_link_direction} eq 'from'
+        ? $::locale->text('Row was source for current record')
+        : $::locale->text('Row was created from current record') },
     };
   }
 
index 9c2a9fc..56d5255 100755 (executable)
@@ -1964,6 +1964,7 @@ $self->{texts} = {
   'Row #1: amount has to be different from zero.' => 'Zeile #1: Der Wert darf nicht 0 sein.',
   'Row number'                  => 'Zeilennummer',
   'Row was created from current record' => 'Zeile wurde aus aktuellem Beleg erstellt',
+  'Row was linked to another record' => 'Zeile wurde über einen anderen Beleg verlinkt',
   'Row was source for current record' => 'Zeile war Quelle für aktuellen Beleg',
   'Run at'                      => 'Ausgeführt um',
   'SAVED'                       => 'Gespeichert',