liquid_feedback_frontend

annotate 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
rev   line source
bsw@357 1 local id = param.get_id()
bsw/jbe@0 2
bsw@357 3 local member = Member:by_id(id) or Member:new()
bsw/jbe@0 4
bsw@286 5 param.update(member, "identification", "notify_email", "admin")
bsw/jbe@0 6
bsw@286 7 if param.get("invite_member", atom.boolean) then
bsw@286 8 member:send_invitation()
bsw/jbe@0 9 end
bsw/jbe@0 10
bsw/jbe@0 11 local err = member:try_save()
bsw/jbe@0 12
bsw/jbe@0 13 if err then
bsw/jbe@0 14 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
bsw/jbe@0 15 return false
bsw@357 16 end
bsw@357 17
bsw@357 18 if not id and config.single_unit_id then
bsw@357 19 local privilege = Privilege:new()
bsw@357 20 privilege.member_id = member.id
bsw@357 21 privilege.unit_id = config.single_unit_id
bsw@357 22 privilege.voting_right = true
bsw@359 23 privilege:save()
bsw@357 24 end
bsw@357 25
bsw@512 26 local units = Unit:new_selector()
bsw@512 27 :add_field("privilege.member_id NOTNULL", "privilege_exists")
bsw@512 28 :add_field("privilege.voting_right", "voting_right")
bsw@512 29 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
bsw@512 30 :exec()
bsw@512 31
bsw@512 32 for i, unit in ipairs(units) do
bsw@512 33 local value = param.get("unit_" .. unit.id, atom.boolean)
bsw@512 34 if value and not unit.privilege_exists then
bsw@512 35 privilege = Privilege:new()
bsw@512 36 privilege.unit_id = unit.id
bsw@512 37 privilege.member_id = member.id
bsw@512 38 privilege.voting_right = true
bsw@512 39 privilege:save()
bsw@512 40 elseif not value and unit.privilege_exists then
bsw@512 41 local privilege = Privilege:by_pk(unit.id, member.id)
bsw@512 42 privilege:destroy()
bsw@512 43 end
bsw@512 44 end
bsw@512 45
bsw@357 46 if id then
bsw@357 47 slot.put_into("notice", _"Member successfully updated")
bsw/jbe@0 48 else
bsw@357 49 slot.put_into("notice", _"Member successfully registered")
bsw@244 50 end

Impressum / About Us