1 <% Group.requireGroupNum 0;
3 @header [("title", ["Group management"])];
7 if $"cmd" = "Create" then
8 if not (Group.validGroupName ($"name")) then %>
9 <h3><b>Invalid group name</b></h3>
10 <% else switch Group.groupNameToId ($"name") of
12 <h3><b>Group name already in use</b></h3>
14 val id = Group.addGroup ($"name") %>
15 <h3><b>Group added</b></h3>
18 elseif $"mod" <> "" then
20 val group = Group.lookupGroup (Web.stoi ($"mod")) %>
21 <h3><b>Modify group record</b></h3>
23 <form action="groups">
24 <input type="hidden" name="id" value="<% $"mod" %>">
26 <tr> <td align="right"><b>Name</b>:</td> <td><input name="name" value="<% #name group %>"></td> </tr>
27 <tr> <td><input type="submit" name="cmd" value="Save"></td> </tr>
31 <% elseif $"cmd" = "Save" then
32 val group = Group.lookupGroup (Web.stoi ($"id"));
33 Group.modGroup {group with name = $"name"} %>
34 <h3><b>Group record saved.</b></h3>
36 <% elseif $"del" <> "" then
38 val group = Group.lookupGroup (Web.stoi ($"del")) %>
39 <h3><b>Are you sure you want to delete group <% #name group %>?</b></h3>
40 <a href="groups?del2=<% $"del" %>">Yes, delete <% #name group %>!</a>
42 <% elseif $"del2" <> "" then
43 val group = Group.lookupGroup (Web.stoi ($"del2"));
44 Group.deleteGroup (Web.stoi ($"del2")) %>
45 <h3><b><% #name group %> deleted!</b></h3>
47 <% elseif $"cmd" = "Grant" then
48 Group.addToGroup {usr = Web.stoi ($"usr"), grp = Web.stoi ($"grp")} %>
49 <h3><b>Membership granted.</b></h3>
51 <% elseif $"revoke" <> "" then
52 Group.removeFromGroup {usr = Web.stoi ($"revoke"), grp = Web.stoi ($"grp")} %>
53 <h3><b>Membership revoked.</b></h3>
57 <% if showNormal then %>
59 <h3><b>Create group</b></h3>
61 <form action="groups">
63 <tr> <td align="right"><b>Name</b>:</td> <td><input name="name"></td> </tr>
64 <tr> <td><input type="submit" name="cmd" value="Create"></td> </tr>
68 <h3><b>Grant membership</b></h3>
70 <form action="groups">
72 <tr> <td align="right"><b>Group</b>:</td> <td><select name="grp">
73 <% foreach group in Group.listGroups () do %>
74 <option value="<% #id group %>"><% Web.html (#name group) %></option>
77 <tr> <td align="right"><b>Member</b>:</td> <td><select name="usr">
78 <% foreach user in Init.listUsers () do %>
79 <option value="<% #id user %>"><% Web.html (#name user) %></option>
82 <tr> <td><input type="submit" name="cmd" value="Grant"></td> </tr>
86 <h3><b>Manage current groups</b></h3>
89 <% foreach group in Group.listGroups () do %>
90 <tr> <td><% Web.html (#name group) %>(#<% #id group %>)</td> <td></td> <td><a href="groups?mod=<% #id group %>">[Modify]</a> <a href="groups?del=<% #id group %>">[Delete]</a></td> </tr>
91 <% foreach user in Group.groupMembers (#id group) do %>
92 <tr> <td></td> <td><a href="user?id=<% #id user %>"><% Web.html (#name user) %></a></td> <td><a href="groups?revoke=<% #id user %>&grp=<% #id group %>">[Revoke]</a></td> </tr>