X-Git-Url: http://git.hcoop.net/hcoop/zz_old/portal.git/blobdiff_plain/f98251aaca90e22b76903ae1875e4c565bb995b7..f9d08b8c04c4174dac4f9c9e4750d39c3e6c5423:/money.sml diff --git a/money.sml b/money.sml index 056b051..4a4adb7 100644 --- a/money.sml +++ b/money.sml @@ -204,7 +204,7 @@ fun addHostingCharges {trn, cutoff, cost, usage} = in walkNvs (rest, SM.insert (umap, name, extra), - amount - extra) + amount + extra) end else walkNvs (rest, umap, amount) @@ -221,7 +221,7 @@ fun addHostingCharges {trn, cutoff, cost, usage} = val (charge, umap) = case SM.find (umap, #name usr) of NONE => (even, umap) - | SOME extra => (even + extra, #1 (SM.remove (umap, #name usr))) + | SOME extra => (even - extra, #1 (SM.remove (umap, #name usr))) in addCharge {trn = trn, usr = #id usr, amount = charge}; umap @@ -232,4 +232,8 @@ fun addHostingCharges {trn, cutoff, cost, usage} = else raise Fail "Usage description contains an unknown username" end + +fun equalizeBalances () = + ignore (C.dml (getDb ()) ($`UPDATE Balance SET amount = (SELECT SUM(amount) FROM Charge JOIN WebUser ON usr = WebUser.id WHERE bal = Balance.id)`)) + end \ No newline at end of file