Merge branch 'master' into dev
[kivitendo-erp.git] / SL / Controller / RecordLinks.pm
1 package SL::Controller::RecordLinks;
2
3 use strict;
4
5 use parent qw(SL::Controller::Base);
6
7 use SL::DB::Order;
8 use SL::DB::DeliveryOrder;
9 use SL::DB::Invoice;
10 use SL::DB::PurchaseInvoice;
11 use SL::Locale::String;
12
13 #
14 # actions
15 #
16
17 sub action_ajax_list {
18   my ($self) = @_;
19
20   eval {
21     die $::locale->text("Invalid parameters") if (!$::form->{object_id} || ($::form->{object_model} !~ m/^(?:Order|DeliveryOrder|Invoice|PurchaseInvoice)$/));
22
23     my $model          = 'SL::DB::' . $::form->{object_model};
24     my $object         = $model->new(id => $::form->{object_id})->load || die $::locale->text("Record not found");
25     my $linked_records = $object->linked_records(direction => 'both');
26     my $output         = SL::Presenter->get->grouped_record_list($linked_records);
27     $self->render(\$output, { layout => 0, process => 0 });
28
29     1;
30   } or do {
31     $self->render('generic/error', { layout => 0 }, label_error => $@);
32   };
33 }
34
35 1;