liquid_feedback_frontend

annotate app/main/registration_admin/_action/update_verification.lua @ 1359:7532831a7618

Allow internal registration fields
author bsw
date Mon Aug 06 13:56:43 2018 +0200 (2018-08-06)
parents 06675c87f45f
children f6c0681aad68
rev   line source
bsw/jbe@1309 1 local verification = Verification:by_id(param.get_id())
bsw/jbe@1309 2
bsw/jbe@1309 3 local function update_data()
bsw@1356 4 local old_verification_data = verification.verification_data or {}
bsw/jbe@1309 5 verification.verification_data = json.object()
bsw/jbe@1309 6
bsw/jbe@1309 7 for i, field in ipairs(config.self_registration.fields) do
bsw/jbe@1309 8 local value = param.get(field.name)
bsw/jbe@1309 9 if field.name == "fiscal_code" then
bsw/jbe@1309 10 value = string.gsub(value, "[^A-Z0-9]", "")
bsw/jbe@1309 11 elseif field.name == "mobile_phone" then
bsw/jbe@1309 12 value = string.gsub(value, "[^0-9]", "")
bsw@1352 13 elseif field.name == "unit" then
bsw@1352 14 value = string.gsub(value, "[^0-9]", "")
bsw@1356 15 if old_verification_data.unit and old_verification_data.unit ~= "" then
bsw@1358 16 local old_unit_privilege = Privilege:by_pk(old_verification_data.unit, verification.verified_member_id)
bsw@1357 17 if old_unit_privilege then
bsw@1357 18 old_unit_privilege:destroy()
bsw@1357 19 end
bsw@1356 20 end
bsw@1356 21 if value ~= old_verification_data.unit and value ~= "" then
bsw@1353 22 local unit_privilege = Privilege:new()
bsw@1352 23 unit_privilege.member_id = verification.verified_member_id
bsw@1355 24 unit_privilege.unit_id = tonumber(value)
bsw@1352 25 unit_privilege.voting_right = true
bsw@1352 26 unit_privilege.initiative_right = true
bsw@1354 27 unit_privilege:save()
bsw@1352 28 end
bsw@1346 29 elseif field.type ~= "image" then
bsw/jbe@1309 30 value = string.gsub(value, "^%s+", "")
bsw/jbe@1309 31 value = string.gsub(value, "%s+$", "")
bsw/jbe@1309 32 value = string.gsub(value, "%s+", " ")
bsw@1359 33 elseif field.name == "sequential_number" then
bsw@1359 34 value = old_verification_data.sequential_number
bsw/jbe@1309 35 end
bsw/jbe@1309 36 verification.verification_data[field.name] = value
bsw/jbe@1309 37 end
bsw/jbe@1309 38 end
bsw/jbe@1309 39
bsw/jbe@1309 40 if verification.verified_member_id then
bsw/jbe@1309 41
bsw/jbe@1309 42 local member = Member:by_id(verification.verified_member_id)
bsw/jbe@1309 43
bsw/jbe@1309 44 if param.get("cancel") then
bsw/jbe@1309 45 db:query({ "SELECT delete_member(?)", member.id })
bsw/jbe@1309 46 return
bsw/jbe@1309 47 end
bsw/jbe@1309 48
bsw/jbe@1309 49 member.identification = param.get("identification")
bsw/jbe@1309 50 member.notify_email = param.get("email")
bsw/jbe@1309 51 member:save()
bsw/jbe@1309 52
bsw/jbe@1309 53 update_data()
bsw/jbe@1309 54
bsw/jbe@1309 55 verification:save()
bsw/jbe@1309 56
bsw/jbe@1309 57 if param.get("invite") then
bsw/jbe@1309 58 member:send_invitation()
bsw/jbe@1309 59 end
bsw/jbe@1309 60
bsw/jbe@1309 61 elseif param.get("drop") then
bsw/jbe@1309 62
bsw/jbe@1309 63 verification.denied = "now"
bsw/jbe@1309 64 verification:save()
bsw/jbe@1309 65 return
bsw/jbe@1309 66
bsw/jbe@1309 67 elseif param.get("accredit") then
bsw/jbe@1309 68
bsw/jbe@1309 69 local member = Member:by_id(verification.requesting_member_id)
bsw/jbe@1309 70 member.identification = param.get("identification")
bsw/jbe@1309 71 member.notify_email = param.get("email")
bsw/jbe@1309 72 member:save()
bsw/jbe@1309 73 member:send_invitation()
bsw/jbe@1309 74
bsw/jbe@1309 75 for i, unit_id in ipairs(config.self_registration.grant_privileges_for_unit_ids) do
bsw/jbe@1309 76 local privilege = Privilege:new()
bsw/jbe@1309 77 privilege.member_id = member.id
bsw/jbe@1309 78 privilege.unit_id = unit_id
bsw/jbe@1309 79 privilege.initiative_right = true
bsw/jbe@1309 80 privilege.voting_right = true
bsw/jbe@1309 81 privilege:save()
bsw/jbe@1309 82 end
bsw/jbe@1309 83
bsw/jbe@1309 84 update_data()
bsw/jbe@1309 85
bsw/jbe@1309 86 verification.verified_member_id = verification.requesting_member_id
bsw/jbe@1309 87 verification.verifying_member_id = app.session.member_id
bsw/jbe@1309 88 verification.verified = "now"
bsw/jbe@1309 89
bsw/jbe@1309 90 verification:save()
bsw/jbe@1309 91
bsw/jbe@1309 92
bsw/jbe@1309 93 else
bsw/jbe@1309 94
bsw/jbe@1309 95 update_data()
bsw/jbe@1309 96 verification:save()
bsw/jbe@1309 97
bsw/jbe@1309 98 end

Impressum / About Us