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