liquid_feedback_frontend

annotate app/main/registration_admin/_action/update_verification.lua @ 1352:07e320676bf3

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

Impressum / About Us