X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FPresenter%2FRecord.pm;h=23c5d46eac6d1539142c38feef600462bda28889;hb=eb07117b26f569d689835471cab6665e510e123e;hp=4f9a5183074cecb826088d8b8289b14c8d2c7202;hpb=ebe71b37a511272a7e64c9bd06a6cc336480d224;p=kivitendo-erp.git diff --git a/SL/Presenter/Record.pm b/SL/Presenter/Record.pm index 4f9a51830..23c5d46ea 100644 --- a/SL/Presenter/Record.pm +++ b/SL/Presenter/Record.pm @@ -27,6 +27,7 @@ sub grouped_record_list { my %groups = _sort_grouped_lists(_group_records($list)); my $output = ''; + $output .= _requirement_spec_list( $self, $groups{requirement_specs}, %params) if $groups{requirement_specs}; $output .= _sales_quotation_list( $self, $groups{sales_quotations}, %params) if $groups{sales_quotations}; $output .= _sales_order_list( $self, $groups{sales_orders}, %params) if $groups{sales_orders}; $output .= _sales_delivery_order_list( $self, $groups{sales_delivery_orders}, %params) if $groups{sales_delivery_orders}; @@ -74,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') }, }; } @@ -142,6 +148,7 @@ sub _group_records { my ($list) = @_; my %matchers = ( + requirement_specs => sub { (ref($_[0]) eq 'SL::DB::RequirementSpec') }, sales_quotations => sub { (ref($_[0]) eq 'SL::DB::Order') && $_[0]->is_type('sales_quotation') }, sales_orders => sub { (ref($_[0]) eq 'SL::DB::Order') && $_[0]->is_type('sales_order') }, sales_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && $_[0]->is_sales }, @@ -182,6 +189,24 @@ sub _sort_grouped_lists { return %groups; } +sub _requirement_spec_list { + my ($self, $list, %params) = @_; + + return $self->record_list( + $list, + title => $::locale->text('Requirement specs'), + type => 'requirement_spec', + columns => [ + [ $::locale->text('Requirement spec number'), sub { $self->requirement_spec($_[0], display => 'table-cell') } ], + [ $::locale->text('Customer'), 'customer' ], + [ $::locale->text('Title'), 'title' ], + [ $::locale->text('Project'), 'project', ], + [ $::locale->text('Status'), sub { $_[0]->status->description } ], + ], + %params, + ); +} + sub _sales_quotation_list { my ($self, $list, %params) = @_; @@ -315,6 +340,7 @@ sub _sales_invoice_list { type => 'sales_invoice', columns => [ [ $::locale->text('Invoice Date'), 'transdate' ], + [ $::locale->text('Type'), sub { $_[0]->displayable_type } ], [ $::locale->text('Invoice Number'), sub { $self->sales_invoice($_[0], display => 'table-cell') } ], [ $::locale->text('Quotation Number'), 'quonumber' ], [ $::locale->text('Order Number'), 'ordnumber' ], @@ -357,6 +383,7 @@ sub _ar_transaction_list { type => 'ar_transaction', columns => [ [ $::locale->text('Invoice Date'), 'transdate' ], + [ $::locale->text('Type'), sub { $_[0]->displayable_type } ], [ $::locale->text('Invoice Number'), sub { $self->ar_transaction($_[0], display => 'table-cell') } ], [ $::locale->text('Customer'), 'customer' ], [ $::locale->text('Net amount'), 'netamount' ], @@ -545,13 +572,13 @@ C. =item C Can be set by the caller to indicate additional columns to -list. Currently supported: +be listed. Currently supported: =over 2 =item C -The record link destination. Requires that the records to list have +The record link destination. Requires that the records to be listed have been retrieved via the L helper. =back @@ -559,7 +586,7 @@ been retrieved via the L helper. =item C If trueish additional controls will be rendered that allow the user to -remove and add record links. Requires that the records to list have +remove and add record links. Requires that the records to be listed have been retrieved via the L helper. =back