| rev | 
   line source | 
| 
bsw@10
 | 
     1 local initiator = param.get("initiator", "table")
 | 
| 
bsw@2
 | 
     2 local member = param.get("member", "table")
 | 
| 
bsw@2
 | 
     3 
 | 
| 
bsw@3
 | 
     4 local issue = param.get("issue", "table")
 | 
| 
bsw@3
 | 
     5 local initiative = param.get("initiative", "table")
 | 
| 
bsw@3
 | 
     6 local trustee = param.get("trustee", "table")
 | 
| 
bsw@3
 | 
     7 
 | 
| 
bsw@606
 | 
     8 local name_html
 | 
| 
bsw@2
 | 
     9 if member.name_highlighted then
 | 
| 
bsw@606
 | 
    10   name_html = encode.highlight(member.name_highlighted)
 | 
| 
bsw@2
 | 
    11 else
 | 
| 
bsw@606
 | 
    12   name_html = encode.html(member.name)
 | 
| 
bsw@2
 | 
    13 end
 | 
| 
bsw@2
 | 
    14 
 | 
| 
bsw@10
 | 
    15 local container_class = "member_thumb"
 | 
| 
bsw@10
 | 
    16 if initiator and member.accepted ~= true then
 | 
| 
bsw@10
 | 
    17   container_class = container_class .. " not_accepted"
 | 
| 
bsw@10
 | 
    18 end
 | 
| 
bsw@10
 | 
    19 
 | 
| 
bsw/jbe@19
 | 
    20 if member.is_informed == false then
 | 
| 
bsw/jbe@19
 | 
    21   container_class = container_class .. " not_informed"
 | 
| 
bsw/jbe@19
 | 
    22 end
 | 
| 
bsw/jbe@19
 | 
    23 
 | 
| 
bsw@178
 | 
    24 local in_delegation_chain = false 
 | 
| 
bsw@177
 | 
    25 if member.delegate_member_ids then
 | 
| 
bsw@177
 | 
    26   for member_id in member.delegate_member_ids:gmatch("(%w+)") do
 | 
| 
bsw@177
 | 
    27     if tonumber(member_id) == member.id then
 | 
| 
bsw@177
 | 
    28       in_delegation_chain = true
 | 
| 
bsw@177
 | 
    29     end
 | 
| 
bsw@177
 | 
    30   end
 | 
| 
bsw@177
 | 
    31 end
 | 
| 
bsw@177
 | 
    32 
 | 
| 
bsw@179
 | 
    33 if in_delegation_chain or ((issue or initiative) and member.id == app.session.member_id) then
 | 
| 
bsw@177
 | 
    34   container_class = container_class .. " in_delegation_chain"
 | 
| 
bsw@177
 | 
    35 end
 | 
| 
bsw@177
 | 
    36 
 | 
