rev |
line source |
bsw@1045
|
1 local member = param.get("member", "table")
|
bsw@1045
|
2
|
bsw@1045
|
3 local public_contacts_selector = Contact:build_selector{
|
bsw@1045
|
4 public = true,
|
bsw@1045
|
5 member_id = member.id,
|
bsw@1045
|
6 order = "name"
|
bsw@1045
|
7 }
|
bsw@1045
|
8
|
bsw@1045
|
9 local private_contacts_selector = Contact:build_selector{
|
bsw@1045
|
10 public = false,
|
bsw@1045
|
11 member_id = member.id,
|
bsw@1045
|
12 order = "name"
|
bsw@1045
|
13 }
|
bsw@1045
|
14
|
bsw/jbe@1309
|
15 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
|
bsw/jbe@1309
|
16 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
17 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Published contacts" }
|
bsw/jbe@1309
|
18 end }
|
bsw@1045
|
19
|
bsw/jbe@1309
|
20 ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
21 ui.container{ content = _"Published contacts" }
|
bsw@1045
|
22 if public_contacts_selector:count() == 0 then
|
bsw/jbe@1309
|
23 ui.container{ content = _"No published contacts" }
|
bsw@1045
|
24 else
|
bsw@1045
|
25 ui.paginate{
|
bsw@1045
|
26 selector = public_contacts_selector,
|
bsw@1045
|
27 name = "contacts",
|
bsw@1045
|
28 content = function()
|
bsw@1045
|
29 local contacts = public_contacts_selector:exec()
|
bsw@1045
|
30 for i, contact in ipairs(contacts) do
|
bsw/jbe@1309
|
31 ui.container{ content = function()
|
bsw@1045
|
32 execute.view{ module = "member_image", view = "_show", params = {
|
bsw@1045
|
33 member_id = contact.other_member.id, class = "micro_avatar",
|
bsw@1045
|
34 popup_text = contact.other_member.name,
|
bsw@1045
|
35 image_type = "avatar", show_dummy = true,
|
bsw@1045
|
36 } }
|
bsw@1045
|
37 slot.put(" ")
|
bsw@1045
|
38 ui.link{
|
bsw@1045
|
39 content = contact.other_member.name,
|
bsw@1045
|
40 module = "member",
|
bsw@1045
|
41 view = "show",
|
bsw@1045
|
42 id = contact.other_member.id
|
bsw@1045
|
43 }
|
bsw/jbe@1309
|
44 if app.session.member_id == member.id then
|
bsw/jbe@1309
|
45 ui.link{
|
bsw/jbe@1309
|
46 content = function()
|
bsw/jbe@1309
|
47 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "get_app" }
|
bsw/jbe@1309
|
48 end,
|
bsw/jbe@1309
|
49 module = "contact",
|
bsw/jbe@1309
|
50 action = "add_member",
|
bsw/jbe@1309
|
51 id = contact.other_member_id,
|
bsw/jbe@1309
|
52 params = { public = false },
|
bsw/jbe@1309
|
53 routing = {
|
bsw/jbe@1309
|
54 default = {
|
bsw/jbe@1309
|
55 mode = "redirect",
|
bsw/jbe@1309
|
56 module = request.get_module(),
|
bsw/jbe@1309
|
57 view = request.get_view(),
|
bsw/jbe@1309
|
58 id = request.get_id_string(),
|
bsw/jbe@1309
|
59 params = request.get_param_strings()
|
bsw/jbe@1309
|
60 }
|
bsw/jbe@1309
|
61 }
|
bsw/jbe@1309
|
62 }
|
bsw/jbe@1309
|
63 ui.link{
|
bsw/jbe@1309
|
64 content = function()
|
bsw/jbe@1309
|
65 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "delete" }
|
bsw/jbe@1309
|
66 end,
|
bsw/jbe@1309
|
67 module = "contact",
|
bsw/jbe@1309
|
68 action = "remove_member",
|
bsw/jbe@1309
|
69 id = contact.other_member_id,
|
bsw/jbe@1309
|
70 routing = {
|
bsw/jbe@1309
|
71 default = {
|
bsw/jbe@1309
|
72 mode = "redirect",
|
bsw/jbe@1309
|
73 module = request.get_module(),
|
bsw/jbe@1309
|
74 view = request.get_view(),
|
bsw/jbe@1309
|
75 id = request.get_id_string(),
|
bsw/jbe@1309
|
76 params = request.get_param_strings()
|
bsw/jbe@1309
|
77 }
|
bsw/jbe@1309
|
78 }
|
bsw/jbe@1309
|
79 }
|
bsw/jbe@1309
|
80 end
|
bsw/jbe@1309
|
81 end }
|
bsw@1045
|
82 end
|
bsw@1045
|
83 end
|
bsw@1045
|
84 }
|
bsw@1045
|
85 end
|
bsw/jbe@1309
|
86 end }
|
bsw/jbe@1309
|
87
|
bsw/jbe@1309
|
88 if member.id == app.session.member_id then
|
bsw/jbe@1309
|
89 ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function()
|
bsw/jbe@1309
|
90 ui.tag{ content = _"Private contacts" }
|
bsw/jbe@1309
|
91
|
bsw/jbe@1309
|
92 if app.session.member_id and app.session.member_id == member.id
|
bsw/jbe@1309
|
93 and private_contacts_selector:count() > 0
|
bsw/jbe@1309
|
94 then
|
bsw@1045
|
95
|
bsw/jbe@1309
|
96 ui.paginate{
|
bsw/jbe@1309
|
97 selector = private_contacts_selector,
|
bsw/jbe@1309
|
98 name = "contacts",
|
bsw/jbe@1309
|
99 content = function()
|
bsw/jbe@1309
|
100 local contacts = private_contacts_selector:exec()
|
bsw/jbe@1309
|
101 for i, contact in ipairs(contacts) do
|
bsw/jbe@1309
|
102 ui.container{ content = function()
|
bsw/jbe@1309
|
103 execute.view{ module = "member_image", view = "_show", params = {
|
bsw/jbe@1309
|
104 member_id = contact.other_member.id, class = "micro_avatar",
|
bsw/jbe@1309
|
105 popup_text = contact.other_member.name,
|
bsw/jbe@1309
|
106 image_type = "avatar", show_dummy = true,
|
bsw/jbe@1309
|
107 } }
|
bsw/jbe@1309
|
108 slot.put(" ")
|
bsw/jbe@1309
|
109 ui.link{
|
bsw/jbe@1309
|
110 content = contact.other_member.name,
|
bsw/jbe@1309
|
111 module = "member",
|
bsw/jbe@1309
|
112 view = "show",
|
bsw/jbe@1309
|
113 id = contact.other_member.id
|
bsw/jbe@1309
|
114 }
|
bsw/jbe@1309
|
115 slot.put(" ")
|
bsw/jbe@1309
|
116 ui.link{
|
bsw/jbe@1309
|
117 content = function()
|
bsw/jbe@1309
|
118 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "publish" }
|
bsw/jbe@1309
|
119 end,
|
bsw/jbe@1309
|
120 module = "contact",
|
bsw/jbe@1309
|
121 action = "add_member",
|
bsw/jbe@1309
|
122 id = contact.other_member_id,
|
bsw/jbe@1309
|
123 params = { public = true },
|
bsw/jbe@1309
|
124 routing = {
|
bsw/jbe@1309
|
125 default = {
|
bsw/jbe@1309
|
126 mode = "redirect",
|
bsw/jbe@1309
|
127 module = request.get_module(),
|
bsw/jbe@1309
|
128 view = request.get_view(),
|
bsw/jbe@1309
|
129 id = request.get_id_string(),
|
bsw/jbe@1309
|
130 params = request.get_param_strings()
|
bsw/jbe@1309
|
131 }
|
bsw/jbe@1309
|
132 }
|
bsw/jbe@1309
|
133 }
|
bsw/jbe@1309
|
134 ui.link{
|
bsw/jbe@1309
|
135 content = function()
|
bsw/jbe@1309
|
136 ui.tag{ tag = "i", attr = { class = "material-icons" }, content = "delete" }
|
bsw/jbe@1309
|
137 end,
|
bsw/jbe@1309
|
138 module = "contact",
|
bsw/jbe@1309
|
139 action = "remove_member",
|
bsw/jbe@1309
|
140 id = contact.other_member_id,
|
bsw/jbe@1309
|
141 routing = {
|
bsw/jbe@1309
|
142 default = {
|
bsw/jbe@1309
|
143 mode = "redirect",
|
bsw/jbe@1309
|
144 module = request.get_module(),
|
bsw/jbe@1309
|
145 view = request.get_view(),
|
bsw/jbe@1309
|
146 id = request.get_id_string(),
|
bsw/jbe@1309
|
147 params = request.get_param_strings()
|
bsw/jbe@1309
|
148 }
|
bsw/jbe@1309
|
149 }
|
bsw/jbe@1309
|
150 }
|
bsw/jbe@1309
|
151 end }
|
bsw/jbe@1309
|
152 end
|
bsw/jbe@1309
|
153 end
|
bsw/jbe@1309
|
154 }
|
bsw@1045
|
155 end
|
bsw/jbe@1309
|
156 end }
|
bsw@1045
|
157 end
|
bsw/jbe@1309
|
158 end }
|