payment: note that Stripe has instituted an additional 1% fee for non-US cards
[hcoop/portal.git] / balances.mlt
CommitLineData
208e2cbc
AC
1<% Group.requireGroupNum 0;
2
3@header [("title", ["Balance management"])];
4
5ref showNormal = true;
6
7if $"cmd" = "Create" then
8 if not (Balance.validBalanceName ($"name")) then %>
b6dd1aaf 9 <h3>Invalid balance name</h3>
208e2cbc
AC
10 <% else switch Balance.balanceNameToId ($"name") of
11 SOME _ => %>
b6dd1aaf 12 <h3>Balance name already in use</h3>
208e2cbc
AC
13<% | NONE =>
14 val id = Balance.addBalance ($"name") %>
b6dd1aaf 15 <h3>Balance added</h3>
208e2cbc
AC
16<% end
17 end
18elseif $"mod" <> "" then
19 showNormal := false;
20 val balance = Balance.lookupBalance (Web.stoi ($"mod")) %>
b6dd1aaf 21<h3>Modify balance record</h3>
208e2cbc 22
a4ccdb5e 23<form action="balances" method="post">
208e2cbc 24<input type="hidden" name="id" value="<% $"mod" %>">
b6dd1aaf
AC
25<table class="blanks">
26<tr> <td>Name:</td> <td><input name="name" value="<% #name balance %>"></td> </tr>
208e2cbc
AC
27<tr> <td><input type="submit" name="cmd" value="Save"></td> </tr>
28</table>
29</form>
30
31<% elseif $"cmd" = "Save" then
32 val balance = Balance.lookupBalance (Web.stoi ($"id"));
33 Balance.modBalance {balance with name = $"name"} %>
b6dd1aaf 34 <h3>Balance record saved.</h3>
208e2cbc
AC
35
36<% elseif $"del" <> "" then
37 showNormal := false;
38 val balance = Balance.lookupBalance (Web.stoi ($"del")) %>
b6dd1aaf 39 <h3>Are you sure you want to delete balance <% #name balance %></a>?</h3>
208e2cbc
AC
40 <a href="balances?del2=<% $"del" %>">Yes, delete <% #name balance %>!</a>
41
42<% elseif $"del2" <> "" then
43 val balance = Balance.lookupBalance (Web.stoi ($"del2"));
44 Balance.deleteBalance (Web.stoi ($"del2")) %>
b6dd1aaf 45 <h3><% #name balance %> deleted!</h3>
208e2cbc
AC
46
47<% end %>
48
9bda1e7f
AC
49<% if showNormal then
50 ref total = 0.0 %>
b6dd1aaf 51<h3>New balance</h3>
208e2cbc 52
a4ccdb5e 53<form action="balances" method="post">
b6dd1aaf
AC
54<table class="blanks">
55<tr> <td>Name:</td> <td><input name="name"></td> </tr>
208e2cbc
AC
56<tr> <td><input type="submit" name="cmd" value="Create"></td> </tr>
57</table>
58</form>
59
b6dd1aaf 60<h3>Manage current balances</h3>
208e2cbc 61
92855ded 62<table class="data">
9bda1e7f
AC
63<% foreach balance in Balance.listBalances () do
64 total := Util.add (total, #amount balance) %>
208e2cbc
AC
65 <tr> <td><% Web.html (#name balance) %></td> <td><% #amount balance %></td> <td><a href="balances?mod=<% #id balance %>">[Modify]</a> <a href="balances?del=<% #id balance %>">[Delete]</a></td> </tr>
66<% end %>
67</table>
68
9bda1e7f
AC
69<br><b>Total</b>: $<% total %>
70
208e2cbc
AC
71<% end %>
72
73<% @footer [] %>