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@609
|
48 content = _"This member is inactive"
|
bsw@609
|
49 }
|
bsw@609
|
50 end
|
bsw@609
|
51 if member.locked then
|
bsw@609
|
52 slot.put(" · ")
|
bsw@609
|
53 ui.tag{
|
bsw@609
|
54 attr = { class = "interest deactivated_member_info" },
|
bsw@609
|
55 content = _"This member is locked"
|
bsw@564
|
56 }
|
bsw@564
|
57 end
|
bsw@564
|
58 if not (member.id == app.session.member.id) then
|
bsw@564
|
59 slot.put(" · ")
|
bsw@564
|
60 --TODO performance
|
bsw@564
|
61 local contact = Contact:by_pk(app.session.member.id, member.id)
|
bsw@564
|
62 if contact then
|
bsw@564
|
63 ui.link{
|
bsw@564
|
64 text = _"Remove from contacts",
|
bsw@564
|
65 module = "contact",
|
bsw@564
|
66 action = "remove_member",
|
bsw@564
|
67 id = contact.other_member_id,
|
bsw@564
|
68 routing = {
|
bsw@564
|
69 default = {
|
bsw@564
|
70 mode = "redirect",
|
bsw@564
|
71 module = request.get_module(),
|
bsw@564
|
72 view = request.get_view(),
|
bsw@564
|
73 id = param.get_id_cgi(),
|
bsw@564
|
74 params = param.get_all_cgi()
|
bsw@564
|
75 }
|
bsw@564
|
76 }
|
bsw@564
|
77 }
|
bsw@564
|
78 elseif member.activated then
|
bsw@564
|
79 ui.link{
|
bsw@564
|
80 text = _"Add to my contacts",
|
bsw@564
|
81 module = "contact",
|
bsw@564
|
82 action = "add_member",
|
bsw@564
|
83 id = member.id,
|
bsw@564
|
84 routing = {
|
bsw@564
|
85 default = {
|
bsw@564
|
86 mode = "redirect",
|
bsw@564
|
87 module = request.get_module(),
|
bsw@564
|
88 view = request.get_view(),
|
bsw@564
|
89 id = param.get_id_cgi(),
|
bsw@564
|
90 params = param.get_all_cgi()
|
bsw@564
|
91 }
|
bsw@564
|
92 }
|
bsw@564
|
93 }
|
bsw@564
|
94 end
|
bsw@564
|
95 end
|
bsw@564
|
96 local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
|
bsw@525
|
97 slot.put(" · ")
|
bsw@564
|
98 if ignored_member then
|
bsw@564
|
99 ui.tag{
|
bsw/jbe@4
|
100 attr = { class = "interest" },
|
bsw@564
|
101 content = _"You have ignored this member"
|
bsw/jbe@4
|
102 }
|
bsw@564
|
103 slot.put(" · ")
|
bsw@3
|
104 ui.link{
|
bsw@564
|
105 text = _"Stop ignoring member",
|
bsw@564
|
106 module = "member",
|
bsw@564
|
107 action = "update_ignore_member",
|
bsw@564
|
108 id = member.id,
|
bsw@564
|
109 params = { delete = true },
|
bsw@3
|
110 routing = {
|
bsw@3
|
111 default = {
|
bsw@3
|
112 mode = "redirect",
|
bsw@3
|
113 module = request.get_module(),
|
bsw@3
|
114 view = request.get_view(),
|
bsw@3
|
115 id = param.get_id_cgi(),
|
bsw@3
|
116 params = param.get_all_cgi()
|
bsw@3
|
117 }
|
bsw@3
|
118 }
|
bsw@3
|
119 }
|
bsw@245
|
120 elseif member.activated then
|
bsw@3
|
121 ui.link{
|
bsw@564
|
122 attr = { class = "interest" },
|
bsw@564
|
123 text = _"Ignore member",
|
bsw@564
|
124 module = "member",
|
bsw@564
|
125 action = "update_ignore_member",
|
bsw@3
|
126 id = member.id,
|
bsw@3
|
127 routing = {
|
bsw@3
|
128 default = {
|
bsw@3
|
129 mode = "redirect",
|
bsw@3
|
130 module = request.get_module(),
|
bsw@3
|
131 view = request.get_view(),
|
bsw@3
|
132 id = param.get_id_cgi(),
|
bsw@3
|
133 params = param.get_all_cgi()
|
bsw@3
|
134 }
|
bsw@3
|
135 }
|
bsw@3
|
136 }
|
bsw@57
|
137 end
|
bsw@564
|
138 end }
|
bsw@9
|
139 end)
|
bsw@9
|
140
|
bsw/jbe@4
|
141 util.help("member.show", _"Member page")
|
bsw/jbe@0
|
142
|
bsw/jbe@0
|
143 execute.view{
|
bsw/jbe@0
|
144 module = "member",
|
bsw/jbe@0
|
145 view = "_show",
|
bsw/jbe@0
|
146 params = { member = member }
|
bsw/jbe@0
|
147 }
|
bsw/jbe@0
|
148
|