FROM Balance JOIN WebUser
ON Balance.name = WebUser.name
AND WebUser.bal = Balance.id
+ JOIN Membership
+ ON Membership.grp = 1
+ AND Membership.usr = WebUser.id
ORDER BY Balance.name`)
fun listUnownedBalances () =
FROM Balance LEFT OUTER JOIN WebUser
ON Balance.name = WebUser.name
AND WebUser.bal = Balance.id
+ LEFT OUTER JOIN Membership
+ ON Membership.grp = 1
+ AND Membership.usr = WebUser.id
WHERE WebUser.id IS NULL
+ OR Membership.grp IS NULL
+ ORDER BY Balance.name`)
+
+fun listNegativeOwnedBalances () =
+ C.map (getDb ()) mkBalanceRow ($`SELECT Balance.id, Balance.name, amount
+ FROM Balance JOIN WebUser
+ ON Balance.name = WebUser.name
+ AND WebUser.bal = Balance.id
+ JOIN Membership
+ ON Membership.grp = 1
+ AND Membership.usr = WebUser.id
+ WHERE amount < 0
ORDER BY Balance.name`)
fun validBalanceName name =
| _ => NONE
fun listBalanceUsers bal =
- C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares
+ C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
FROM WebUser
WHERE bal = ^(C.intToSql bal)
ORDER BY name`)
[amt] => C.realFromSql amt
| _ => raise Fail "sumOwnedBalance: no rows"
+fun isNegative (bal : balance) = #amount bal < 0.0
+
end