liquid_feedback_frontend
view app/main/member/show.lua @ 426:87dd4f128206
Add support to ignore member for events
author | bsw |
---|---|
date | Sat Mar 10 18:26:50 2012 +0100 (2012-03-10) |
parents | c587d8762e62 |
children | 63d6549cc00b |
line source
1 local member = Member:by_id(param.get_id())
3 if not member or not member.activated then
4 error("access denied")
5 end
7 app.html_title.title = member.name
8 app.html_title.subtitle = _("Member")
10 slot.select("title", function()
11 execute.view{
12 module = "member_image",
13 view = "_show",
14 params = {
15 member = member,
16 image_type = "avatar"
17 }
18 }
19 end)
21 slot.put_into("title", encode.html(_"Member '#{member}'":gsub("#{member}", member.name)))
23 slot.select("actions", function()
24 ui.link{
25 content = function()
26 ui.image{ static = "icons/16/clock_edit.png" }
27 slot.put(encode.html(_"Show member history"))
28 end,
29 module = "member",
30 view = "history",
31 id = member.id
32 }
33 if not member.activated then
34 ui.tag{
35 tag = "div",
36 attr = { class = "interest deactivated_member_info" },
37 content = _"This member is deactivated."
38 }
39 slot.put(" ")
40 end
41 if not (member.id == app.session.member.id) then
42 --TODO performance
43 local contact = Contact:by_pk(app.session.member.id, member.id)
44 if contact then
45 ui.container{
46 attr = { class = "interest" },
47 content = _"You have saved this member as contact."
48 }
49 ui.link{
50 image = { static = "icons/16/book_delete.png" },
51 text = _"Remove from contacts",
52 module = "contact",
53 action = "remove_member",
54 id = contact.other_member_id,
55 routing = {
56 default = {
57 mode = "redirect",
58 module = request.get_module(),
59 view = request.get_view(),
60 id = param.get_id_cgi(),
61 params = param.get_all_cgi()
62 }
63 }
64 }
65 elseif member.activated then
66 ui.link{
67 image = { static = "icons/16/book_add.png" },
68 text = _"Add to my contacts",
69 module = "contact",
70 action = "add_member",
71 id = member.id,
72 routing = {
73 default = {
74 mode = "redirect",
75 module = request.get_module(),
76 view = request.get_view(),
77 id = param.get_id_cgi(),
78 params = param.get_all_cgi()
79 }
80 }
81 }
82 end
83 end
84 local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
85 if ignored_member then
86 ui.container{
87 attr = { class = "interest" },
88 content = _"You have ignored this member"
89 }
90 ui.link{
91 text = _"Stop ignoring member",
92 module = "member",
93 action = "update_ignore_member",
94 id = member.id,
95 params = { delete = true },
96 routing = {
97 default = {
98 mode = "redirect",
99 module = request.get_module(),
100 view = request.get_view(),
101 id = param.get_id_cgi(),
102 params = param.get_all_cgi()
103 }
104 }
105 }
106 elseif member.activated then
107 ui.link{
108 attr = { class = "interest" },
109 text = _"Ignore member",
110 module = "member",
111 action = "update_ignore_member",
112 id = member.id,
113 routing = {
114 default = {
115 mode = "redirect",
116 module = request.get_module(),
117 view = request.get_view(),
118 id = param.get_id_cgi(),
119 params = param.get_all_cgi()
120 }
121 }
122 }
123 end
124 end)
126 util.help("member.show", _"Member page")
128 execute.view{
129 module = "member",
130 view = "_show",
131 params = { member = member }
132 }