Rechnungsversand per E-Mail
authorJan Büren <jan@kivitendo.de>
Fri, 14 Sep 2018 09:48:16 +0000 (11:48 +0200)
committerJan Büren <jan@kivitendo.de>
Mon, 14 Jan 2019 10:58:26 +0000 (11:58 +0100)
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
locale/de/all
templates/webpages/common/_send_email_dialog.html
templates/webpages/oe/edit_periodic_invoices_config.html

index 86010b1..ece721f 100644 (file)
@@ -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;
index ccc6725..eed975a 100755 (executable)
@@ -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)',
index 7b5e8bd..3b00f1a 100644 (file)
  <tbody>
   <tr>
    <th align="right" nowrap>
-    [% LxERP.t8("Recipients") %]
+    [% IF is_invoice_mail  %]
+      [% LxERP.t8("Invoice to:") %]
+    [% ELSE %]
+      [% LxERP.t8("Recipients") %]
+    [% END %]
    </th>
    <td>
-    [% 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 ) %]
     <span class="interactive cursor-pointer"        onclick="$('[data-toggle-recipients=1]').toggle()" data-toggle-recipients="1">[+]</span>
     <span class="interactive cursor-pointer hidden" onclick="$('[data-toggle-recipients=1]').toggle()" data-toggle-recipients="1">[-]</span>
    </td>
index 04156f4..6669e6c 100644 (file)
      <td>[% L.checkbox_tag("send_email", onclick => "toggle_send_email_ctrl()", checked=config.send_email) %]</td>
     </tr>
     <tr>
-     <th align="right">[%- LxERP.t8("Invoicing mail address") %]</th>
+     <th align="right">[%- LxERP.t8("Email of the invoice recipient") %]</th>
      <td>[% email_recipient_invoice_address %]</td>
     </tr>
     <tr>