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