liquid_feedback_frontend

annotate app/main/member/show.lua @ 525:63d6549cc00b

Delegation chain preview improved, better visualisation of current context, code cleanup
author bsw
date Fri May 18 19:07:07 2012 +0200 (2012-05-18)
parents 87dd4f128206
children 5ca9de94cb13
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@426 24 ui.link{
bsw@426 25 content = function()
bsw@426 26 slot.put(encode.html(_"Show member history"))
bsw@426 27 end,
bsw@426 28 module = "member",
bsw@426 29 view = "history",
bsw@426 30 id = member.id
bsw@426 31 }
bsw@426 32 if not member.activated then
bsw@426 33 ui.tag{
bsw@426 34 tag = "div",
bsw@426 35 attr = { class = "interest deactivated_member_info" },
bsw@426 36 content = _"This member is deactivated."
bsw@426 37 }
bsw@426 38 slot.put(" ")
bsw@426 39 end
bsw@75 40 if not (member.id == app.session.member.id) then
bsw@525 41 slot.put(" · ")
bsw@57 42 --TODO performance
bsw@57 43 local contact = Contact:by_pk(app.session.member.id, member.id)
bsw@57 44 if contact then
bsw/jbe@4 45 ui.container{
bsw/jbe@4 46 attr = { class = "interest" },
bsw/jbe@4 47 content = _"You have saved this member as contact."
bsw/jbe@4 48 }
bsw@3 49 ui.link{
bsw/jbe@19 50 text = _"Remove from contacts",
bsw@3 51 module = "contact",
bsw@3 52 action = "remove_member",
bsw/jbe@19 53 id = contact.other_member_id,
bsw@3 54 routing = {
bsw@3 55 default = {
bsw@3 56 mode = "redirect",
bsw@3 57 module = request.get_module(),
bsw@3 58 view = request.get_view(),
bsw@3 59 id = param.get_id_cgi(),
bsw@3 60 params = param.get_all_cgi()
bsw@3 61 }
bsw@3 62 }
bsw@3 63 }
bsw@245 64 elseif member.activated then
bsw@3 65 ui.link{
bsw/jbe@19 66 text = _"Add to my contacts",
bsw@3 67 module = "contact",
bsw@3 68 action = "add_member",
bsw@3 69 id = member.id,
bsw@3 70 routing = {
bsw@3 71 default = {
bsw@3 72 mode = "redirect",
bsw@3 73 module = request.get_module(),
bsw@3 74 view = request.get_view(),
bsw@3 75 id = param.get_id_cgi(),
bsw@3 76 params = param.get_all_cgi()
bsw@3 77 }
bsw@3 78 }
bsw@3 79 }
bsw@57 80 end
bsw@3 81 end
bsw@426 82 local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
bsw@525 83 slot.put(" · ")
bsw@426 84 if ignored_member then
bsw@426 85 ui.container{
bsw@426 86 attr = { class = "interest" },
bsw@426 87 content = _"You have ignored this member"
bsw@426 88 }
bsw@525 89 slot.put(" · ")
bsw@426 90 ui.link{
bsw@426 91 text = _"Stop ignoring member",
bsw@426 92 module = "member",
bsw@426 93 action = "update_ignore_member",
bsw@426 94 id = member.id,
bsw@426 95 params = { delete = true },
bsw@426 96 routing = {
bsw@426 97 default = {
bsw@426 98 mode = "redirect",
bsw@426 99 module = request.get_module(),
bsw@426 100 view = request.get_view(),
bsw@426 101 id = param.get_id_cgi(),
bsw@426 102 params = param.get_all_cgi()
bsw@426 103 }
bsw@426 104 }
bsw@426 105 }
bsw@426 106 elseif member.activated then
bsw@426 107 ui.link{
bsw@426 108 attr = { class = "interest" },
bsw@426 109 text = _"Ignore member",
bsw@426 110 module = "member",
bsw@426 111 action = "update_ignore_member",
bsw@426 112 id = member.id,
bsw@426 113 routing = {
bsw@426 114 default = {
bsw@426 115 mode = "redirect",
bsw@426 116 module = request.get_module(),
bsw@426 117 view = request.get_view(),
bsw@426 118 id = param.get_id_cgi(),
bsw@426 119 params = param.get_all_cgi()
bsw@426 120 }
bsw@426 121 }
bsw@426 122 }
bsw@426 123 end
bsw@9 124 end)
bsw@9 125
bsw/jbe@4 126 util.help("member.show", _"Member page")
bsw/jbe@0 127
bsw/jbe@0 128 execute.view{
bsw/jbe@0 129 module = "member",
bsw/jbe@0 130 view = "_show",
bsw/jbe@0 131 params = { member = member }
bsw/jbe@0 132 }
bsw/jbe@0 133

Impressum / About Us