% Group.requireGroupNum 0;
@header [("title", ["Group management"])];
ref showNormal = true;
if $"cmd" = "Create" then
if not (Group.validGroupName ($"name")) then %>
Invalid group name
<% else switch Group.groupNameToId ($"name") of
SOME _ => %>
Group name already in use
<% | NONE =>
val id = Group.addGroup ($"name") %>
Group added
<% end
end
elseif $"mod" <> "" then
showNormal := false;
val group = Group.lookupGroup (Web.stoi ($"mod")) %>
Modify group record
<% elseif $"cmd" = "Save" then
val group = Group.lookupGroup (Web.stoi ($"id"));
Group.modGroup {group with name = $"name"} %>
Group record saved.
<% elseif $"del" <> "" then
showNormal := false;
val group = Group.lookupGroup (Web.stoi ($"del")) %>
Are you sure you want to delete group <% #name group %>?
">Yes, delete <% #name group %>!
<% elseif $"del2" <> "" then
val group = Group.lookupGroup (Web.stoi ($"del2"));
Group.deleteGroup (Web.stoi ($"del2")) %>
<% #name group %> deleted!
<% elseif $"cmd" = "Grant" then
Group.addToGroup {usr = Web.stoi ($"usr"), grp = Web.stoi ($"grp")} %>
Membership granted.
<% elseif $"revoke" <> "" then
Group.removeFromGroup {usr = Web.stoi ($"revoke"), grp = Web.stoi ($"grp")} %>
Membership revoked.
<% end %>
<% if showNormal then %>
Create group
Grant membership
Manage current groups
<% end %>
<% @footer [] %>