liquid_feedback_frontend

view app/main/admin/_action/member_update.lua @ 1504:2a0d86117d54

Added hidden and role units
author bsw
date Fri Jul 31 00:18:55 2020 +0200 (2020-07-31)
parents 9d15d509b5f6
children
line source
1 local id = param.get_id()
3 local member = Member:by_id(id) or Member:new()
5 param.update(member, "identification", "admin")
7 local notify_email = param.get("notify_email")
8 if notify_email == "" then
9 notify_email = nil
10 end
12 member.notify_email = notify_email
14 local notify_email_unconfirmed = param.get("notify_email_unconfirmed")
15 if notify_email_unconfirmed == "" then
16 notify_email_unconfirmed = nil
17 end
19 member.notify_email_unconfirmed = notify_email_unconfirmed
21 local locked = param.get("locked", atom.boolean)
22 if locked ~= nil then
23 member.locked = locked
24 end
25 local deactivate = param.get("deactivate", atom.boolean)
26 if deactivate then
27 member.active = false
28 end
29 local login = param.get("login")
30 if login and #login > 0 then
31 member.login = login
32 else
33 member.login = nil
34 end
35 local name = param.get("name")
36 if name then
37 member.name = name
38 end
39 local identification = param.get("identification")
40 if identification then
41 identification = util.trim(identification)
42 if identification == "" then
43 identification = nil
44 end
45 end
46 member.identification = identification
48 local err = member:try_save()
50 if err then
51 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
52 return false
53 end
55 if not id and config.single_unit_id then
56 local privilege = Privilege:new()
57 privilege.member_id = member.id
58 privilege.unit_id = config.single_unit_id
59 privilege.initiative_right = true
60 privilege.voting_right = true
61 privilege:save()
62 end
64 if not id then
65 local profile = MemberProfile:new()
66 profile.member_id = member.id
67 profile.profile = json.object()
68 profile:save()
69 end
71 local units = Unit:new_selector()
72 :add_field("privilege.member_id NOTNULL", "privilege_exists")
73 :add_field("privilege.voting_right", "voting_right")
74 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
75 :exec()
77 for i, unit in ipairs(units) do
78 local value = param.get("unit_" .. unit.id, atom.boolean)
79 if value and not unit.privilege_exists then
80 local privilege = Privilege:new()
81 privilege.unit_id = unit.id
82 privilege.member_id = member.id
83 privilege.voting_right = true
84 privilege:save()
85 elseif not value and unit.privilege_exists then
86 local privilege = Privilege:by_pk(unit.id, member.id)
87 privilege:destroy()
88 end
89 end
91 if not member.activated and param.get("invite_member", atom.boolean) then
92 member:send_invitation()
93 end
95 if id then
96 slot.put_into("notice", _"Member successfully updated")
97 else
98 slot.put_into("notice", _"Member successfully registered")
99 end

Impressum / About Us