<% @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

Parent:
Name:
<% 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; if showNormal then %>

Add a new location

Parent:
Name:
<% 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

<% end %> <% @footer[] %>