liquid_feedback_frontend
view app/main/role/_action/request.lua @ 1726:65b8703e2d8a
Allow to overwrite quick guide links in sidebar
author | bsw |
---|---|
date | Tue Sep 28 13:40:24 2021 +0200 (2021-09-28) |
parents | 32cc544d5a5b |
children |
line source
1 if not app.session.member or app.session.member.role then
2 return
3 end
5 local errors = 0
7 if config.use_terms_checkboxes_role then
8 for i, checkbox in ipairs(config.use_terms_checkboxes_role) do
9 local accepted = param.get("use_terms_checkbox_" .. checkbox.name, atom.boolean)
10 if not accepted then
11 slot.put_into("error", checkbox.not_accepted_error)
12 errors = errors + 1
13 end
14 end
15 end
17 local email = param.get("email")
19 local members = Member:new_selector()
20 :add_where{ "notify_email = ? OR notify_email_unconfirmed = ?", email }
21 :exec()
23 if #members > 0 then
24 slot.select("error", function()
25 slot.put_into("registration_register_email_invalid", "already_used")
26 ui.tag{ content = _"This email address already been used. Please check your inbox for an invitation or contact us." }
27 end)
28 errors = errors + 1
29 end
31 local verification = RoleVerification:new()
32 verification.requesting_member_id = app.session.member_id
33 verification.requested = "now"
34 verification.request_origin = json.object{
35 ip = request.get_header("X-Forwarded-For"),
36 hostname = request.get_header("X-Forwarded-Host")
37 }
38 verification.request_data = json.object()
40 for i, field in ipairs(config.role_registration.fields) do
41 local value = param.get("verification_data_" .. field.name)
42 if not value or #value < 1 then
43 slot.put_into("self_registration__invalid_" .. field.name, "to_short")
44 slot.select("error", function()
45 ui.container{ content = _("Please enter: #{field_name}", { field_name = field.label }) }
46 end)
47 errors = errors + 1
48 end
49 value = string.gsub(value, "^%s+", "")
50 value = string.gsub(value, "%s+$", "")
51 value = string.gsub(value, "%s+", " ")
52 verification.request_data[field.name] = value
53 end
55 verification:save()
57 request.redirect{ external = encode.url { module = "member", view = "show", id = app.session.member_id } }