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