bsw/jbe@0: if not app.session.member.admin then
bsw/jbe@0: error('access denied')
bsw/jbe@0: end
bsw/jbe@0:
bsw/jbe@0: local id = param.get_id()
bsw/jbe@0:
bsw/jbe@0: local member
bsw/jbe@0:
bsw/jbe@0: if id then
bsw/jbe@0: member = Member:new_selector():add_where{"id = ?", id}:single_object_mode():exec()
bsw/jbe@0: else
bsw/jbe@0: member = Member:new()
bsw/jbe@0: end
bsw/jbe@0:
bsw@3: param.update(member, "login", "admin", "name", "active")
bsw/jbe@0:
bsw/jbe@0: local password = param.get("password")
bsw/jbe@0: if password == "********" or #password == 0 then
bsw/jbe@0: password = nil
bsw/jbe@0: end
bsw/jbe@0:
bsw/jbe@0: if password then
bsw/jbe@0: member:set_password(password)
bsw/jbe@0: end
bsw/jbe@0:
bsw/jbe@0: local err = member:try_save()
bsw/jbe@0:
bsw/jbe@0: if err then
bsw/jbe@0: slot.put_into("error", (_("Error while updating member, database reported:
(#{errormessage})"):gsub("#{errormessage}", tostring(err.message))))
bsw/jbe@0: return false
bsw/jbe@0: else
bsw/jbe@0: if id then
bsw/jbe@0: slot.put_into("notice", _"Member successfully updated")
bsw/jbe@0: else
bsw/jbe@0: slot.put_into("notice", _"Member successfully registered")
bsw/jbe@0: end
bsw/jbe@0: end