liquid_feedback_frontend

view app/main/admin/_action/member_update.lua @ 556:53f93f0ffa6e

Fix public event line (do not use member_info when no member logged in)
author bsw
date Tue Jun 19 18:44:46 2012 +0200 (2012-06-19)
parents 3e4f6534bb15
children c676054cb0bc
line source
1 local id = param.get_id()
3 local member = Member:by_id(id) or Member:new()
5 param.update(member, "identification", "notify_email", "admin")
7 if param.get("invite_member", atom.boolean) then
8 member:send_invitation()
9 end
11 local err = member:try_save()
13 if err then
14 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
15 return false
16 end
18 if not id and config.single_unit_id then
19 local privilege = Privilege:new()
20 privilege.member_id = member.id
21 privilege.unit_id = config.single_unit_id
22 privilege.voting_right = true
23 privilege:save()
24 end
26 local units = Unit:new_selector()
27 :add_field("privilege.member_id NOTNULL", "privilege_exists")
28 :add_field("privilege.voting_right", "voting_right")
29 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
30 :exec()
32 for i, unit in ipairs(units) do
33 local value = param.get("unit_" .. unit.id, atom.boolean)
34 if value and not unit.privilege_exists then
35 privilege = Privilege:new()
36 privilege.unit_id = unit.id
37 privilege.member_id = member.id
38 privilege.voting_right = true
39 privilege:save()
40 elseif not value and unit.privilege_exists then
41 local privilege = Privilege:by_pk(unit.id, member.id)
42 privilege:destroy()
43 end
44 end
46 if id then
47 slot.put_into("notice", _"Member successfully updated")
48 else
49 slot.put_into("notice", _"Member successfully registered")
50 end

Impressum / About Us