X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FPresenter%2FRecord.pm;h=592af556ad89935eabb193ba6931634398912cd7;hb=95b5d54bac9dc0cb47c67444c9e19c1d68b0d520;hp=d1d7c3b44d1293c07c6add2dc95c16eded7ae709;hpb=0e5e350124f7eec8f67109fe4777bc2dae6c0ea6;p=kivitendo-erp.git diff --git a/SL/Presenter/Record.pm b/SL/Presenter/Record.pm index d1d7c3b44..592af556a 100644 --- a/SL/Presenter/Record.pm +++ b/SL/Presenter/Record.pm @@ -48,12 +48,14 @@ sub grouped_record_list { $output .= _sales_quotation_list( $groups{sales_quotations}, %params) if $groups{sales_quotations}; $output .= _sales_order_list( $groups{sales_orders}, %params) if $groups{sales_orders}; $output .= _sales_delivery_order_list( $groups{sales_delivery_orders}, %params) if $groups{sales_delivery_orders}; + $output .= _rma_delivery_order_list( $groups{rma_delivery_orders}, %params) if $groups{rma_delivery_orders}; $output .= _sales_invoice_list( $groups{sales_invoices}, %params) if $groups{sales_invoices}; $output .= _ar_transaction_list( $groups{ar_transactions}, %params) if $groups{ar_transactions}; $output .= _request_quotation_list( $groups{purchase_quotations}, %params) if $groups{purchase_quotations}; $output .= _purchase_order_list( $groups{purchase_orders}, %params) if $groups{purchase_orders}; $output .= _purchase_delivery_order_list($groups{purchase_delivery_orders}, %params) if $groups{purchase_delivery_orders}; + $output .= _supplier_delivery_order_list($groups{supplier_delivery_orders}, %params) if $groups{supplier_delivery_orders}; $output .= _purchase_invoice_list( $groups{purchase_invoices}, %params) if $groups{purchase_invoices}; $output .= _ap_transaction_list( $groups{ap_transactions}, %params) if $groups{ap_transactions}; @@ -65,6 +67,9 @@ sub grouped_record_list { $output .= _sepa_transfer_list( $groups{sepa_transfers}, %params) if $groups{sepa_transfers}; $output .= _letter_list( $groups{letters}, %params) if $groups{letters}; + $output .= _email_journal_list( $groups{email_journals}, %params) if $groups{email_journals}; + + $output .= _dunning_list( $groups{dunnings}, %params) if $groups{dunnings}; $output = SL::Presenter->get->render('presenter/record/grouped_record_list', %params, output => $output); @@ -180,12 +185,14 @@ sub _group_records { shop_orders => sub { (ref($_[0]) eq 'SL::DB::ShopOrder') && $_[0]->id }, 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 }, + sales_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && $_[0]->is_type('sales_delivery_order') }, + rma_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && $_[0]->is_type('rma_delivery_order') }, sales_invoices => sub { (ref($_[0]) eq 'SL::DB::Invoice') && $_[0]->invoice }, ar_transactions => sub { (ref($_[0]) eq 'SL::DB::Invoice') && !$_[0]->invoice }, purchase_quotations => sub { (ref($_[0]) eq 'SL::DB::Order') && $_[0]->is_type('request_quotation') }, purchase_orders => sub { (ref($_[0]) eq 'SL::DB::Order') && $_[0]->is_type('purchase_order') }, - purchase_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && !$_[0]->is_sales }, + purchase_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && $_[0]->is_type('purchase_delivery_order') }, + supplier_delivery_orders => sub { (ref($_[0]) eq 'SL::DB::DeliveryOrder') && $_[0]->is_type('supplier_delivery_order') }, purchase_invoices => sub { (ref($_[0]) eq 'SL::DB::PurchaseInvoice') && $_[0]->invoice }, ap_transactions => sub { (ref($_[0]) eq 'SL::DB::PurchaseInvoice') && !$_[0]->invoice }, sepa_collections => sub { (ref($_[0]) eq 'SL::DB::SepaExportItem') && $_[0]->ar_id }, @@ -193,6 +200,8 @@ sub _group_records { gl_transactions => sub { (ref($_[0]) eq 'SL::DB::GLTransaction') }, bank_transactions => sub { (ref($_[0]) eq 'SL::DB::BankTransaction') && $_[0]->id }, letters => sub { (ref($_[0]) eq 'SL::DB::Letter') && $_[0]->id }, + email_journals => sub { (ref($_[0]) eq 'SL::DB::EmailJournal') && $_[0]->id }, + dunnings => sub { (ref($_[0]) eq 'SL::DB::Dunning') }, ); my %groups; @@ -359,6 +368,27 @@ sub _sales_delivery_order_list { ); } +sub _rma_delivery_order_list { + my ($list, %params) = @_; + + return record_list( + $list, + title => $::locale->text('RMA Delivery Orders'), + type => 'rma_delivery_order', + columns => [ + [ $::locale->text('Delivery Order Date'), 'transdate' ], + [ $::locale->text('Delivery Order Number'), sub { $_[0]->presenter->rma_delivery_order(display => 'table-cell') } ], + [ $::locale->text('Order Number'), 'ordnumber' ], + [ $::locale->text('Customer'), 'customer' ], + [ $::locale->text('Transaction description'), 'transaction_description' ], + [ $::locale->text('Project'), 'globalproject', ], + [ $::locale->text('Delivered'), 'delivered' ], + [ $::locale->text('Closed'), 'closed' ], + ], + %params, + ); +} + sub _purchase_delivery_order_list { my ($list, %params) = @_; @@ -380,6 +410,27 @@ sub _purchase_delivery_order_list { ); } +sub _supplier_delivery_order_list { + my ($list, %params) = @_; + + return record_list( + $list, + title => $::locale->text('Supplier Delivery Orders'), + type => 'supplier_delivery_order', + columns => [ + [ $::locale->text('Delivery Order Date'), 'transdate' ], + [ $::locale->text('Delivery Order Number'), sub { $_[0]->presenter->supplier_delivery_order(display => 'table-cell') } ], + [ $::locale->text('Order Number'), 'ordnumber' ], + [ $::locale->text('Vendor'), 'vendor' ], + [ $::locale->text('Transaction description'), 'transaction_description' ], + [ $::locale->text('Project'), 'globalproject', ], + [ $::locale->text('Delivered'), 'delivered' ], + [ $::locale->text('Closed'), 'closed' ], + ], + %params, + ); +} + sub _sales_invoice_list { my ($list, %params) = @_; @@ -554,6 +605,41 @@ sub _letter_list { ); } +sub _email_journal_list { + my ($list, %params) = @_; + + return record_list( + $list, + title => $::locale->text('Email'), + type => 'email_journal', + columns => [ + [ $::locale->text('Sent on'), sub { $_[0]->sent_on->to_kivitendo(precision => 'seconds') } ], + [ $::locale->text('Subject'), sub { $_[0]->presenter->email_journal(display => 'table-cell') } ], + [ $::locale->text('Status'), 'status' ], + [ $::locale->text('From'), 'from' ], + [ $::locale->text('To'), 'recipients' ], + ], + %params, + ); +} +sub _dunning_list { + my ($list, %params) = @_; + + return record_list( + $list, + title => $::locale->text('Dunnings'), + type => 'dunning', + columns => [ + [ $::locale->text('Dunning Level'), sub { $_[0]->presenter->dunning(display => 'table-cell') } ], + [ $::locale->text('Dunning Date'), 'transdate' ], + [ $::locale->text('Dunning Duedate'), 'duedate' ], + [ $::locale->text('Total Fees'), 'fee' ], + [ $::locale->text('Interest'), 'interest' ], + ], + %params, + ); +} + 1; __END__ @@ -622,6 +708,8 @@ The order in which the records are grouped is: =item * sales delivery orders +=item * rma delivery orders + =item * sales invoices =item * AR transactions @@ -632,6 +720,8 @@ The order in which the records are grouped is: =item * purchase delivery orders +=item * supplier delivery orders + =item * purchase invoices =item * AP transactions