From 950a4fad9c7e5e41cc65c5f12a4031ec23203854 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 31 May 2008 17:42:32 +0000 Subject: [PATCH] Add "joined this month" annotations in bootworthy list --- money.mlt | 3 ++- money.sig | 2 +- money.sml | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/money.mlt b/money.mlt index 8ca3486..7156f95 100644 --- a/money.mlt +++ b/money.mlt @@ -588,7 +588,8 @@ elseif $"cmd" = "freezeworthy" then <% foreach dq in dqs do %> - + +<% if #joinedThisMonth dq then %><% end %> <% end %>
Member Balance
<% #name dq %> $<% #balance dq %>
<% #name dq %> $<% #balance dq %>(joined this month)
diff --git a/money.sig b/money.sig index 511d50c..4195a87 100644 --- a/money.sig +++ b/money.sig @@ -38,7 +38,7 @@ sig val resetPledges : int list -> unit val freezeworthyPledgers : unit -> { id : int, name : string, balance : real, joinedThisMonth : bool } list - val bootworthyPledgers : unit -> { id : int, name : string, balance : real } list + val bootworthyPledgers : unit -> { id : int, name : string, balance : real, joinedThisMonth : bool } list val billDues : {descr : string, base : real, date : string} -> unit end diff --git a/money.sml b/money.sml index 6701459..1ca22a2 100644 --- a/money.sml +++ b/money.sml @@ -313,11 +313,11 @@ fun bootworthyPledgers () = let val baseDues = 5.0 - fun makeRow [id, name, amount] = {id = C.intFromSql id, name = C.stringFromSql name, - balance = C.realFromSql amount} + fun makeRow [id, name, amount, j] = {id = C.intFromSql id, name = C.stringFromSql name, + balance = C.realFromSql amount, joinedThisMonth = C.boolFromSql j} | makeRow row = Init.rowError ("Bad bootworthyPledgers", row) in - C.map (getDb ()) makeRow ($`SELECT WebUserPaying.id, WebUserPaying.name, amount + C.map (getDb ()) makeRow ($`SELECT WebUserPaying.id, WebUserPaying.name, amount, CURRENT_TIMESTAMP - joined < INTERVAL '1 month' FROM WebUserPaying JOIN Balance ON Balance.id = bal WHERE amount < ^(C.realToSql baseDues) * ^(C.intToSql graceMonths) ORDER BY name`) -- 2.20.1