| 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       ui.image{ static = "icons/16/clock_edit.png" }
 | 
| 
bsw@426
 | 
    27       slot.put(encode.html(_"Show member history"))
 | 
| 
bsw@426
 | 
    28     end,
 | 
| 
bsw@426
 | 
    29     module  = "member",
 | 
| 
bsw@426
 | 
    30     view    = "history",
 | 
| 
bsw@426
 | 
    31     id      = member.id
 | 
| 
bsw@426
 | 
    32   }
 | 
| 
bsw@426
 | 
    33   if not member.activated then
 | 
| 
bsw@426
 | 
    34     ui.tag{
 | 
| 
bsw@426
 | 
    35       tag = "div",
 | 
| 
bsw@426
 | 
    36       attr = { class = "interest deactivated_member_info" },
 | 
| 
bsw@426
 | 
    37       content = _"This member is deactivated."
 | 
| 
bsw@426
 | 
    38     }
 | 
| 
bsw@426
 | 
    39     slot.put(" ")
 | 
| 
bsw@426
 | 
    40   end
 | 
| 
bsw@75
 | 
    41   if not (member.id == app.session.member.id) then
 | 
| 
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         image  = { static = "icons/16/book_delete.png" },
 | 
| 
bsw/jbe@19
 | 
    51         text   = _"Remove from contacts",
 | 
| 
bsw@3
 | 
    52         module = "contact",
 | 
| 
bsw@3
 | 
    53         action = "remove_member",
 | 
| 
bsw/jbe@19
 | 
    54         id     = contact.other_member_id,
 | 
| 
bsw@3
 | 
    55         routing = {
 | 
| 
bsw@3
 | 
    56           default = {
 | 
| 
bsw@3
 | 
    57             mode = "redirect",
 | 
| 
bsw@3
 | 
    58             module = request.get_module(),
 | 
| 
bsw@3
 | 
    59             view = request.get_view(),
 | 
| 
bsw@3
 | 
    60             id = param.get_id_cgi(),
 | 
| 
bsw@3
 | 
    61             params = param.get_all_cgi()
 | 
| 
bsw@3
 | 
    62           }
 | 
| 
bsw@3
 | 
    63         }
 | 
| 
bsw@3
 | 
    64       }
 | 
| 
bsw@245
 | 
    65     elseif member.activated then
 | 
| 
bsw@3
 | 
    66       ui.link{
 | 
| 
bsw/jbe@19
 | 
    67         image   = { static = "icons/16/book_add.png" },
 | 
| 
bsw/jbe@19
 | 
    68         text    = _"Add to my contacts",
 | 
| 
bsw@3
 | 
    69         module  = "contact",
 | 
| 
bsw@3
 | 
    70         action  = "add_member",
 | 
| 
bsw@3
 | 
    71         id      = member.id,
 | 
| 
bsw@3
 | 
    72         routing = {
 | 
| 
bsw@3
 | 
    73           default = {
 | 
| 
bsw@3
 | 
    74             mode = "redirect",
 | 
| 
bsw@3
 | 
    75             module = request.get_module(),
 | 
| 
bsw@3
 | 
    76             view = request.get_view(),
 | 
| 
bsw@3
 | 
    77             id = param.get_id_cgi(),
 | 
| 
bsw@3
 | 
    78             params = param.get_all_cgi()
 | 
| 
bsw@3
 | 
    79           }
 | 
| 
bsw@3
 | 
    80         }
 | 
| 
bsw@3
 | 
    81       }
 | 
| 
bsw@57
 | 
    82     end
 | 
| 
bsw@3
 | 
    83   end
 | 
| 
bsw@426
 | 
    84   local ignored_member = IgnoredMember:by_pk(app.session.member.id, member.id)
 | 
| 
bsw@426
 | 
    85   if ignored_member then
 | 
| 
bsw@426
 | 
    86     ui.container{
 | 
| 
bsw@426
 | 
    87       attr = { class = "interest" },
 | 
| 
bsw@426
 | 
    88       content = _"You have ignored this member"
 | 
| 
bsw@426
 | 
    89     }
 | 
| 
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 
 |