| 
bsw@3
 | 
    37 ui.container{
 | 
| 
bsw@10
 | 
    38   attr = { class = container_class },
 | 
| 
bsw@2
 | 
    39   content = function()
 | 
| 
bsw@3
 | 
    40     ui.container{
 | 
| 
bsw@3
 | 
    41       attr = { class = "flags" },
 | 
| 
bsw@3
 | 
    42       content = function()
 | 
| 
bsw/jbe@19
 | 
    43 
 | 
| 
bsw@529
 | 
    44         if not member.active then
 | 
| 
bsw@529
 | 
    45           local text = _"inactive"
 | 
| 
bsw@529
 | 
    46           ui.tag{ content = text }
 | 
| 
bsw@75
 | 
    47           ui.image{
 | 
| 
bsw@75
 | 
    48             attr = { alt = text, title = text },
 | 
| 
bsw@75
 | 
    49             static = "icons/16/cross.png"
 | 
| 
bsw@75
 | 
    50           }
 | 
| 
bsw@75
 | 
    51         end
 | 
| 
bsw@75
 | 
    52 
 | 
| 
bsw/jbe@19
 | 
    53         if member.grade then
 | 
| 
bsw/jbe@19
 | 
    54           ui.link{
 | 
| 
bsw/jbe@19
 | 
    55             module = "vote",
 | 
| 
bsw/jbe@19
 | 
    56             view = "list",
 | 
| 
bsw/jbe@19
 | 
    57             params = {
 | 
| 
bsw/jbe@19
 | 
    58               issue_id = initiative.issue.id,
 | 
| 
bsw/jbe@19
 | 
    59               member_id = member.id,
 | 
| 
bsw/jbe@19
 | 
    60             },
 | 
| 
bsw/jbe@19
 | 
    61             content = function()
 | 
| 
bsw@879
 | 
    62               if (member.voter_comment) then
 | 
| 
bsw@879
 | 
    63                 ui.image{
 | 
| 
bsw@879
 | 
    64                   attr = { 
 | 
| 
bsw@879
 | 
    65                     alt   = _"Voting comment available",
 | 
| 
bsw@879
 | 
    66                     title = _"Voting comment available"
 | 
| 
bsw@879
 | 
    67                   },
 | 
| 
bsw@879
 | 
    68                   static = "icons/16/comment.png"
 | 
| 
bsw@879
 | 
    69                 }
 | 
| 
bsw@879
 | 
    70               end
 | 
| 
bsw@879
 | 
    71 
 | 
| 
bsw/jbe@19
 | 
    72               if member.grade > 0 then
 | 
| 
bsw/jbe@19
 | 
    73                 ui.image{
 | 
| 
bsw/jbe@19
 | 
    74                   attr = { 
 | 
| 
bsw/jbe@19
 | 
    75                     alt   = _"Voted yes",
 | 
| 
bsw/jbe@19
 | 
    76                     title = _"Voted yes"
 | 
| 
bsw/jbe@19
 | 
    77                   },
 | 
| 
bsw/jbe@19
 | 
    78                   static = "icons/16/thumb_up_green.png"
 | 
| 
bsw/jbe@19
 | 
    79                 }
 | 
| 
bsw/jbe@19
 | 
    80               elseif member.grade < 0 then
 | 
| 
bsw/jbe@19
 | 
    81                 ui.image{
 | 
| 
bsw/jbe@19
 | 
    82                   attr = { 
 | 
| 
bsw/jbe@19
 | 
    83                     alt   = _"Voted no",
 | 
| 
bsw/jbe@19
 | 
    84                     title = _"Voted no"
 | 
| 
bsw/jbe@19
 | 
    85                   },
 | 
| 
bsw/jbe@19
 | 
    86                   static = "icons/16/thumb_down_red.png"
 | 
| 
bsw/jbe@19
 | 
    87                 }
 | 
| 
bsw/jbe@19
 | 
    88               else
 | 
| 
bsw/jbe@19
 | 
    89                 ui.image{
 | 
| 
bsw/jbe@19
 | 
    90                   attr = { 
 | 
| 
bsw/jbe@19
 | 
    91                     alt   = _"Abstention",
 | 
| 
bsw/jbe@19
 | 
    92                     title = _"Abstention"
 | 
| 
bsw/jbe@19
 | 
    93                   },
 | 
| 
bsw/jbe@19
 | 
    94                   static = "icons/16/bullet_yellow.png"
 | 
| 
bsw/jbe@19
 | 
    95                 }
 | 
| 
bsw/jbe@19
 | 
    96               end
 | 
| 
bsw/jbe@19
 | 
    97             end
 | 
| 
bsw/jbe@19
 | 
    98           }
 | 
| 
bsw/jbe@19
 | 
    99         end
 | 
| 
bsw/jbe@19
 | 
   100 
 | 
| 
bsw/jbe@6
 | 
   101         local weight = 0
 | 
| 
bsw/jbe@6
 | 
   102         if member.weight then
 | 
| 
bsw/jbe@6
 | 
   103           weight = member.weight
 | 
| 
bsw/jbe@6
 | 
   104         end
 | 
| 
bsw/jbe@6
 | 
   105         if member.voter_weight then
 | 
| 
bsw/jbe@6
 | 
   106           weight = member.voter_weight
 | 
| 
bsw/jbe@6
 | 
   107         end
 | 
| 
bsw/jbe@6
 | 
   108         if (issue or initiative) and weight > 1 then
 | 
| 
bsw@3
 | 
   109           local module
 | 
| 
bsw@3
 | 
   110           if issue then
 | 
| 
bsw@3
 | 
   111             module = "interest"
 | 
| 
bsw@3
 | 
   112           elseif initiative then
 | 
| 
bsw/jbe@6
 | 
   113             if member.voter_weight then
 | 
| 
bsw/jbe@6
 | 
   114                module = "vote"
 | 
| 
bsw/jbe@6
 | 
   115             else
 | 
| 
bsw/jbe@6
 | 
   116               module = "supporter"
 | 
| 
bsw/jbe@6
 | 
   117             end
 | 
| 
bsw@3
 | 
   118           end
 | 
| 
bsw@3
 | 
   119           ui.link{
 | 
| 
bsw@177
 | 
   120             attr = { 
 | 
| 
bsw@177
 | 
   121               class = in_delegation_chain and "in_delegation_chain" or nil,
 | 
| 
bsw@177
 | 
   122               title = _"Number of incoming delegations, follow link to see more details"
 | 
| 
bsw@177
 | 
   123             },
 | 
| 
bsw/jbe@6
 | 
   124             content = _("+ #{weight}", { weight = weight - 1 }),
 | 
| 
bsw@3
 | 
   125             module = module,
 | 
| 
bsw@3
 | 
   126             view = "show_incoming",
 | 
| 
bsw@3
 | 
   127             params = { 
 | 
| 
bsw@3
 | 
   128               member_id = member.id, 
 | 
| 
bsw@3
 | 
   129               initiative_id = initiative and initiative.id or nil,
 | 
| 
bsw@3
 | 
   130               issue_id = issue and issue.id or nil
 | 
| 
bsw@3
 | 
   131             }
 | 
| 
bsw@3
 | 
   132           }
 | 
| 
bsw/jbe@6
 | 
   133         end
 | 
| 
bsw@879
 | 
   134         
 | 
| 
bsw@10
 | 
   135         if initiator and initiator.accepted then
 | 
| 
bsw@10
 | 
   136           if member.accepted == nil then
 | 
| 
bsw@10
 | 
   137             slot.put(_"Invited")
 | 
| 
bsw@10
 | 
   138           elseif member.accepted == false then
 | 
| 
bsw@10
 | 
   139             slot.put(_"Rejected")
 | 
| 
bsw@10
 | 
   140           end
 | 
| 
bsw@10
 | 
   141         end
 | 
| 
bsw/jbe@19
 | 
   142 
 | 
| 
bsw/jbe@19
 | 
   143         if member.is_informed == false then
 | 
| 
bsw/jbe@19
 | 
   144           local text = _"Member has not approved latest draft"
 | 
| 
bsw/jbe@19
 | 
   145           ui.image{
 | 
| 
bsw/jbe@19
 | 
   146             attr = { alt = text, title = text },
 | 
| 
bsw/jbe@19
 | 
   147             static = "icons/16/help_yellow.png"
 | 
| 
bsw/jbe@6
 | 
   148           }
 | 
| 
bsw@3
 | 
   149         end
 | 
| 
bsw/jbe@19
 | 
   150 
 | 
| 
bsw@3
 | 
   151       end
 | 
| 
bsw@2
 | 
   152     }
 | 
| 
bsw/jbe@4
 | 
   153 
 | 
| 
bsw@3
 | 
   154     ui.link{
 | 
| 
bsw@3
 | 
   155       attr = { title = _"Show member" },
 | 
| 
bsw@3
 | 
   156       module = "member",
 | 
| 
bsw@3
 | 
   157       view = "show",
 | 
| 
bsw@3
 | 
   158       id = member.id,
 | 
| 
bsw@3
 | 
   159       content = function()
 | 
| 
bsw/jbe@4
 | 
   160         execute.view{
 | 
| 
bsw/jbe@4
 | 
   161           module = "member_image",
 | 
| 
bsw/jbe@4
 | 
   162           view = "_show",
 | 
| 
bsw/jbe@4
 | 
   163           params = {
 | 
| 
bsw/jbe@4
 | 
   164             member = member,
 | 
| 
bsw/jbe@4
 | 
   165             image_type = "avatar",
 | 
| 
bsw/jbe@4
 | 
   166             show_dummy = true
 | 
| 
bsw/jbe@4
 | 
   167           }
 | 
| 
bsw@3
 | 
   168         }
 | 
| 
bsw@3
 | 
   169         ui.container{
 | 
| 
bsw@3
 | 
   170           attr = { class = "member_name" },
 | 
| 
bsw@606
 | 
   171           content = function() slot.put(name_html) end
 | 
| 
bsw@3
 | 
   172         }
 | 
| 
bsw@3
 | 
   173       end
 | 
| 
bsw@3
 | 
   174     }
 | 
| 
bsw@2
 | 
   175   end
 | 
| 
bsw@3
 | 
   176 }
 |