From c1ef3affe17e3c7d044ae3e6f70b802817de8ede Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Fri, 14 Sep 2018 11:48:16 +0200 Subject: [PATCH] Rechnungsversand per E-Mail MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Falls bei dem Kunden eine E-Mail-Adresse für den Rechnungsversand hinterlegt ist, so hat diese Priorität vor der allgemeinem Rechnungsadresse. Als visuelle Hilfe, wird aus dem Titel 'Empfänger' der Titel 'Rechnung an:'. Logik normale Rechnung: 1.) Die Adresse des Ansprechpartners hat Priorität vor allen anderen Adressen (bleibt) 2.) Falls kein Ansprechpartner -> Prüfen auf Rechnungsadresse (neu) 3.) Falls immer noch keine E-Mail -> Prüfen auf generische Mail des Kunden (bleibt) Logik wiederkehrende Rechnung: Falls eine Rechnungsadresse gesetzt ist, wird diese schreibgeschützt angezeigt. Weitere Adressen können wie bisher auch über die Auswahl des Ansprechpartners oder per freier Eingabe zusätzlich definiert werden --- bin/mozilla/io.pl | 8 +++++++- locale/de/all | 1 + templates/webpages/common/_send_email_dialog.html | 8 ++++++-- templates/webpages/oe/edit_periodic_invoices_config.html | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 86010b14f..ece721f33 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -2023,7 +2023,12 @@ sub show_sales_purchase_email_dialog { if ($::form->{cp_id}) { $email = SL::DB::Contact->load_cached($::form->{cp_id})->cp_email; } - + my $invoice_mail; + if ($::form->{type} eq 'invoice' && !$email) { + # check for invoice_mail + $email = SL::DB::Customer->load_cached($::form->{vc_id})->invoice_mail; + $invoice_mail = 1 if $email; + } if (!$email && $::form->{vc} && $::form->{vc_id}) { $email = SL::DB::Customer->load_cached($::form->{vc_id})->email if 'customer' eq $::form->{vc}; $email = SL::DB::Vendor ->load_cached($::form->{vc_id})->email if 'vendor' eq $::form->{vc}; @@ -2045,6 +2050,7 @@ sub show_sales_purchase_email_dialog { show_bcc => $::auth->assert('email_bcc', 'may fail'), FILES => \%files, is_customer => $::form->{vc} eq 'customer', + is_invoice_mail => $invoice_mail, }); print $::form->ajax_response_header, $html; diff --git a/locale/de/all b/locale/de/all index ccc672597..eed975a50 100755 --- a/locale/de/all +++ b/locale/de/all @@ -1683,6 +1683,7 @@ $self->{texts} = { 'Invoice for fees' => 'Rechnung über Gebühren', 'Invoice has already been storno\'d!' => 'Diese Rechnung wurde bereits storniert.', 'Invoice number' => 'Rechnungsnummer', + 'Invoice to:' => 'Rechnung an:', 'Invoice total' => 'Die Rechnungssumme', 'Invoice total less discount' => 'Rechnungssumme abzüglich Skonto', 'Invoice with Storno (abbreviation)' => 'R(S)', diff --git a/templates/webpages/common/_send_email_dialog.html b/templates/webpages/common/_send_email_dialog.html index 7b5e8bdba..3b00f1a28 100644 --- a/templates/webpages/common/_send_email_dialog.html +++ b/templates/webpages/common/_send_email_dialog.html @@ -23,10 +23,14 @@ - [% LxERP.t8("Recipients") %] + [% IF is_invoice_mail %] + [% LxERP.t8("Invoice to:") %] + [% ELSE %] + [% LxERP.t8("Recipients") %] + [% END %] - [% L.input_tag("email_form.to", email_form.to, size="80") %] + [% L.input_tag("email_form.to", email_form.to, size="80",readonly=is_invoice_mail ) %] [+] diff --git a/templates/webpages/oe/edit_periodic_invoices_config.html b/templates/webpages/oe/edit_periodic_invoices_config.html index 04156f4e9..6669e6cc5 100644 --- a/templates/webpages/oe/edit_periodic_invoices_config.html +++ b/templates/webpages/oe/edit_periodic_invoices_config.html @@ -104,7 +104,7 @@ [% L.checkbox_tag("send_email", onclick => "toggle_send_email_ctrl()", checked=config.send_email) %] - [%- LxERP.t8("Invoicing mail address") %] + [%- LxERP.t8("Email of the invoice recipient") %] [% email_recipient_invoice_address %] -- 2.20.1