liquid_feedback_frontend

annotate app/main/admin/member_edit.lua @ 512:d0e12e1b8761

Make member privileges editable in admin section
author bsw
date Wed Apr 11 19:03:50 2012 +0200 (2012-04-11)
parents b520779a23c4
children dbfde3c56790
rev   line source
bsw/jbe@0 1 local id = param.get_id()
bsw/jbe@0 2
bsw@193 3 local member = Member:by_id(id)
bsw@193 4
bsw@193 5 if member then
bsw/jbe@0 6 slot.put_into("title", encode.html(_("Member: '#{login}' (#{name})", { login = member.login, name = member.name })))
bsw/jbe@0 7 else
bsw/jbe@0 8 slot.put_into("title", encode.html(_"Register new member"))
bsw/jbe@0 9 end
bsw/jbe@0 10
bsw@512 11 local units = Unit:new_selector()
bsw@512 12 :add_field("privilege.voting_right", "voting_right")
bsw@512 13 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
bsw@512 14 :exec()
bsw@512 15
bsw@512 16
bsw/jbe@0 17 ui.form{
bsw/jbe@0 18 attr = { class = "vertical" },
bsw/jbe@0 19 module = "admin",
bsw/jbe@0 20 action = "member_update",
bsw/jbe@0 21 id = member and member.id,
bsw/jbe@0 22 record = member,
bsw/jbe@0 23 readonly = not app.session.member.admin,
bsw/jbe@0 24 routing = {
bsw/jbe@0 25 default = {
bsw/jbe@0 26 mode = "redirect",
bsw/jbe@0 27 modules = "admin",
bsw/jbe@0 28 view = "member_list"
bsw/jbe@0 29 }
bsw/jbe@0 30 },
bsw/jbe@0 31 content = function()
bsw@286 32 ui.field.text{ label = _"Identification", name = "identification" }
bsw@286 33 ui.field.text{ label = _"Notification email", name = "notify_email" }
bsw/jbe@0 34 ui.field.boolean{ label = _"Admin?", name = "admin" }
bsw@310 35
bsw@512 36 slot.put("<br />")
bsw@512 37
bsw@512 38 for i, unit in ipairs(units) do
bsw@512 39 ui.field.boolean{
bsw@512 40 name = "unit_" .. unit.id,
bsw@512 41 label = unit.name,
bsw@512 42 value = unit.voting_right
bsw@512 43 }
bsw@512 44 end
bsw@310 45 slot.put("<br /><br />")
bsw@310 46
bsw@286 47 ui.field.boolean{ label = _"Send invite?", name = "invite_member" }
bsw/jbe@0 48 ui.submit{ text = _"Save" }
bsw/jbe@0 49 end
bsw/jbe@0 50 }

Impressum / About Us