rev |
line source |
bsw/jbe@1309
|
1 if not app.session.member.role then
|
bsw/jbe@1309
|
2 return
|
bsw/jbe@1309
|
3 end
|
bsw/jbe@1309
|
4
|
bsw/jbe@1309
|
5 ui.titleMember(_"Account access")
|
bsw/jbe@1309
|
6
|
bsw/jbe@1309
|
7 ui.grid{ content = function()
|
bsw/jbe@1309
|
8
|
bsw/jbe@1309
|
9 ui.cell_main{ content = function()
|
bsw/jbe@1309
|
10 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
|
bsw/jbe@1309
|
11 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
12 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Agents" }
|
bsw/jbe@1309
|
13 end }
|
bsw/jbe@1309
|
14 ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
15
|
bsw/jbe@1309
|
16 local agents = Agent:new_selector()
|
bsw/jbe@1309
|
17 :add_where{ "controlled_id = ?", app.session.member_id }
|
bsw/jbe@1309
|
18 :exec()
|
bsw/jbe@1309
|
19
|
bsw/jbe@1309
|
20 if #(agents) > 0 then
|
bsw/jbe@1309
|
21 ui.list{
|
bsw/jbe@1309
|
22 records = agents,
|
bsw/jbe@1309
|
23 columns = {
|
bsw/jbe@1309
|
24 {
|
bsw/jbe@1309
|
25 label = _"Account access by member",
|
bsw/jbe@1309
|
26 content = function(record)
|
bsw/jbe@1309
|
27 ui.tag{ content = record.controller.name }
|
bsw/jbe@1309
|
28 end
|
bsw/jbe@1309
|
29 },
|
bsw/jbe@1309
|
30 {
|
bsw/jbe@1309
|
31 label = _"Status",
|
bsw/jbe@1309
|
32 content = function(record)
|
bsw/jbe@1309
|
33 local text
|
bsw/jbe@1309
|
34 if record.accepted then
|
bsw/jbe@1309
|
35 text = _"accepted"
|
bsw/jbe@1309
|
36 elseif record.accepted == false then
|
bsw/jbe@1309
|
37 text = _"rejected"
|
bsw/jbe@1309
|
38 else
|
bsw/jbe@1309
|
39 text = _"not decided yet"
|
bsw/jbe@1309
|
40 end
|
bsw/jbe@1309
|
41 ui.tag{ content = text }
|
bsw/jbe@1309
|
42 end
|
bsw/jbe@1309
|
43 },
|
bsw/jbe@1309
|
44 {
|
bsw/jbe@1309
|
45 content = function(record)
|
bsw/jbe@1309
|
46 ui.link{ content = _"Revoke", module = "member", action = "update_agent", params = { delete = true, controller_id = record.controller_id } }
|
bsw/jbe@1309
|
47 end
|
bsw/jbe@1309
|
48 },
|
bsw/jbe@1309
|
49 }
|
bsw/jbe@1309
|
50 }
|
bsw/jbe@1309
|
51 else
|
bsw/jbe@1309
|
52 ui.container{ content = _"No other members are allowed to use this account." }
|
bsw/jbe@1309
|
53 end
|
bsw/jbe@1309
|
54
|
bsw/jbe@1309
|
55 end }
|
bsw/jbe@1309
|
56 ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
57
|
bsw/jbe@1309
|
58 ui.form{
|
bsw/jbe@1309
|
59 attr = { class = "wide" },
|
bsw/jbe@1309
|
60 module = "member",
|
bsw/jbe@1309
|
61 action = "update_agent",
|
bsw/jbe@1309
|
62 routing = {
|
bsw/jbe@1309
|
63 ok = {
|
bsw/jbe@1309
|
64 mode = "redirect",
|
bsw/jbe@1309
|
65 module = "member",
|
bsw/jbe@1309
|
66 view = "settings_agent"
|
bsw/jbe@1309
|
67 }
|
bsw/jbe@1309
|
68 },
|
bsw/jbe@1309
|
69 content = function()
|
bsw/jbe@1309
|
70
|
bsw/jbe@1309
|
71 ui.container{ content = _"Add new account access privilege" }
|
bsw/jbe@1309
|
72
|
bsw/jbe@1309
|
73 local contact_members = Member:build_selector{
|
bsw/jbe@1309
|
74 is_contact_of_member_id = app.session.member_id,
|
bsw/jbe@1309
|
75 active = true,
|
bsw/jbe@1309
|
76 order = "name"
|
bsw/jbe@1309
|
77 }:add_where("NOT member.role"):exec()
|
bsw/jbe@1309
|
78
|
bsw/jbe@1309
|
79 ui.field.select{
|
bsw/jbe@1309
|
80 name = "controller_id",
|
bsw/jbe@1309
|
81 foreign_records = contact_members,
|
bsw/jbe@1309
|
82 foreign_id = "id",
|
bsw/jbe@1309
|
83 foreign_name = "name"
|
bsw/jbe@1309
|
84 }
|
bsw/jbe@1309
|
85 slot.put("<br />")
|
bsw/jbe@1309
|
86
|
bsw/jbe@1309
|
87 ui.tag{
|
bsw/jbe@1309
|
88 tag = "input",
|
bsw/jbe@1309
|
89 attr = {
|
bsw/jbe@1309
|
90 type = "submit",
|
bsw/jbe@1309
|
91 class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
|
bsw/jbe@1309
|
92 value = _"Grant account access"
|
bsw/jbe@1309
|
93 },
|
bsw/jbe@1309
|
94 content = ""
|
bsw/jbe@1309
|
95 }
|
bsw/jbe@1309
|
96 slot.put(" ")
|
bsw/jbe@1309
|
97 ui.link {
|
bsw/jbe@1309
|
98 attr = { class = "mdl-button mdl-js-button mdl-button--raised" },
|
bsw/jbe@1309
|
99 module = "member", view = "show", id = app.session.member_id,
|
bsw/jbe@1309
|
100 content = _"Cancel"
|
bsw/jbe@1309
|
101 }
|
bsw/jbe@1309
|
102 end
|
bsw/jbe@1309
|
103 }
|
bsw/jbe@1309
|
104
|
bsw/jbe@1309
|
105 end }
|
bsw/jbe@1309
|
106 end }
|
bsw/jbe@1309
|
107 end }
|
bsw/jbe@1309
|
108
|
bsw/jbe@1309
|
109 ui.cell_sidebar{ content = function()
|
bsw/jbe@1309
|
110 execute.view {
|
bsw/jbe@1309
|
111 module = "member", view = "_sidebar_whatcanido", params = {
|
bsw/jbe@1309
|
112 member = app.session.member
|
bsw/jbe@1309
|
113 }
|
bsw/jbe@1309
|
114 }
|
bsw/jbe@1309
|
115 end }
|
bsw/jbe@1309
|
116
|
bsw/jbe@1309
|
117 end }
|
bsw/jbe@1309
|
118
|