liquid_feedback_frontend

annotate app/main/index/register.lua @ 422:7ebf90c7d436

Show more events link and code cleanup
author bsw
date Sat Mar 10 18:02:32 2012 +0100 (2012-03-10)
parents 714944bda6a0
children 58647c8a0339
rev   line source
bsw/jbe@5 1 slot.put_into("title", _"Registration")
bsw/jbe@5 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@6 9 slot.put_into("title", " (")
bsw/jbe@5 10 ui.form{
bsw/jbe@6 11 attr = { class = "vertical" },
bsw/jbe@5 12 module = 'index',
bsw/jbe@5 13 action = 'register',
bsw/jbe@5 14 params = {
bsw/jbe@5 15 code = code,
bsw/jbe@6 16 notify_email = notify_email,
bsw/jbe@5 17 name = name,
bsw/jbe@5 18 login = login
bsw/jbe@5 19 },
bsw/jbe@5 20 content = function()
bsw/jbe@5 21
bsw/jbe@5 22 if not code then
bsw@286 23 slot.put_into("title", _"Step 1/3: Invite code")
bsw@286 24 ui.field.hidden{ name = "step", value = 1 }
bsw/jbe@5 25 ui.tag{
bsw/jbe@5 26 tag = "p",
bsw/jbe@5 27 content = _"Please enter the invite code you've received."
bsw/jbe@5 28 }
bsw/jbe@5 29 ui.field.text{
bsw@286 30 label = _'Invite code',
bsw@286 31 name = 'code',
bsw/jbe@6 32 value = param.get("invite")
bsw/jbe@6 33 }
bsw/jbe@6 34
bsw/jbe@5 35 else
bsw@286 36 local member = Member:new_selector()
bsw@286 37 :add_where{ "invite_code = ?", code }
bsw@286 38 :add_where{ "activated ISNULL" }
bsw@286 39 :optional_object_mode()
bsw@286 40 :for_update()
bsw@286 41 :exec()
bsw@286 42
bsw@286 43 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@286 44 slot.put_into("title", _"Step 2/3: Personal information")
bsw@286 45 ui.field.hidden{ name = "step", value = 2 }
bsw@286 46 slot.select("actions", function()
bsw@286 47 ui.link{
bsw@286 48 content = function()
bsw@286 49 ui.image{ static = "icons/16/resultset_previous.png" }
bsw@286 50 slot.put(_"One step back")
bsw@286 51 end,
bsw@286 52 module = "index",
bsw@286 53 view = "register",
bsw@286 54 params = {
bsw@286 55 }
bsw/jbe@6 56 }
bsw@286 57 end)
bsw@286 58
bsw@286 59 ui.tag{
bsw@286 60 tag = "p",
bsw@286 61 content = _"This invite key is connected with the following information:"
bsw/jbe@6 62 }
bsw@286 63
bsw@286 64 execute.view{ module = "member", view = "_profile", params = { member = member, include_private_data = true } }
bsw@79 65
bsw@286 66 if not config.locked_profile_fields.notify_email then
bsw@286 67 ui.tag{
bsw@286 68 tag = "p",
bsw@286 69 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 70 }
bsw@286 71 ui.field.text{
bsw@286 72 label = _'Email address',
bsw@286 73 name = 'notify_email',
bsw@286 74 value = param.get("notify_email") or member.notify_email
bsw@286 75 }
bsw@286 76 end
bsw@286 77 if not config.locked_profile_fields.name then
bsw@286 78 ui.tag{
bsw@286 79 tag = "p",
bsw@286 80 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 81 }
bsw@286 82 ui.field.text{
bsw@286 83 label = _'Screen name',
bsw@286 84 name = 'name',
bsw@286 85 value = param.get("name") or member.name
bsw@286 86 }
bsw@286 87 end
bsw@286 88 if not config.locked_profile_fields.login then
bsw@286 89 ui.tag{
bsw@286 90 tag = "p",
bsw@286 91 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 92 }
bsw@286 93 ui.field.text{
bsw@286 94 label = _'Login name',
bsw@286 95 name = 'login',
bsw@286 96 value = param.get("login") or member.login
bsw@286 97 }
bsw@286 98 end
bsw@286 99 else
bsw@286 100
bsw@286 101 ui.field.hidden{ name = "step", value = "3" }
bsw@286 102 slot.put_into("title", _"Step 3/3: Terms of use and password")
bsw@286 103 slot.select("actions", function()
bsw@286 104 ui.link{
bsw@286 105 content = function()
bsw@286 106 ui.image{ static = "icons/16/resultset_previous.png" }
bsw@286 107 slot.put(_"One step back")
bsw@286 108 end,
bsw@286 109 module = "index",
bsw@286 110 view = "register",
bsw@286 111 params = {
bsw@286 112 code = code,
bsw@286 113 notify_email = notify_email,
bsw@286 114 name = name,
bsw@286 115 login = login,
bsw@286 116 step = 1
bsw@286 117 }
bsw@286 118 }
bsw@286 119 end)
bsw@286 120 ui.container{
bsw@286 121 attr = { class = "wiki use_terms" },
bsw@79 122 content = function()
bsw@286 123 if config.use_terms_html then
bsw@286 124 slot.put(config.use_terms_html)
bsw@286 125 else
bsw@286 126 slot.put(format.wiki_text(config.use_terms))
bsw@286 127 end
bsw@79 128 end
bsw@79 129 }
bsw@79 130
bsw@286 131 for i, checkbox in ipairs(config.use_terms_checkboxes) do
bsw@286 132 slot.put("<br />")
bsw@286 133 ui.tag{
bsw@286 134 tag = "div",
bsw@286 135 content = function()
bsw@286 136 ui.tag{
bsw@286 137 tag = "input",
bsw@286 138 attr = {
bsw@286 139 type = "checkbox",
bsw@398 140 id = "use_terms_checkbox_" .. checkbox.name,
bsw@286 141 name = "use_terms_checkbox_" .. checkbox.name,
bsw@286 142 value = "1",
bsw@286 143 style = "float: left;",
bsw@286 144 checked = param.get("use_terms_checkbox_" .. checkbox.name, atom.boolean) and "checked" or nil
bsw@286 145 }
bsw@286 146 }
bsw@286 147 slot.put("&nbsp;")
bsw@398 148 ui.tag{
bsw@398 149 tag = "label",
bsw@398 150 attr = { ['for'] = "use_terms_checkbox_" .. checkbox.name },
bsw@398 151 content = function() slot.put(checkbox.html) end
bsw@398 152 }
bsw@286 153 end
bsw@286 154 }
bsw@286 155 end
bsw@79 156
bsw@286 157 slot.put("<br />")
bsw/jbe@6 158
bsw@286 159 member.notify_email = notify_email or member.notify_email
bsw@286 160 member.name = name or member.name
bsw@286 161 member.login = login or member.login
bsw@286 162
bsw@286 163 execute.view{ module = "member", view = "_profile", params = {
bsw@286 164 member = member, include_private_data = true
bsw@286 165 } }
bsw@286 166
bsw@286 167 ui.tag{
bsw@286 168 tag = "p",
bsw@286 169 content = _"Please choose a password and enter it twice. The password is case sensitive."
bsw@286 170 }
bsw@286 171 ui.field.password{
bsw@286 172 label = _'Password',
bsw@286 173 name = 'password1',
bsw@286 174 }
bsw@286 175 ui.field.password{
bsw@286 176 label = _'Password (repeat)',
bsw@286 177 name = 'password2',
bsw@286 178 }
bsw/jbe@5 179
bsw@286 180 end
bsw/jbe@5 181 end
bsw/jbe@5 182
bsw@286 183 ui.submit{
bsw@286 184 text = _'Register'
bsw@286 185 }
bsw/jbe@5 186
bsw@286 187 slot.put_into("title", ")")
bsw@286 188 slot.select("actions", function()
bsw@286 189 ui.link{
bsw@286 190 content = function()
bsw@286 191 ui.image{ static = "icons/16/cancel.png" }
bsw@286 192 slot.put(_"Cancel registration")
bsw@286 193 end,
bsw@286 194 module = "index",
bsw@286 195 view = "index"
bsw@286 196 }
bsw@286 197 end)
bsw/jbe@5 198 end
bsw/jbe@5 199 }
bsw/jbe@5 200
bsw/jbe@5 201

Impressum / About Us