% @header[("title", ["Member locations"])];
val admin = Group.inGroupName "location";
ref showNormal = true;
if $"cmd" = "add" then
val parent = (case $"parent" of "" => NONE | parent => SOME (Web.stoi parent));
val name = $"name";
if Location.alreadyExists (parent, name) then
%>
That location already exists!
<%
else
val id = Location.addLocation (parent, $"name")
%>Location added
<% end
elseif $"mod" <> "" then
Group.requireGroupName "location";
showNormal := false;
val id = Web.stoi ($"mod");
val loc = Location.lookupLocation id %>
Modify a location
<% elseif $"save" <> "" then
Group.requireGroupName "location";
val id = Web.stoi ($"save");
val loc = Location.lookupLocation id;
Location.modLocation {loc with parent = (case $"parent" of "" => NONE | parent => SOME (Web.stoi parent)),
name = $"name"};
%>Location saved
<% elseif $"del" <> "" then
Group.requireGroupName "location";
showNormal := false;
val id = Web.stoi ($"del");
val loc = Location.lookupLocation id %>
Are you sure you want to delete "<% Web.html (#name loc) %>"?
Yes, delete "<% Web.html (#name loc) %>"!
<% elseif $"del2" <> "" then
Group.requireGroupName "location";
val id = Web.stoi ($"del2");
val loc = Location.lookupLocation id;
Location.deleteLocation id %>
Deleted location "<% Web.html (#name loc) %>"
<% elseif $"addLoc" <> "" then
Location.addToLocation {loc = Web.stoi ($"addLoc"), usr = Init.getUserId ()}
%>Added
<% elseif $"remLoc" <> "" then
Location.removeFromLocation {loc = Web.stoi ($"remLoc"), usr = Init.getUserId ()}
%>Removed
<% elseif $"id" <> "" then
showNormal := false;
val id = Web.stoi ($"id");
val loc = Location.lookupLocation id %>
<% Web.html (#name loc) %>
<% switch #parent loc of
SOME par =>
val ploc = Location.lookupLocation par;
%>Parent: <% Web.html (#name ploc) %><%
end %>
Residents:
<% ref first = true;
foreach user in Location.residents id do
if first then
first := false
else
%>, <%
end;
%><% #name user %><%
end %>
Regions:
<% foreach loc in Location.subLocations (SOME id) do %>
<% Web.html (#name loc) %>
<% end;
end; %>
Add a new location
<% val withUser = Location.locationTreeWithUser (NONE, NONE, Init.getUserId ()) %>
Add yourself to a location
Adding yourself to a location automatically adds you to all more general loations.
Remove yourself from a location
<% if showNormal then %>
<% end %>
<% @footer[] %>