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 }
|