liquid_feedback_frontend

view app/main/admin/_action/member_update.lua @ 589:c5878a5d7dc7

Make unlock of members work in admin section
author bsw
date Thu Jun 21 17:15:37 2012 +0200 (2012-06-21)
parents 6fc640d87c8f
children ae7649ddccf4
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 local locked = param.get("locked", atom.boolean)
8 if locked ~= nil then
9 member.locked = locked
10 end
11 local login = param.get("login")
12 if login then
13 member.login = login
14 end
15 local name = param.get("name")
16 if name then
17 member.name = name
18 end
20 local err = member:try_save()
22 if err then
23 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
24 return false
25 end
27 if not id and config.single_unit_id then
28 local privilege = Privilege:new()
29 privilege.member_id = member.id
30 privilege.unit_id = config.single_unit_id
31 privilege.voting_right = true
32 privilege:save()
33 end
35 local units = Unit:new_selector()
36 :add_field("privilege.member_id NOTNULL", "privilege_exists")
37 :add_field("privilege.voting_right", "voting_right")
38 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
39 :exec()
41 for i, unit in ipairs(units) do
42 local value = param.get("unit_" .. unit.id, atom.boolean)
43 if value and not unit.privilege_exists then
44 privilege = Privilege:new()
45 privilege.unit_id = unit.id
46 privilege.member_id = member.id
47 privilege.voting_right = true
48 privilege:save()
49 elseif not value and unit.privilege_exists then
50 local privilege = Privilege:by_pk(unit.id, member.id)
51 privilege:destroy()
52 end
53 end
55 if not member.activated and param.get("invite_member", atom.boolean) then
56 member:send_invitation()
57 end
59 if id then
60 slot.put_into("notice", _"Member successfully updated")
61 else
62 slot.put_into("notice", _"Member successfully registered")
63 end

Impressum / About Us