Zeige zunächst nur unbezahlte Rechnungen und sortiere absteigend
Bernd Wurst

Bernd Wurst commited on 2012-05-19 08:52:16
Zeige 2 geänderte Dateien mit 31 Einfügungen und 5 Löschungen.

... ...
@@ -23,21 +23,47 @@ require_role(ROLE_CUSTOMER);
23 23
 title('Rechnungen');
24 24
 output('<p>Hier können Sie Ihre bisherigen Rechnungen einsehen und herunterladen.</p>');
25 25
 
26
+$show_paid = (isset($_GET['paid']) && $_GET['paid'] == '1');
27
+
26 28
 $invoices = my_invoices();
27 29
 
30
+$invoices_to_show = array();
31
+foreach ($invoices as $i) {
32
+  if ($show_paid || $i['bezahlt'] == 0) {
33
+    array_push($invoices_to_show, $i);
34
+  }
35
+}
36
+
37
+if (count($invoices_to_show) == 0) {
38
+  $error = 'Keine Rechnungen gefunden.';
39
+  if (count($invoices) == 0) {
40
+    $error = 'Bisher keine Rechnungen vorhanden.';
41
+  } else {
42
+    $error = 'Keine offenen Rechnungen vorhanden. Klicken Sie auf den nachstehenden Link um bereits bezahlte Rechnungen zu sehen.';
43
+  }
44
+  if ($show_paid) {
45
+  }
46
+
47
+  output('<p><em>'.$error.'</em></p>');
48
+} else {
28 49
   output('<table><tr><th>Nr.</th><th>Datum</th><th>Gesamtbetrag</th><th>bezahlt?</th><th>Herunterladen</th></tr>');
29 50
 
30
-foreach($invoices AS $invoice)
51
+  foreach($invoices_to_show AS $invoice)
31 52
   {
32 53
 	  $bezahlt = 'Nein';
33 54
   	if ($invoice['bezahlt'] == 1)
34 55
 	  	$bezahlt = 'Ja';
35
-	output("<tr><td>{$invoice['id']}</td><td>{$invoice['datum']}</td><td>{$invoice['betrag']} €</td><td>{$bezahlt}</td><td>".internal_link("pdf", "PDF", "id={$invoice['id']}").' &#160; '.internal_link("html", "HTML", "id={$invoice['id']}")."</td></tr>\n");
56
+  	output("<tr><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", "PDF", "id={$invoice['id']}").' &#160; '.internal_link("html", "HTML", "id={$invoice['id']}")."</td></tr>\n");
36 57
   }
37 58
 
38
-output('</table><br />
59
+  output('</table><br />');
60
+}
61
+
62
+if (! $show_paid) {
63
+  output('<p>'.internal_link('', 'Bereits bezahlte Rechnungen zeigen', 'paid=1').'</p>');
64
+}
65
+output('<p>'.internal_link('upcoming', 'Zukünftige Rechnungsposten anzeigen').'</p>');
39 66
 
40
-<p>'.internal_link('upcoming', 'Zukünftige Rechnungsposten anzeigen').'</p>');
41 67
 
42 68
 
43 69
 ?>
... ...
@@ -20,7 +20,7 @@ require_once('inc/security.php');
20 20
 function my_invoices()
21 21
 {
22 22
   $c = (int) $_SESSION['customerinfo']['customerno'];
23
-  $result = db_query("SELECT id,datum,betrag,bezahlt,abbuchung FROM kundendaten.ausgestellte_rechnungen WHERE kunde={$c}");
23
+  $result = db_query("SELECT id,datum,betrag,bezahlt,abbuchung FROM kundendaten.ausgestellte_rechnungen WHERE kunde={$c} ORDER BY id DESC");
24 24
   $ret = array();
25 25
   while($line = mysql_fetch_assoc($result))
26 26
   	array_push($ret, $line);
27 27