X-Git-Url: http://git.hcoop.net/hcoop/portal.git/blobdiff_plain/5c705bcb58ea122dbd2b8163edc3e24c194d2ab1..b7b8862b65e3a2be9daaef4f2850d9ebafebe4c3:/money.sml diff --git a/money.sml b/money.sml index d0668a4..8fa5ed7 100644 --- a/money.sml +++ b/money.sml @@ -276,7 +276,7 @@ fun costBase amt = val monthlyCost = 900.0 val graceMonths = 1 -val baseDues = 5.0 +val baseDues = 7.0 fun delinquentPledgers () = let @@ -292,17 +292,15 @@ fun delinquentPledgers () = end fun resetPledges ids = - raise Fail ($`UPDATE WebUser SET shares = 1 WHERE id IN (^(String.concatWith ", " (List.map C.intToSql ids)))`) + ignore (C.dml (getDb ()) ($`UPDATE WebUser SET shares = 1 WHERE id IN (^(String.concatWith ", " (List.map C.intToSql ids)))`)) fun freezeworthyPledgers () = 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 freezeworthyPledgers", 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) AND amount < ^(C.realToSql baseDues) * ^(C.intToSql (graceMonths + 1)) @@ -311,13 +309,11 @@ fun freezeworthyPledgers () = 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`)