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/jbe@0
|
10 slot.select("title", function()
|
bsw/jbe@4
|
11 execute.view{
|
bsw/jbe@4
|
12 module = "member_image",
|
bsw/jbe@4
|
13 view = "_show",
|
bsw/jbe@4
|
14 params = {
|
bsw/jbe@4
|
15 member = member,
|
bsw/jbe@4
|
16 image_type = "avatar"
|
bsw/jbe@4
|
17 }
|
bsw/jbe@0
|
18 }
|
bsw/jbe@0
|
19 end)
|
bsw/jbe@0
|
20
|
bsw/jbe@0
|
21 slot.put_into("title", encode.html(_"Member '#{member}'":gsub("#{member}", member.name)))
|
bsw/jbe@0
|
22
|
bsw@57
|
23 slot.select("actions", function()
|
bsw@75
|
24 if not (member.id == app.session.member.id) then
|
bsw@245
|
25 if not member.activated then
|
bsw@75
|
26 ui.tag{
|
bsw@75
|
27 tag = "div",
|
bsw@75
|
28 attr = { class = "interest deactivated_member_info" },
|
bsw@75
|
29 content = _"This member is deactivated."
|
bsw@75
|
30 }
|
bsw@75
|
31 slot.put(" ")
|
bsw@75
|
32 end
|
bsw@57
|
33 --TODO performance
|
bsw@57
|
34 local contact = Contact:by_pk(app.session.member.id, member.id)
|
bsw@57
|
35 if contact then
|
bsw/jbe@4
|
36 ui.container{
|
bsw/jbe@4
|
37 attr = { class = "interest" },
|
bsw/jbe@4
|
38 content = _"You have saved this member as contact."
|
bsw/jbe@4
|
39 }
|
bsw@3
|
40 ui.link{
|
bsw/jbe@19
|
41 image = { static = "icons/16/book_delete.png" },
|
bsw/jbe@19
|
42 text = _"Remove from contacts",
|
bsw@3
|
43 module = "contact",
|
bsw@3
|
44 action = "remove_member",
|
bsw/jbe@19
|
45 id = contact.other_member_id,
|
bsw@3
|
46 routing = {
|
bsw@3
|
47 default = {
|
bsw@3
|
48 mode = "redirect",
|
bsw@3
|
49 module = request.get_module(),
|
bsw@3
|
50 view = request.get_view(),
|
bsw@3
|
51 id = param.get_id_cgi(),
|
bsw@3
|
52 params = param.get_all_cgi()
|
bsw@3
|
53 }
|
bsw@3
|
54 }
|
bsw@3
|
55 }
|
bsw@245
|
56 elseif member.activated then
|
bsw@3
|
57 ui.link{
|
bsw/jbe@19
|
58 image = { static = "icons/16/book_add.png" },
|
bsw/jbe@19
|
59 text = _"Add to my contacts",
|
bsw@3
|
60 module = "contact",
|
bsw@3
|
61 action = "add_member",
|
bsw@3
|
62 id = member.id,
|
bsw@3
|
63 routing = {
|
bsw@3
|
64 default = {
|
bsw@3
|
65 mode = "redirect",
|
bsw@3
|
66 module = request.get_module(),
|
bsw@3
|
67 view = request.get_view(),
|
bsw@3
|
68 id = param.get_id_cgi(),
|
bsw@3
|
69 params = param.get_all_cgi()
|
bsw@3
|
70 }
|
bsw@3
|
71 }
|
bsw@3
|
72 }
|
bsw@57
|
73 end
|
bsw@3
|
74 end
|
bsw@57
|
75 end)
|
bsw/jbe@0
|
76
|
bsw@9
|
77 slot.select("actions", function()
|
bsw@9
|
78 ui.link{
|
bsw@9
|
79 content = function()
|
bsw@9
|
80 ui.image{ static = "icons/16/clock_edit.png" }
|
bsw@271
|
81 slot.put(encode.html(_"Show member history"))
|
bsw@9
|
82 end,
|
bsw@9
|
83 module = "member",
|
bsw@9
|
84 view = "history",
|
bsw@9
|
85 id = member.id
|
bsw@9
|
86 }
|
bsw@9
|
87 end)
|
bsw@9
|
88
|
bsw/jbe@4
|
89 util.help("member.show", _"Member page")
|
bsw/jbe@0
|
90
|
bsw/jbe@0
|
91 execute.view{
|
bsw/jbe@0
|
92 module = "member",
|
bsw/jbe@0
|
93 view = "_show",
|
bsw/jbe@0
|
94 params = { member = member }
|
bsw/jbe@0
|
95 }
|
bsw/jbe@0
|
96
|