rev |
line source |
bsw@441
|
1 execute.view{ module = "index", view = "_lang_chooser" }
|
bsw@441
|
2
|
bsw@286
|
3 local step = param.get("step", atom.integer)
|
bsw/jbe@5
|
4 local code = param.get("code")
|
bsw/jbe@6
|
5 local notify_email = param.get("notify_email")
|
bsw/jbe@5
|
6 local name = param.get("name")
|
bsw/jbe@5
|
7 local login = param.get("login")
|
bsw/jbe@5
|
8
|
bsw/jbe@5
|
9 ui.form{
|
bsw/jbe@6
|
10 attr = { class = "vertical" },
|
bsw/jbe@5
|
11 module = 'index',
|
bsw/jbe@5
|
12 action = 'register',
|
bsw/jbe@5
|
13 params = {
|
bsw/jbe@5
|
14 code = code,
|
bsw/jbe@6
|
15 notify_email = notify_email,
|
bsw/jbe@5
|
16 name = name,
|
bsw/jbe@5
|
17 login = login
|
bsw/jbe@5
|
18 },
|
bsw/jbe@5
|
19 content = function()
|
bsw/jbe@5
|
20
|
bsw/jbe@5
|
21 if not code then
|
bsw@743
|
22 ui.title(_"Registration (step 1 of 3: Invite code)")
|
bsw@742
|
23 ui.actions(function()
|
bsw@742
|
24 ui.link{
|
bsw@742
|
25 content = function()
|
bsw@742
|
26 slot.put(_"One step back")
|
bsw@742
|
27 end,
|
bsw@742
|
28 module = "index",
|
bsw@742
|
29 view = "register",
|
bsw@742
|
30 params = {
|
bsw@742
|
31 }
|
bsw@742
|
32 }
|
bsw@743
|
33 slot.put(" · ")
|
bsw@742
|
34 ui.link{
|
bsw@742
|
35 content = function()
|
bsw@742
|
36 slot.put(_"Cancel registration")
|
bsw@742
|
37 end,
|
bsw@742
|
38 module = "index",
|
bsw@742
|
39 view = "index"
|
bsw@742
|
40 }
|
bsw@742
|
41 end)
|
bsw@286
|
42 ui.field.hidden{ name = "step", value = 1 }
|
bsw/jbe@5
|
43 ui.tag{
|
bsw/jbe@5
|
44 tag = "p",
|
bsw/jbe@5
|
45 content = _"Please enter the invite code you've received."
|
bsw/jbe@5
|
46 }
|
bsw/jbe@5
|
47 ui.field.text{
|
bsw@286
|
48 label = _'Invite code',
|
bsw@286
|
49 name = 'code',
|
bsw/jbe@6
|
50 value = param.get("invite")
|
bsw/jbe@6
|
51 }
|
bsw/jbe@6
|
52
|
bsw/jbe@5
|
53 else
|
bsw@286
|
54 local member = Member:new_selector()
|
bsw@286
|
55 :add_where{ "invite_code = ?", code }
|
bsw@286
|
56 :add_where{ "activated ISNULL" }
|
bsw@286
|
57 :optional_object_mode()
|
bsw@286
|
58 :for_update()
|
bsw@286
|
59 :exec()
|
bsw@286
|
60
|
bsw@286
|
61 if not member.notify_email and not notify_email or not member.name and not name or not member.login and not login or step == 1 then
|
bsw@740
|
62 ui.title(_"Registration (step 2 of 3: Personal information)")
|
bsw@286
|
63 ui.field.hidden{ name = "step", value = 2 }
|
bsw@741
|
64 ui.actions(function()
|
bsw@286
|
65 ui.link{
|
bsw@286
|
66 content = function()
|
bsw@286
|
67 slot.put(_"One step back")
|
bsw@286
|
68 end,
|
bsw@286
|
69 module = "index",
|
bsw@286
|
70 view = "register",
|
bsw@286
|
71 params = {
|
bsw@286
|
72 }
|
bsw/jbe@6
|
73 }
|
bsw@743
|
74 slot.put(" · ")
|
bsw@742
|
75 ui.link{
|
bsw@742
|
76 content = function()
|
bsw@742
|
77 slot.put(_"Cancel registration")
|
bsw@742
|
78 end,
|
bsw@742
|
79 module = "index",
|
bsw@742
|
80 view = "index"
|
bsw@742
|
81 }
|
bsw@286
|
82 end)
|
bsw@286
|
83
|
bsw@286
|
84 ui.tag{
|
bsw@286
|
85 tag = "p",
|
bsw@286
|
86 content = _"This invite key is connected with the following information:"
|
bsw/jbe@6
|
87 }
|
bsw@286
|
88
|
bsw@286
|
89 execute.view{ module = "member", view = "_profile", params = { member = member, include_private_data = true } }
|
bsw@79
|
90
|
bsw@286
|
91 if not config.locked_profile_fields.notify_email then
|
bsw@286
|
92 ui.tag{
|
bsw@286
|
93 tag = "p",
|
bsw@286
|
94 content = _"Please enter your email address. This address will be used for automatic notifications (if you request them) and in case you've lost your password. This address will not be published. After registration you will receive an email with a confirmation link."
|
bsw@286
|
95 }
|
bsw@286
|
96 ui.field.text{
|
bsw@286
|
97 label = _'Email address',
|
bsw@286
|
98 name = 'notify_email',
|
bsw@286
|
99 value = param.get("notify_email") or member.notify_email
|
bsw@286
|
100 }
|
bsw@286
|
101 end
|
bsw@286
|
102 if not config.locked_profile_fields.name then
|
bsw@286
|
103 ui.tag{
|
bsw@286
|
104 tag = "p",
|
bsw@286
|
105 content = _"Please choose a name, i.e. your real name or your nick name. This name will be shown to others to identify you."
|
bsw@286
|
106 }
|
bsw@286
|
107 ui.field.text{
|
bsw@286
|
108 label = _'Screen name',
|
bsw@286
|
109 name = 'name',
|
bsw@286
|
110 value = param.get("name") or member.name
|
bsw@286
|
111 }
|
bsw@286
|
112 end
|
bsw@286
|
113 if not config.locked_profile_fields.login then
|
bsw@286
|
114 ui.tag{
|
bsw@286
|
115 tag = "p",
|
bsw@286
|
116 content = _"Please choose a login name. This name will not be shown to others and is used only by you to login into the system. The login name is case sensitive."
|
bsw@286
|
117 }
|
bsw@286
|
118 ui.field.text{
|
bsw@286
|
119 label = _'Login name',
|
bsw@286
|
120 name = 'login',
|
bsw@286
|
121 value = param.get("login") or member.login
|
bsw@286
|
122 }
|
bsw@286
|
123 end
|
bsw@286
|
124 else
|
bsw@286
|
125
|
bsw@286
|
126 ui.field.hidden{ name = "step", value = "3" }
|
bsw@740
|
127 ui.title(_"Registration (step 3 of 3: Terms of use and password)")
|
bsw@741
|
128 ui.actions(function()
|
bsw@286
|
129 ui.link{
|
bsw@286
|
130 content = function()
|
bsw@286
|
131 slot.put(_"One step back")
|
bsw@286
|
132 end,
|
bsw@286
|
133 module = "index",
|
bsw@286
|
134 view = "register",
|
bsw@286
|
135 params = {
|
bsw@286
|
136 code = code,
|
bsw@286
|
137 notify_email = notify_email,
|
bsw@286
|
138 name = name,
|
bsw@286
|
139 login = login,
|
bsw@286
|
140 step = 1
|
bsw@286
|
141 }
|
bsw@286
|
142 }
|
bsw@743
|
143 slot.put(" · ")
|
bsw@742
|
144 ui.link{
|
bsw@742
|
145 content = function()
|
bsw@742
|
146 slot.put(_"Cancel registration")
|
bsw@742
|
147 end,
|
bsw@742
|
148 module = "index",
|
bsw@742
|
149 view = "index"
|
bsw@742
|
150 }
|
bsw@286
|
151 end)
|
bsw@286
|
152 ui.container{
|
bsw@286
|
153 attr = { class = "wiki use_terms" },
|
bsw@79
|
154 content = function()
|
bsw@286
|
155 if config.use_terms_html then
|
bsw@286
|
156 slot.put(config.use_terms_html)
|
bsw@286
|
157 else
|
bsw@286
|
158 slot.put(format.wiki_text(config.use_terms))
|
bsw@286
|
159 end
|
bsw@79
|
160 end
|
bsw@79
|
161 }
|
bsw@79
|
162
|
bsw@739
|
163 member.notify_email = notify_email or member.notify_email
|
bsw@739
|
164 member.name = name or member.name
|
bsw@739
|
165 member.login = login or member.login
|
bsw@739
|
166
|
bsw@739
|
167 execute.view{ module = "member", view = "_profile", params = {
|
bsw@739
|
168 member = member, include_private_data = true
|
bsw@739
|
169 } }
|
bsw@739
|
170
|
bsw@286
|
171 for i, checkbox in ipairs(config.use_terms_checkboxes) do
|
bsw@286
|
172 slot.put("<br />")
|
bsw@286
|
173 ui.tag{
|
bsw@286
|
174 tag = "div",
|
bsw@286
|
175 content = function()
|
bsw@286
|
176 ui.tag{
|
bsw@286
|
177 tag = "input",
|
bsw@286
|
178 attr = {
|
bsw@286
|
179 type = "checkbox",
|
bsw@398
|
180 id = "use_terms_checkbox_" .. checkbox.name,
|
bsw@286
|
181 name = "use_terms_checkbox_" .. checkbox.name,
|
bsw@286
|
182 value = "1",
|
bsw@286
|
183 style = "float: left;",
|
bsw@286
|
184 checked = param.get("use_terms_checkbox_" .. checkbox.name, atom.boolean) and "checked" or nil
|
bsw@286
|
185 }
|
bsw@286
|
186 }
|
bsw@286
|
187 slot.put(" ")
|
bsw@398
|
188 ui.tag{
|
bsw@398
|
189 tag = "label",
|
bsw@398
|
190 attr = { ['for'] = "use_terms_checkbox_" .. checkbox.name },
|
bsw@398
|
191 content = function() slot.put(checkbox.html) end
|
bsw@398
|
192 }
|
bsw@286
|
193 end
|
bsw@286
|
194 }
|
bsw@286
|
195 end
|
bsw@79
|
196
|
bsw@286
|
197 slot.put("<br />")
|
bsw/jbe@6
|
198
|
bsw@286
|
199 ui.tag{
|
bsw@286
|
200 tag = "p",
|
bsw@286
|
201 content = _"Please choose a password and enter it twice. The password is case sensitive."
|
bsw@286
|
202 }
|
bsw@286
|
203 ui.field.password{
|
bsw@286
|
204 label = _'Password',
|
bsw@286
|
205 name = 'password1',
|
bsw@286
|
206 }
|
bsw@286
|
207 ui.field.password{
|
bsw@286
|
208 label = _'Password (repeat)',
|
bsw@286
|
209 name = 'password2',
|
bsw@286
|
210 }
|
bsw/jbe@5
|
211
|
bsw@286
|
212 end
|
bsw/jbe@5
|
213 end
|
bsw/jbe@5
|
214
|
bsw@286
|
215 ui.submit{
|
bsw@740
|
216 text = _'Create account'
|
bsw@286
|
217 }
|
bsw/jbe@5
|
218 end
|
bsw/jbe@5
|
219 }
|
bsw/jbe@5
|
220
|
bsw/jbe@5
|
221
|