liquid_feedback_frontend

annotate app/main/admin/_action/member_update.lua @ 841:f18d2f88e535

Translation in Traditional Chinese
author Chun-Ting Hsu
date Fri Jul 27 21:22:55 2012 +0200 (2012-07-27)
parents cb5bac9da089
children e17e35dc8aa6
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@584 5 param.update(member, "identification", "notify_email", "admin")
bsw@584 6
bsw@584 7 local locked = param.get("locked", atom.boolean)
bsw@589 8 if locked ~= nil then
bsw@584 9 member.locked = locked
bsw@584 10 end
bsw@590 11 local deactivate = param.get("deactivate", atom.boolean)
bsw@590 12 if deactivate then
bsw@590 13 member.active = false
bsw@590 14 end
bsw@584 15 local login = param.get("login")
bsw@584 16 if login then
bsw@584 17 member.login = login
bsw@584 18 end
bsw@584 19 local name = param.get("name")
bsw@584 20 if name then
bsw@584 21 member.name = name
bsw@584 22 end
bsw@836 23 local identification = param.get("identification")
bsw@836 24 if identification then
bsw@836 25 identification = util.trim(identification)
bsw@836 26 if identification == "" then
bsw@836 27 identification = nil
bsw@836 28 end
bsw@836 29 end
bsw@836 30 member.identification = identification
bsw/jbe@0 31
bsw/jbe@0 32 local err = member:try_save()
bsw/jbe@0 33
bsw/jbe@0 34 if err then
bsw/jbe@0 35 slot.put_into("error", (_("Error while updating member, database reported:<br /><br /> (#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
bsw/jbe@0 36 return false
bsw@357 37 end
bsw@357 38
bsw@357 39 if not id and config.single_unit_id then
bsw@357 40 local privilege = Privilege:new()
bsw@357 41 privilege.member_id = member.id
bsw@357 42 privilege.unit_id = config.single_unit_id
bsw@357 43 privilege.voting_right = true
bsw@359 44 privilege:save()
bsw@357 45 end
bsw@357 46
bsw@512 47 local units = Unit:new_selector()
bsw@512 48 :add_field("privilege.member_id NOTNULL", "privilege_exists")
bsw@512 49 :add_field("privilege.voting_right", "voting_right")
bsw@512 50 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
bsw@512 51 :exec()
bsw@512 52
bsw@512 53 for i, unit in ipairs(units) do
bsw@512 54 local value = param.get("unit_" .. unit.id, atom.boolean)
bsw@512 55 if value and not unit.privilege_exists then
bsw@512 56 privilege = Privilege:new()
bsw@512 57 privilege.unit_id = unit.id
bsw@512 58 privilege.member_id = member.id
bsw@512 59 privilege.voting_right = true
bsw@512 60 privilege:save()
bsw@512 61 elseif not value and unit.privilege_exists then
bsw@512 62 local privilege = Privilege:by_pk(unit.id, member.id)
bsw@512 63 privilege:destroy()
bsw@512 64 end
bsw@512 65 end
bsw@512 66
bsw@581 67 if not member.activated and param.get("invite_member", atom.boolean) then
bsw@581 68 member:send_invitation()
bsw@581 69 end
bsw@581 70
bsw@357 71 if id then
bsw@357 72 slot.put_into("notice", _"Member successfully updated")
bsw/jbe@0 73 else
bsw@357 74 slot.put_into("notice", _"Member successfully registered")
bsw@244 75 end

Impressum / About Us