From b8a93e44bab8cd0e5de93560609350b172c79f00 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Mon, 14 Mar 2022 19:38:52 +0100 Subject: [PATCH] =?utf8?q?Rechnungsbericht:=20Dateianh=C3=A4nge=20anzeigen?= =?utf8?q?=20k=C3=B6nnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bin/mozilla/ar.pl | 21 ++++++++++++++++++++- templates/webpages/ar/search.html | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index afa9aa862..cf0555f90 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -1028,7 +1028,7 @@ sub ar_transactions { qw(ids transdate id type invnumber ordnumber cusordnumber donumber deliverydate name netamount tax amount paid datepaid due duedate transaction_description notes salesman employee shippingpoint shipvia marge_total marge_percent globalprojectnumber customernumber country ustid taxzone - payment_terms charts customertype direct_debit dunning_description department); + payment_terms charts customertype direct_debit dunning_description department attachments); my $ct_cvar_configs = CVar->get_configs('module' => 'CT'); my @ct_includeable_custom_variables = grep { $_->{includeable} } @{ $ct_cvar_configs }; @@ -1082,6 +1082,7 @@ sub ar_transactions { 'direct_debit' => { 'text' => $locale->text('direct debit'), }, 'department' => { 'text' => $locale->text('Department'), }, dunning_description => { 'text' => $locale->text('Dunning level'), }, + attachments => { 'text' => $locale->text('Attachments'), }, %column_defs_cvars, ); @@ -1206,6 +1207,10 @@ sub ar_transactions { $subtotals{marge_percent} = $subtotals{netamount} ? ($subtotals{marge_total} * 100 / $subtotals{netamount}) : 0; $totals{marge_percent} = $totals{netamount} ? ($totals{marge_total} * 100 / $totals{netamount} ) : 0; + # Preserve $ar->{type} before changing it to the abbreviation letter for + # getting files from file management below. + $ar->{object_type} = $ar->{type}; + my $is_storno = $ar->{storno} && $ar->{storno_id}; my $has_storno = $ar->{storno} && !$ar->{storno_id}; @@ -1249,6 +1254,20 @@ sub ar_transactions { align => 'center', }; + if ($::instance_conf->get_doc_storage && $form->{l_attachments}) { + my @files = SL::File->get_all_versions(object_id => $ar->{id}, + object_type => $ar->{object_type} || 'invoice', + file_type => 'attachment',); + if (scalar @files) { + my $html = join '
', map { SL::Presenter::FileObject::file_object($_) } @files; + my $text = join "\n", map { $_->file_name } @files; + $row->{attachments} = { 'raw_data' => $html, data => $text }; + } else { + $row->{attachments} = { }; + } + + } + my $row_set = [ $row ]; if (($form->{l_subtotal} eq 'Y') diff --git a/templates/webpages/ar/search.html b/templates/webpages/ar/search.html index 8676fb55c..3a6896222 100644 --- a/templates/webpages/ar/search.html +++ b/templates/webpages/ar/search.html @@ -208,6 +208,12 @@ [% 'direct debit' | $T8 %] +[% IF INSTANCE_CONF.get_doc_storage -%] + + + [% 'Attachments' | $T8 %] + +[% END-%] [% 'Customer' | $T8 %] -- 2.20.1