rev |
line source |
bsw@198
|
1 local contacts_selector = Contact:build_selector{
|
bsw@198
|
2 member_id = app.session.member_id,
|
bsw@198
|
3 order = "name"
|
bsw@198
|
4 }
|
bsw@198
|
5
|
bsw@564
|
6 ui.title(_"Contacts")
|
bsw/jbe@0
|
7
|
bsw@198
|
8
|
bsw@198
|
9 ui.paginate{
|
bsw@198
|
10 selector = contacts_selector,
|
bsw@198
|
11 content = function()
|
bsw@198
|
12 local contacts = contacts_selector:exec()
|
bsw@198
|
13 if #contacts == 0 then
|
jbe@233
|
14 ui.field.text{ value = _"You didn't save any member as contact yet." }
|
bsw@198
|
15 else
|
bsw@198
|
16 ui.list{
|
bsw@198
|
17 records = contacts,
|
bsw@198
|
18 columns = {
|
bsw@198
|
19 {
|
bsw@198
|
20 label = _"Name",
|
bsw@198
|
21 content = function(record)
|
bsw@198
|
22 ui.link{
|
bsw@198
|
23 text = record.other_member.name,
|
bsw@198
|
24 module = "member",
|
bsw@198
|
25 view = "show",
|
bsw@198
|
26 id = record.other_member_id
|
bsw@198
|
27 }
|
bsw@198
|
28 end
|
bsw@198
|
29 },
|
bsw@198
|
30 {
|
bsw@198
|
31 label = _"Published",
|
bsw@198
|
32 content = function(record)
|
bsw@198
|
33 ui.field.boolean{ value = record.public }
|
bsw@198
|
34 end
|
bsw@198
|
35 },
|
bsw@198
|
36 {
|
bsw@198
|
37 content = function(record)
|
bsw@198
|
38 if record.public then
|
bsw@198
|
39 ui.link{
|
bsw@198
|
40 attr = { class = "action" },
|
bsw@198
|
41 text = _"Hide",
|
bsw@198
|
42 module = "contact",
|
bsw@198
|
43 action = "add_member",
|
bsw@198
|
44 id = record.other_member_id,
|
bsw@198
|
45 params = { public = false },
|
bsw@198
|
46 routing = {
|
bsw@198
|
47 default = {
|
bsw@198
|
48 mode = "redirect",
|
bsw@198
|
49 module = request.get_module(),
|
bsw@198
|
50 view = request.get_view(),
|
bsw@198
|
51 id = param.get_id_cgi(),
|
bsw@198
|
52 params = param.get_all_cgi()
|
bsw@198
|
53 }
|
bsw@198
|
54 }
|
bsw@198
|
55 }
|
bsw@198
|
56 else
|
bsw@198
|
57 ui.link{
|
bsw@198
|
58 attr = { class = "action" },
|
bsw@198
|
59 text = _"Publish",
|
bsw@198
|
60 module = "contact",
|
bsw@198
|
61 action = "add_member",
|
bsw@198
|
62 id = record.other_member_id,
|
bsw@198
|
63 params = { public = true },
|
bsw@198
|
64 routing = {
|
bsw@198
|
65 default = {
|
bsw@198
|
66 mode = "redirect",
|
bsw@198
|
67 module = request.get_module(),
|
bsw@198
|
68 view = request.get_view(),
|
bsw@198
|
69 id = param.get_id_cgi(),
|
bsw@198
|
70 params = param.get_all_cgi()
|
bsw@198
|
71 }
|
bsw@198
|
72 }
|
bsw@198
|
73 }
|
bsw@198
|
74 end
|
bsw@198
|
75 end
|
bsw@198
|
76 },
|
bsw@198
|
77 {
|
bsw@198
|
78 content = function(record)
|
bsw@198
|
79 ui.link{
|
bsw@198
|
80 attr = { class = "action" },
|
bsw@198
|
81 text = _"Remove",
|
bsw@198
|
82 module = "contact",
|
bsw@198
|
83 action = "remove_member",
|
bsw@198
|
84 id = record.other_member_id,
|
bsw@198
|
85 routing = {
|
bsw@198
|
86 default = {
|
bsw@198
|
87 mode = "redirect",
|
bsw@198
|
88 module = request.get_module(),
|
bsw@198
|
89 view = request.get_view(),
|
bsw@198
|
90 id = param.get_id_cgi(),
|
bsw@198
|
91 params = param.get_all_cgi()
|
bsw@198
|
92 }
|
bsw@198
|
93 }
|
bsw@198
|
94 }
|
bsw@198
|
95 end
|
bsw@198
|
96 },
|
bsw@198
|
97 }
|
bsw@198
|
98 }
|
bsw@198
|
99 end
|
bsw@198
|
100 end
|
bsw/jbe@0
|
101 }
|