liquid_feedback_frontend

annotate app/main/index/register.lua @ 743:7a452bd3d0df

Optical enhancements
author bsw
date Thu Jun 28 22:27:05 2012 +0200 (2012-06-28)
parents b8b205e65c6d
children 782950d33f3d
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("&nbsp;")
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

Impressum / About Us