liquid_feedback_frontend

view app/main/registration_admin/_action/update_verification.lua @ 1356:761a7d6c3e5c

Fixed automatic unit assignment
author bsw
date Mon Aug 06 13:39:15 2018 +0200 (2018-08-06)
parents 6268a857f6e6
children 3b6575d156bc
line source
1 local verification = Verification:by_id(param.get_id())
3 local function update_data()
4 local old_verification_data = verification.verification_data or {}
5 verification.verification_data = json.object()
7 for i, field in ipairs(config.self_registration.fields) do
8 local value = param.get(field.name)
9 if field.name == "fiscal_code" then
10 value = string.gsub(value, "[^A-Z0-9]", "")
11 elseif field.name == "mobile_phone" then
12 value = string.gsub(value, "[^0-9]", "")
13 elseif field.name == "unit" then
14 value = string.gsub(value, "[^0-9]", "")
15 if old_verification_data.unit and old_verification_data.unit ~= "" then
16 local old_unit_privilege = Privilege:by_pk(verification.verified_member_id, old_verification_data.unit)
17 old_unit_privilege:destroy()
18 end
19 if value ~= old_verification_data.unit and value ~= "" then
20 local unit_privilege = Privilege:new()
21 unit_privilege.member_id = verification.verified_member_id
22 unit_privilege.unit_id = tonumber(value)
23 unit_privilege.voting_right = true
24 unit_privilege.initiative_right = true
25 unit_privilege:save()
26 end
27 elseif field.type ~= "image" then
28 value = string.gsub(value, "^%s+", "")
29 value = string.gsub(value, "%s+$", "")
30 value = string.gsub(value, "%s+", " ")
31 end
32 verification.verification_data[field.name] = value
33 end
34 end
36 if verification.verified_member_id then
38 local member = Member:by_id(verification.verified_member_id)
40 if param.get("cancel") then
41 db:query({ "SELECT delete_member(?)", member.id })
42 return
43 end
45 member.identification = param.get("identification")
46 member.notify_email = param.get("email")
47 member:save()
49 update_data()
51 verification:save()
53 if param.get("invite") then
54 member:send_invitation()
55 end
57 elseif param.get("drop") then
59 verification.denied = "now"
60 verification:save()
61 return
63 elseif param.get("accredit") then
65 local member = Member:by_id(verification.requesting_member_id)
66 member.identification = param.get("identification")
67 member.notify_email = param.get("email")
68 member:save()
69 member:send_invitation()
71 for i, unit_id in ipairs(config.self_registration.grant_privileges_for_unit_ids) do
72 local privilege = Privilege:new()
73 privilege.member_id = member.id
74 privilege.unit_id = unit_id
75 privilege.initiative_right = true
76 privilege.voting_right = true
77 privilege:save()
78 end
80 update_data()
82 verification.verified_member_id = verification.requesting_member_id
83 verification.verifying_member_id = app.session.member_id
84 verification.verified = "now"
86 verification:save()
89 else
91 update_data()
92 verification:save()
94 end

Impressum / About Us