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@813
|
58 if app.session.member_id and 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@813
|
96 if app.session.member_id then
|
bsw@813
|
97 local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
|
bsw@564
|
98 slot.put(" · ")
|
bsw@813
|
99 if ignored_member then
|
bsw@813
|
100 ui.tag{
|
bsw@813
|
101 attr = { class = "interest" },
|
bsw@813
|
102 content = _"You have ignored this member"
|
bsw@813
|
103 }
|
bsw@813
|
104 slot.put(" · ")
|
bsw@813
|
105 ui.link{
|
bsw@813
|
106 text = _"Stop ignoring member",
|
bsw@813
|
107 module = "member",
|
bsw@813
|
108 action = "update_ignore_member",
|
bsw@813
|
109 id = member.id,
|
bsw@813
|
110 params = { delete = true },
|
bsw@813
|
111 routing = {
|
bsw@813
|
112 default = {
|
bsw@813
|
113 mode = "redirect",
|
bsw@813
|
114 module = request.get_module(),
|
bsw@813
|
115 view = request.get_view(),
|
bsw@813
|
116 id = param.get_id_cgi(),
|
bsw@813
|
117 params = param.get_all_cgi()
|
bsw@813
|
118 }
|
bsw@3
|
119 }
|
bsw@3
|
120 }
|
bsw@813
|
121 elseif member.activated then
|
bsw@813
|
122 ui.link{
|
bsw@813
|
123 attr = { class = "interest" },
|
bsw@813
|
124 text = _"Ignore member",
|
bsw@813
|
125 module = "member",
|
bsw@813
|
126 action = "update_ignore_member",
|
bsw@813
|
127 id = member.id,
|
bsw@813
|
128 routing = {
|
bsw@813
|
129 default = {
|
bsw@813
|
130 mode = "redirect",
|
bsw@813
|
131 module = request.get_module(),
|
bsw@813
|
132 view = request.get_view(),
|
bsw@813
|
133 id = param.get_id_cgi(),
|
bsw@813
|
134 params = param.get_all_cgi()
|
bsw@813
|
135 }
|
bsw@3
|
136 }
|
bsw@3
|
137 }
|
bsw@813
|
138 end
|
bsw@57
|
139 end
|
bsw@564
|
140 end }
|
bsw@9
|
141 end)
|
bsw@9
|
142
|
bsw/jbe@4
|
143 util.help("member.show", _"Member page")
|
bsw/jbe@0
|
144
|
bsw/jbe@0
|
145 execute.view{
|
bsw/jbe@0
|
146 module = "member",
|
bsw/jbe@0
|
147 view = "_show",
|
bsw/jbe@0
|
148 params = { member = member }
|
bsw/jbe@0
|
149 }
|
bsw/jbe@0
|
150
|