bsw/jbe@1309: local verification = Verification:by_id(param.get_id()) bsw/jbe@1309: bsw/jbe@1309: local function update_data() bsw/jbe@1309: verification.verification_data = json.object() bsw/jbe@1309: bsw/jbe@1309: for i, field in ipairs(config.self_registration.fields) do bsw/jbe@1309: local value = param.get(field.name) bsw/jbe@1309: if field.name == "fiscal_code" then bsw/jbe@1309: value = string.gsub(value, "[^A-Z0-9]", "") bsw/jbe@1309: elseif field.name == "mobile_phone" then bsw/jbe@1309: value = string.gsub(value, "[^0-9]", "") bsw@1346: elseif field.type ~= "image" then bsw/jbe@1309: value = string.gsub(value, "^%s+", "") bsw/jbe@1309: value = string.gsub(value, "%s+$", "") bsw/jbe@1309: value = string.gsub(value, "%s+", " ") bsw/jbe@1309: end bsw/jbe@1309: verification.verification_data[field.name] = value bsw/jbe@1309: end bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: if verification.verified_member_id then bsw/jbe@1309: bsw/jbe@1309: local member = Member:by_id(verification.verified_member_id) bsw/jbe@1309: bsw/jbe@1309: if param.get("cancel") then bsw/jbe@1309: db:query({ "SELECT delete_member(?)", member.id }) bsw/jbe@1309: return bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: member.identification = param.get("identification") bsw/jbe@1309: member.notify_email = param.get("email") bsw/jbe@1309: member:save() bsw/jbe@1309: bsw/jbe@1309: update_data() bsw/jbe@1309: bsw/jbe@1309: verification:save() bsw/jbe@1309: bsw/jbe@1309: if param.get("invite") then bsw/jbe@1309: member:send_invitation() bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: elseif param.get("drop") then bsw/jbe@1309: bsw/jbe@1309: verification.denied = "now" bsw/jbe@1309: verification:save() bsw/jbe@1309: return bsw/jbe@1309: bsw/jbe@1309: elseif param.get("accredit") then bsw/jbe@1309: bsw/jbe@1309: local member = Member:by_id(verification.requesting_member_id) bsw/jbe@1309: member.identification = param.get("identification") bsw/jbe@1309: member.notify_email = param.get("email") bsw/jbe@1309: member:save() bsw/jbe@1309: member:send_invitation() bsw/jbe@1309: bsw/jbe@1309: for i, unit_id in ipairs(config.self_registration.grant_privileges_for_unit_ids) do bsw/jbe@1309: local privilege = Privilege:new() bsw/jbe@1309: privilege.member_id = member.id bsw/jbe@1309: privilege.unit_id = unit_id bsw/jbe@1309: privilege.initiative_right = true bsw/jbe@1309: privilege.voting_right = true bsw/jbe@1309: privilege:save() bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: update_data() bsw/jbe@1309: bsw/jbe@1309: verification.verified_member_id = verification.requesting_member_id bsw/jbe@1309: verification.verifying_member_id = app.session.member_id bsw/jbe@1309: verification.verified = "now" bsw/jbe@1309: bsw/jbe@1309: verification:save() bsw/jbe@1309: bsw/jbe@1309: bsw/jbe@1309: else bsw/jbe@1309: bsw/jbe@1309: update_data() bsw/jbe@1309: verification:save() bsw/jbe@1309: bsw/jbe@1309: end