| 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 
 |