liquid_feedback_frontend
view app/main/member/show.lua @ 554:03a280f59e9b
Going to version v2.beta7
| author | bsw | 
|---|---|
| date | Tue Jun 19 18:41:12 2012 +0200 (2012-06-19) | 
| parents | 5ca9de94cb13 | 
| children | 418b590fa9ed | 
 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       slot.put(encode.html(_"Show member history"))
    27     end,
    28     module  = "member",
    29     view    = "history",
    30     id      = member.id
    31   }
    32   if not member.active then
    33     ui.tag{
    34       tag = "div",
    35       attr = { class = "interest deactivated_member_info" },
    36       content = _"This member is deactivated."
    37     }
    38     slot.put(" ")
    39   end
    40   if not (member.id == app.session.member.id) then
    41     slot.put(" · ")
    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         text   = _"Remove from contacts",
    51         module = "contact",
    52         action = "remove_member",
    53         id     = contact.other_member_id,
    54         routing = {
    55           default = {
    56             mode = "redirect",
    57             module = request.get_module(),
    58             view = request.get_view(),
    59             id = param.get_id_cgi(),
    60             params = param.get_all_cgi()
    61           }
    62         }
    63       }
    64     elseif member.activated then
    65       ui.link{
    66         text    = _"Add to my contacts",
    67         module  = "contact",
    68         action  = "add_member",
    69         id      = member.id,
    70         routing = {
    71           default = {
    72             mode = "redirect",
    73             module = request.get_module(),
    74             view = request.get_view(),
    75             id = param.get_id_cgi(),
    76             params = param.get_all_cgi()
    77           }
    78         }
    79       }
    80     end
    81   end
    82   local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
    83   slot.put(" · ")
    84   if ignored_member then
    85     ui.container{
    86       attr = { class = "interest" },
    87       content = _"You have ignored this member"
    88     }
    89     slot.put(" · ")
    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 }
