liquid_feedback_frontend

view app/main/admin/_action/member_update.lua @ 581:c676054cb0bc

Some improvements to admin member section
author bsw
date Wed Jun 20 13:31:09 2012 +0200 (2012-06-20)
parents 3e4f6534bb15
children 6fc640d87c8f
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", "locked")
7 local err = member:try_save()
9 if err then
10 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
11 return false
12 end
14 if not id and config.single_unit_id then
15 local privilege = Privilege:new()
16 privilege.member_id = member.id
17 privilege.unit_id = config.single_unit_id
18 privilege.voting_right = true
19 privilege:save()
20 end
22 local units = Unit:new_selector()
23 :add_field("privilege.member_id NOTNULL", "privilege_exists")
24 :add_field("privilege.voting_right", "voting_right")
25 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
26 :exec()
28 for i, unit in ipairs(units) do
29 local value = param.get("unit_" .. unit.id, atom.boolean)
30 if value and not unit.privilege_exists then
31 privilege = Privilege:new()
32 privilege.unit_id = unit.id
33 privilege.member_id = member.id
34 privilege.voting_right = true
35 privilege:save()
36 elseif not value and unit.privilege_exists then
37 local privilege = Privilege:by_pk(unit.id, member.id)
38 privilege:destroy()
39 end
40 end
42 if not member.activated and param.get("invite_member", atom.boolean) then
43 member:send_invitation()
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