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@581
|
6 ui.title(_("Member: '#{identification}' (#{name})", { identification = member.identification, name = member.name }))
|
bsw/jbe@0
|
7 else
|
bsw@581
|
8 ui.title(_"Register new member")
|
bsw/jbe@0
|
9 end
|
bsw/jbe@0
|
10
|
bsw@513
|
11 local units_selector = Unit:new_selector()
|
bsw@512
|
12
|
bsw@513
|
13 if member then
|
bsw@513
|
14 units_selector
|
bsw@513
|
15 :left_join("privilege", nil, { "privilege.member_id = ? AND privilege.unit_id = unit.id", member.id })
|
bsw@513
|
16 :add_field("privilege.voting_right", "voting_right")
|
bsw@513
|
17 end
|
bsw@513
|
18
|
bsw@513
|
19 local units = units_selector:exec()
|
bsw@512
|
20
|
bsw/jbe@0
|
21 ui.form{
|
bsw/jbe@0
|
22 attr = { class = "vertical" },
|
bsw/jbe@0
|
23 module = "admin",
|
bsw/jbe@0
|
24 action = "member_update",
|
bsw/jbe@0
|
25 id = member and member.id,
|
bsw/jbe@0
|
26 record = member,
|
bsw/jbe@0
|
27 readonly = not app.session.member.admin,
|
bsw/jbe@0
|
28 routing = {
|
bsw/jbe@0
|
29 default = {
|
bsw/jbe@0
|
30 mode = "redirect",
|
bsw/jbe@0
|
31 modules = "admin",
|
bsw/jbe@0
|
32 view = "member_list"
|
bsw/jbe@0
|
33 }
|
bsw/jbe@0
|
34 },
|
bsw/jbe@0
|
35 content = function()
|
bsw@254
|
36 ui.field.text{ label = _"Identification", name = "identification" }
|
bsw@286
|
37 ui.field.text{ label = _"Notification email", name = "notify_email" }
|
bsw@584
|
38 if member and member.activated then
|
bsw@584
|
39 ui.field.text{ label = _"Screen name", name = "name" }
|
bsw@581
|
40 ui.field.text{ label = _"Login name", name = "login" }
|
bsw@581
|
41 end
|
bsw/jbe@0
|
42 ui.field.boolean{ label = _"Admin?", name = "admin" }
|
bsw@310
|
43
|
bsw@512
|
44 slot.put("<br />")
|
bsw@512
|
45
|
bsw@512
|
46 for i, unit in ipairs(units) do
|
bsw@512
|
47 ui.field.boolean{
|
bsw@512
|
48 name = "unit_" .. unit.id,
|
bsw@512
|
49 label = unit.name,
|
bsw@512
|
50 value = unit.voting_right
|
bsw@512
|
51 }
|
bsw@512
|
52 end
|
bsw@310
|
53 slot.put("<br /><br />")
|
bsw@310
|
54
|
bsw@581
|
55 if not member or not member.activated then
|
bsw@581
|
56 ui.field.boolean{ label = _"Send invite?", name = "invite_member" }
|
bsw@581
|
57 end
|
bsw@581
|
58
|
bsw@584
|
59 if member and member.activated then
|
bsw@581
|
60 ui.field.boolean{ label = _"Lock member?", name = "locked" }
|
bsw@581
|
61 end
|
bsw@581
|
62
|
bsw@590
|
63 ui.field.boolean{
|
bsw@590
|
64 label = _"Member inactive?", name = "deactivate",
|
bsw@603
|
65 readonly = member and member.active, value = member and member.active == false
|
bsw@590
|
66 }
|
bsw@590
|
67
|
bsw@581
|
68 slot.put("<br />")
|
bsw/jbe@0
|
69 ui.submit{ text = _"Save" }
|
bsw/jbe@0
|
70 end
|
bsw/jbe@0
|
71 }
|