rev |
line source |
bsw/jbe@0
|
1 local member = Member:by_id(param.get_id())
|
bsw/jbe@0
|
2
|
bsw@286
|
3 if not member or not member.activated then
|
bsw@286
|
4 error("access denied")
|
bsw@286
|
5 end
|
bsw@286
|
6
|
jorges@103
|
7 app.html_title.title = member.name
|
jorges@103
|
8 app.html_title.subtitle = _("Member")
|
jorges@103
|
9
|
bsw@564
|
10 slot.select("head", function()
|
bsw@564
|
11 ui.container{
|
bsw@564
|
12 attr = { class = "title" },
|
bsw@564
|
13 content = _("Member '#{member}'", { member = member.name })
|
bsw@426
|
14 }
|
bsw@564
|
15
|
bsw@564
|
16 ui.container{ attr = { class = "actions" }, content = function()
|
bsw@564
|
17
|
bsw@564
|
18 if member.id == app.session.member_id then
|
bsw@564
|
19 ui.link{
|
bsw@564
|
20 content = function()
|
bsw@564
|
21 slot.put(encode.html(_"Edit profile"))
|
bsw@564
|
22 end,
|
bsw@564
|
23 module = "member",
|
bsw@564
|
24 view = "edit"
|
bsw@564
|
25 }
|
bsw@564
|
26 slot.put(" · ")
|
bsw@564
|
27 ui.link{
|
bsw@564
|
28 content = function()
|
bsw@564
|
29 slot.put(encode.html(_"Upload avatar/photo"))
|
bsw@564
|
30 end,
|
bsw@564
|
31 module = "member",
|
bsw@564
|
32 view = "edit_images"
|
bsw@564
|
33 }
|
bsw@564
|
34 slot.put(" · ")
|
bsw@564
|
35 end
|
bsw@564
|
36 ui.link{
|
bsw@564
|
37 content = function()
|
bsw@564
|
38 slot.put(encode.html(_"Show member history"))
|
bsw@564
|
39 end,
|
bsw@564
|
40 module = "member",
|
bsw@564
|
41 view = "history",
|
bsw@564
|
42 id = member.id
|
bsw@426
|
43 }
|
bsw@564
|
44 if not member.active then
|
bsw@564
|
45 slot.put(" · ")
|
bsw@564
|
46 ui.tag{
|
bsw@564
|
47 attr = { class = "interest deactivated_member_info" },
|
bsw@564
|
48 content = _"This member is deactivated."
|
bsw@564
|
49 }
|
bsw@564
|
50 end
|
bsw@564
|
51 if not (member.id == app.session.member.id) then
|
bsw@564
|
52 slot.put(" · ")
|
bsw@564
|
53 --TODO performance
|
bsw@564
|
54 local contact = Contact:by_pk(app.session.member.id, member.id)
|
bsw@564
|
55 if contact then
|
bsw@564
|
56 ui.link{
|
bsw@564
|
57 text = _"Remove from contacts",
|
bsw@564
|
58 module = "contact",
|
bsw@564
|
59 action = "remove_member",
|
bsw@564
|
60 id = contact.other_member_id,
|
bsw@564
|
61 routing = {
|
bsw@564
|
62 default = {
|
bsw@564
|
63 mode = "redirect",
|
bsw@564
|
64 module = request.get_module(),
|
bsw@564
|
65 view = request.get_view(),
|
bsw@564
|
66 id = param.get_id_cgi(),
|
bsw@564
|
67 params = param.get_all_cgi()
|
bsw@564
|
68 }
|
bsw@564
|
69 }
|
bsw@564
|
70 }
|
bsw@564
|
71 elseif member.activated then
|
bsw@564
|
72 ui.link{
|
bsw@564
|
73 text = _"Add to my contacts",
|
bsw@564
|
74 module = "contact",
|
bsw@564
|
75 action = "add_member",
|
bsw@564
|
76 id = member.id,
|
bsw@564
|
77 routing = {
|
bsw@564
|
78 default = {
|
bsw@564
|
79 mode = "redirect",
|
bsw@564
|
80 module = request.get_module(),
|
bsw@564
|
81 view = request.get_view(),
|
bsw@564
|
82 id = param.get_id_cgi(),
|
bsw@564
|
83 params = param.get_all_cgi()
|
bsw@564
|
84 }
|
bsw@564
|
85 }
|
bsw@564
|
86 }
|
bsw@564
|
87 end
|
bsw@564
|
88 end
|
bsw@564
|
89 local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
|
bsw@525
|
90 slot.put(" · ")
|
bsw@564
|
91 if ignored_member then
|
bsw@564
|
92 ui.tag{
|
bsw/jbe@4
|
93 attr = { class = "interest" },
|
bsw@564
|
94 content = _"You have ignored this member"
|
bsw/jbe@4
|
95 }
|
bsw@564
|
96 slot.put(" · ")
|
bsw@3
|
97 ui.link{
|
bsw@564
|
98 text = _"Stop ignoring member",
|
bsw@564
|
99 module = "member",
|
bsw@564
|
100 action = "update_ignore_member",
|
bsw@564
|
101 id = member.id,
|
bsw@564
|
102 params = { delete = true },
|
bsw@3
|
103 routing = {
|
bsw@3
|
104 default = {
|
bsw@3
|
105 mode = "redirect",
|
bsw@3
|
106 module = request.get_module(),
|
bsw@3
|
107 view = request.get_view(),
|
bsw@3
|
108 id = param.get_id_cgi(),
|
bsw@3
|
109 params = param.get_all_cgi()
|
bsw@3
|
110 }
|
bsw@3
|
111 }
|
bsw@3
|
112 }
|
bsw@245
|
113 elseif member.activated then
|
bsw@3
|
114 ui.link{
|
bsw@564
|
115 attr = { class = "interest" },
|
bsw@564
|
116 text = _"Ignore member",
|
bsw@564
|
117 module = "member",
|
bsw@564
|
118 action = "update_ignore_member",
|
bsw@3
|
119 id = member.id,
|
bsw@3
|
120 routing = {
|
bsw@3
|
121 default = {
|
bsw@3
|
122 mode = "redirect",
|
bsw@3
|
123 module = request.get_module(),
|
bsw@3
|
124 view = request.get_view(),
|
bsw@3
|
125 id = param.get_id_cgi(),
|
bsw@3
|
126 params = param.get_all_cgi()
|
bsw@3
|
127 }
|
bsw@3
|
128 }
|
bsw@3
|
129 }
|
bsw@57
|
130 end
|
bsw@564
|
131 end }
|
bsw@9
|
132 end)
|
bsw@9
|
133
|
bsw/jbe@4
|
134 util.help("member.show", _"Member page")
|
bsw/jbe@0
|
135
|
bsw/jbe@0
|
136 execute.view{
|
bsw/jbe@0
|
137 module = "member",
|
bsw/jbe@0
|
138 view = "_show",
|
bsw/jbe@0
|
139 params = { member = member }
|
bsw/jbe@0
|
140 }
|
bsw/jbe@0
|
141
|