Browse code

Zeige Rechnungen zu rückgebuchten Lastschriften als unbezahlt an

Bernd Wurst authored on08/09/2014 01:21:16
Showing5 changed files
... ...
@@ -65,6 +65,10 @@ if (count($invoices_to_show) == 0) {
65 65
       if ($l) {
66 66
         $bezahlt = 'Wird abgebucht<br/>am '.$l['buchungsdatum'];
67 67
         $class = 'paid';
68
+        if ($l['status'] == 'rejected') {
69
+          $bezahlt  = 'Abbuchung zurückgewiesen';
70
+          $class = 'unpaid';
71
+        }
68 72
       }
69 73
     }
70 74
   	output("<tr class=\"{$class}\"><td>".internal_link("html", $invoice['id'], "id={$invoice['id']}")."</td><td>{$invoice['datum']}</td><td>{$invoice['betrag']} €</td><td>{$bezahlt}</td><td>".internal_link("pdf", "<img src=\"{$prefix}images/pdf.png\" width=\"22\" height=\"22\" alt=\"PDF\"/>", "id={$invoice['id']}")."</td></tr>\n");
... ...
@@ -75,8 +75,10 @@ $l = get_lastschrift($invoice_id);
75 75
 
76 76
 if ($invoice['bezahlt'] == 1) {
77 77
   output('<p>Diese Rechnung ist bereits bezahlt.</p>');
78
-} elseif ($l) {
78
+} elseif ($l && $l['status'] == 'pending') {
79 79
   output('<p>Diese Rechnung wird am '.$l['buchungsdatum'].' per Lastschrift eingezogen.</p>');
80
+} elseif ($l && $l['status'] == 'done') {
81
+  output('<p>Diese Rechnung wurde am '.$l['buchungsdatum'].' per Lastschrift eingezogen.</p>');
80 82
 } else {
81 83
   $qrcode_image = generate_qrcode_image($invoice_id);
82 84
 
... ...
@@ -165,7 +165,7 @@ function generate_bezahlcode_image($id)
165 165
 
166 166
 function get_lastschrift($rechnungsnummer) {
167 167
   $rechnungsnummer = (int) $rechnungsnummer;
168
-  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, sl.betrag, buchungsdatum FROM kundendaten.sepalastschrift sl LEFT JOIN kundendaten.ausgestellte_rechnungen re ON (re.sepamandat=sl.mandatsreferenz) WHERE rechnungsnummer=? AND re.abbuchung=1", array($rechnungsnummer));
168
+  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, sl.betrag, buchungsdatum, sl.status FROM kundendaten.sepalastschrift sl LEFT JOIN kundendaten.ausgestellte_rechnungen re ON (re.sepamandat=sl.mandatsreferenz) WHERE rechnungsnummer=? AND re.abbuchung=1", array($rechnungsnummer));
169 169
   if ($result->rowCount() == 0) {
170 170
     return NULL;
171 171
   }
... ...
@@ -175,7 +175,7 @@ function get_lastschrift($rechnungsnummer) {
175 175
 
176 176
 function get_lastschriften($mandatsreferenz)
177 177
 {
178
-  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, betrag, buchungsdatum FROM kundendaten.sepalastschrift WHERE mandatsreferenz=? ORDER BY buchungsdatum DESC", array($mandatsreferenz));
178
+  $result = db_query("SELECT rechnungsnummer, rechnungsdatum, betrag, buchungsdatum, status FROM kundendaten.sepalastschrift WHERE mandatsreferenz=? ORDER BY buchungsdatum DESC", array($mandatsreferenz));
179 179
   $ret = array();
180 180
   while ($item = $result->fetch()) {
181 181
     $ret[] = $item;
... ...
@@ -83,9 +83,12 @@ if (! $lastschriften) {
83 83
 <ul>');
84 84
   foreach ($lastschriften as $l) {
85 85
     $status = '';
86
-    if ($l['buchungsdatum'] >= date('Y-m-d')) {
86
+    if ($l['status'] == 'pending') {
87 87
       $status = '<span style="color: red; font-weight: bold;">Vorgemerkt:</span> ';
88 88
     }
89
+    if ($l['status'] == 'rejected') {
90
+      $status = '<span style="color: red; font-weight: bold;">Zurückgewiesen:</span> ';
91
+    }
89 92
     output('<li>'.$status.'Rechnung #'.$l['rechnungsnummer'].' vom '.$l['rechnungsdatum'].' über <strong>'.str_replace('.', ',', sprintf('%.2f', $l['betrag'])).' €</strong>, Buchungsdatum '.$l['buchungsdatum'].'</li>');
90 93
   }
91 94
   output('</ul>');
... ...
@@ -22,7 +22,7 @@ if ($_SESSION['role'] & ROLE_CUSTOMER) {
22 22
   foreach($my_invoices AS $inv) {
23 23
     if ($inv['bezahlt'] == 0) {
24 24
       $l = get_lastschrift($inv['id']);
25
-      if (! $l) {
25
+      if (! $l || $l['status'] == 'rejected') {
26 26
         $unpayed_invoices++;
27 27
       }
28 28
     }