Fix up joining with new header/footer, too
[hcoop/portal.git] / app / join.mlt
CommitLineData
a90da8b1
AC
1<% @header [("title", ["Apply for membership"])] %>
2
3<% if $"cmd" = "app" then
f3f3ad24 4 val minor = $"minor" <> "";
a90da8b1
AC
5 val name = $"name";
6 val rname = $"rname";
f3f3ad24 7 val gname = $"gname";
a90da8b1
AC
8 val email = $"email";
9 val forward = $"forward" <> "on";
10 val uses = $"uses";
11 val other = $"other";
12
f3f3ad24 13 if $"agree" <> "on" then
336c1154 14 %><h3>You must accept the Terms of Service!</h3><%
f3f3ad24 15 elseif name = "" then
336c1154 16 %><h3>Please enter a username</h3><%
a90da8b1 17 elseif rname = "" then
336c1154 18 %><h3>Please enter the potential member's name</h3><%
f3f3ad24 19 elseif (iff minor then gname = "" else false) then
336c1154 20 %><h3>Please enter your name, as legal guardian<b></h3><%
a90da8b1 21 elseif email = "" then
336c1154 22 %><h3>Please enter your contact e-mail address</h3><%
a90da8b1 23 elseif uses = "" then
336c1154 24 %><h3>Please enter your proposed uses</h3><%
a90da8b1 25 elseif not (App.validUser name) then
336c1154 26 %><h3>Invalid requested username</h3><%
a90da8b1 27 elseif App.userExists name then
336c1154 28 %><h3>That username is already in use.</b><h3><%
a90da8b1 29 elseif not (App.validEmail email) then
336c1154 30 %><h3>Invalid e-mail address</h3><%
a90da8b1 31 elseif not (App.apply { name = name, rname = rname, email = email,
f3f3ad24 32 gname = (case gname of "" => NONE | _ => SOME gname),
a90da8b1 33 forward = forward, uses = uses, other = other }) then
336c1154 34 %><h3>Error sending confirmation e-mail</h3><%
a90da8b1 35 else
336c1154 36 %><h3>Application recorded</h3>
a90da8b1
AC
37 Check your e-mail for a message with further instructions.<%
38 end
f3f3ad24
AC
39else
40 val minor = $"minor" <> "" %>
a90da8b1
AC
41
42<form action="join" method="post">
43<input type="hidden" name="cmd" value="app">
336c1154
AC
44<table class="blanks">
45<tr> <td>Desired username:</td> <td><input name="name"><br>
c31825a5
AC
46 You should follow usual UNIX conventions, including limiting yourself to lowercase letters and at most 8 characters. It's helpful to pick a name you wouldn't mind using to identify yourself to both strangers and friends. Something based on your "real" name is a safe bet.<br>
47 You also don't need to worry about whether or not the username you want is already taken. This application system will let you know if that is the case. You can probably use a shorter and simpler name than you are accustomed to getting at larger services, so we encourage you to try such names first.</td> </tr>
f3f3ad24 48<% if minor then %>
336c1154
AC
49<tr> <td>New member's "real" name:</td> <td><input name="rname"></td> </tr>
50<tr> <td>Legal guardian's name:</td> <td><input name="gname"></td> </tr>
f3f3ad24 51<% else %>
336c1154 52<tr> <td>Your "real" name:</td> <td><input name="rname"></td> </tr>
f3f3ad24 53<% end %>
336c1154
AC
54<tr> <td>Contact e-mail address</td> <td><input name="email"></td> </tr>
55<tr> <td><input type="checkbox" name="forward"></td> <td>Check this box if you would like to use hcoop as your primary e-mail provider.<br>
a90da8b1 56 If you don't select this option and you are approved to join, e-mail to your account will be forwarded to the address you provide here.<br>
f3f3ad24 57 You can change this option later, but we'll probably have helpful things to e-mail you as soon as you join. It's important that we be able to reach members reliably, so please don't decide to use us as your primary e-mail provider unless you can commit to checking your hcoop mailbox just as often as any other personal accounts you have.</td> </tr>
336c1154
AC
58<tr> <td>How do you plan to use a hcoop membership?</td> <td><textarea name="uses" rows="5" cols="80" wrap="soft"></textarea></td> </tr>
59<tr> <td>Any other information about yourself</td> <td><textarea name="other" rows="5" cols="80" wrap="soft"></textarea></td> </tr>
a90da8b1 60</table>
f3f3ad24 61
1d2cae17
AC
62<br><hr><br>
63
64You must agree to the following terms to be considered for membership:
65
f3f3ad24
AC
66<h2><b>Terms of Service Agreement</b></h2>
67
68<% App.readTosBody () %>
69
70<br><hr><br>
71
72<input type="checkbox" name="agree">
73<% if minor then App.readTosMinorAgree () else App.readTosAgree () end %>
74
75<br><br><input type="submit" value="Apply">
76
a90da8b1
AC
77</form>
78
79<% end %>
80
81<% @footer[] %>