Rechnungsmodul: Link zur Bezahlseite im Dashboard des Kunden

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von ramsys, 11. Feb. 2014.

  1. ramsys

    ramsys Member

    In den globalen Einstellungen des Rechnungmoduls kann der Link zur Bezahlseite (de)aktiviert werden. In den einzelnen Rechnungen über den Wert für "Zahlungs Provider" jeweils auch:

    Code:
    None: Die automatische Zahlungsseite ist deaktiviert.
    Auto: Die automatische Zahlungsseite ist aktiviert.
    
    Wenn die Bezahlseite nun sowohl global als auch in der entsprechenden Rechnung deaktiviert ist, haben im Dashboard des Kunden trotzdem alle unbezahlten Rechnungen einen Link zu einer Bezahlseite. Die über den Link aufgerufene Seite gibt dann die Fehlermeldung "Payment page has been disabled for this invoice." aus.

    Im Handbuch zum Rechnungsmodul (Kapitel 9.2 Dashboard-Plugin, Seite 43) ist zu erkennen, dass unbezahlte Rechnungen entweder einen Link zur Bezahlseite haben - oder eben nicht. Vermutlich je nach Einstellung in der jeweiligen Rechnung.

    Da dies bei uns nicht so ist (der Link ist auch bei kompletter Deaktivierung vorhanden): Habe ich irgendeine Konfiguration übersehen oder handelt es sich um einen Bug?
     
  2. ramsys

    ramsys Member

    Wenn dieser Link tatsächlich derzeit nicht vom System konfiguriert werden kann (obwohl im Handbuch offensichtlich so dargestellt), würde ich hier den Quellcode entsprechend anpassen. Einen Vorschlag dazu?
     
  3. ramsys

    ramsys Member

    Hier der Patch:

    PHP:
    diff --git a/interface/web/dashboard/dashlets/invoices.php b/interface/web/dashboard/dashlets/invoices.php
    index d87cc69
    ..cbdca2f 100644
    --- a/interface/web/dashboard/dashlets/invoices.php
    +++ b/interface/web/dashboard/dashlets/invoices.php
    @@ -50,+50,11 @@
                                 } else {
                                     
    $invoice_pay_link = (@$_SERVER['HTTPS'] == 'on' 'https' 'http').'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].'/billing/payments/pay.php?id='.$tmp['idhash'];
                                 }
    -                            
    $tmp['invoice_status'] = '<span style="color:#cc0000;">'.($tmp['invoice_type'] == 'invoice' $wb['unpaid_txt'] : $wb['proforma_txt']).'</span><br />[<a href="'.$invoice_pay_link.'" target="_blank">'.$wb['paynow_txt'].'</a>]';
    +                            if (
    $tmp['payment_gateway'] == 'none') {
    +                                
    $tmp['invoice_status'] = '<span style="color:#cc0000;">'.($tmp['invoice_type'] == 'invoice' $wb['unpaid_txt'] : $wb['proforma_txt']).'</span>';
    +                            } else {
    +                                
    $tmp['invoice_status'] = '<span style="color:#cc0000;">'.($tmp['invoice_type'] == 'invoice' $wb['unpaid_txt'] : $wb['proforma_txt']).'</span><br />[<a href="'.$invoice_pay_link.'" target="_blank">'.$wb['paynow_txt'].'</a>]';
    +                            }
                             } elseif(
    $tmp['invoice_type'] == 'refund') {
                                 
    $tmp['invoice_status'] = '<span style="color:#cc0000;">'.$wb['not_refunded_txt'].'</span>';
                             } else {

     
  4. ramsys

    ramsys Member

    Es gibt noch einen Bug: Auf der Bezahlseite wird die Stadt bei Rechnungs- und Zahlungsempfänger nicht ausgeben.

    Hier der Patch:

    PHP:
    diff --git a/interface/web/billing/payments/pay.php b/interface/web/billing/payments/pay.php
    index 8e5e800
    ..c984ebf 100644
    --- a/interface/web/billing/payments/pay.php
    +++ b/interface/web/billing/payments/pay.php
    @@ -30,12 +30,14 @@
     
    $out['company_name'] = $company['company_name'];
     
    $out['company_street'] = $company['street'];
     
    $out['company_zip'] = $company['zip'];
    +
    $out['company_city'] = $company['city'];
     
    $out['company_state'] = $company['state'];
     
    $out['company_country'] = $company['country'];
     
     
    $out['invoice_name'] = $invoice['company_name'];
     
    $out['invoice_street'] = $invoice['street'];
     
    $out['invoice_zip'] = $invoice['zip'];
    +
    $out['invoice_city'] = $invoice['city'];
     
    $out['invoice_state'] = $invoice['state'];
     
    $out['invoice_country'] = $invoice['country'];
     
    diff --git a/interface/web/billing/templates/payments_pay.htm b/interface/web/billing/templates/payments_pay.htm
    index 1ec9fa2
    ..646fe26 100644
    --- a/interface/web/billing/templates/payments_pay.htm
    +++ b/interface/web/billing/templates/payments_pay.htm
    @@ -17,+17,@@
         <
    hr />
         {
    tmpl_var name='invoice_name'}<br />
         {
    tmpl_var name='invoice_street'}<br />
    -    {
    tmpl_var name='invoice_zip'} {tmpl_var name='company_city'}<br />
    +    {
    tmpl_var name='invoice_zip'} {tmpl_var name='invoice_city'}<br />
         {
    tmpl_var name='invoice_state'}<br />
         {
    tmpl_var name='invoice_country'}<br />
         </
    div>

     
  5. Till

    Till Administrator

    Danke für die Patches. habe es im Bugtracker vermerkt.
     

Diese Seite empfehlen