From 8d2349d6f805b84d75273e0facbb20fb1d23f260 Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Wed, 13 Jul 2016 22:02:10 +0200 Subject: [PATCH] Support assigning a billing_date when paying a statement --- src/InfoCon/buch/index.wml | 13 ++++++++----- src/InfoCon/buch/pay.wml | 29 +++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/InfoCon/buch/index.wml b/src/InfoCon/buch/index.wml index a0685e2..6e2fe54 100644 --- a/src/InfoCon/buch/index.wml +++ b/src/InfoCon/buch/index.wml @@ -1,6 +1,7 @@ #include + -

Nicht bezahlte Rechnungen

+

Übersichten

", "", "") @@ -62,8 +63,9 @@ span.in:hover, span.out:hover { background: yellow; border: 1px solid #ccc; } for ($nr=0; $nr ", $row['nr']); - printf ("%d. %s %s (%.2f DM)
", $row['nr'], $date, $row['description'], $row['price']); + printf (" ", $row['nr'], $row['nr']); + printf (" pix/calendar.gif\" onclick=\"event.cancelBubble=true;popcalendar('date_%d');\" alt=\"\">", $row['nr']); + printf (" %d. %s %s (%.2f DM)
", $row['nr'], $date, $row['description'], $row['price']); } $query = "SELECT nr,date,description,price FROM sales WHERE paid=0 ORDER BY date,nr"; @@ -78,8 +80,9 @@ span.in:hover, span.out:hover { background: yellow; border: 1px solid #ccc; } for ($nr=0; $nr ", $row['nr']); - printf ('%d. %s %s (%.2f €)
', + printf (" ", $row['nr'], $row['nr']); + printf (" pix/calendar.gif\" onclick=\"event.cancelBubble=true;popcalendar('date_%d');\" alt=\"\">", $row['nr']); + printf (' %d. %s %s (%.2f €)
', $row['price'] < 0 ? 'out' : 'in', $row['nr'], $date, $row['description'], $row['price']); } diff --git a/src/InfoCon/buch/pay.wml b/src/InfoCon/buch/pay.wml index 62837d5..3ccc1c8 100644 --- a/src/InfoCon/buch/pay.wml +++ b/src/InfoCon/buch/pay.wml @@ -3,6 +3,15 @@ ", "", "") or die("Unable to connect to SQL server"); - $query = "SELECT nr FROM sales_dm WHERE paid = 0"; + $query = "SELECT nr FROM sales_dm WHERE paid = 0 ORDER BY date"; $sth = pg_exec ($dbh, $query); # Collect all to be paid entries @@ -34,13 +43,13 @@ for ($nr=0; $nr < pg_NumRows ($sth); $nr++) { $row = pg_fetch_array ($sth, $nr); - $v = sprintf ("pay_dm_%d", $row['nr']); - if (isset($_POST[$v])) { + $v = sprintf ("date_%d", $row['nr']); + if (strlen($_POST[$v])) { $paydm[] = $row['nr']; } } - $query = "SELECT nr FROM sales WHERE paid=0"; + $query = "SELECT nr FROM sales WHERE paid = 0 ORDER BY date"; $sth = pg_exec ($dbh, $query); # Collect all to be paid entries @@ -48,8 +57,8 @@ for ($nr=0; $nr $row = pg_fetch_array ($sth, $nr); - $v = sprintf ("pay_%d", $row['nr']); - if (isset($_POST[$v])) { + $v = sprintf ("date_%d", $row['nr']); + if (strlen($_POST[$v])) { $pay[] = $row['nr']; } } @@ -58,7 +67,9 @@ if (count($paydm) > 0) { echo ("Folgende Buchungen werden bezahlt:

"); for ($i=0; $i < count ($paydm); $i++) { - $query = sprintf ("UPDATE sales_dm SET paid=1 WHERE nr = %d", $paydm[$i]); + $date = assert_date($_POST[sprintf("date_%d", $paydm[$i])]); + $query = sprintf ("UPDATE sales_dm SET paid=1, billing_date='%s' WHERE nr = %d", + $date, $paydm[$i]); echo (dig ($dbh, "sales_dm", $paydm[$i])); $sth = pg_exec ($dbh, $query); @@ -70,7 +81,9 @@ echo ("Folgende Buchungen werden bezahlt:

"); } for ($i=0; $i < count ($pay); $i++) { - $query = sprintf ("UPDATE sales SET paid=1 WHERE nr = %d", $pay[$i]); + $date = assert_date($_POST[sprintf("date_%d", $pay[$i])]); + $query = sprintf ("UPDATE sales SET paid=1, billing_date='%s' WHERE nr = %d", + $date, $pay[$i]); echo (dig ($dbh, "sales", $pay[$i])); $sth = pg_exec ($dbh, $query); -- 2.20.1