| rev | 
   line source | 
| 
bsw@211
 | 
     1 local members = param.get("members", "table")
 | 
| 
bsw@211
 | 
     2 local hidefirst = param.get("hidefirst", atom.boolean)
 | 
| 
bsw@211
 | 
     3 local size = param.get("size") or "normal"
 | 
| 
bsw@216
 | 
     4 local issue_id = param.get("issue_id", atom.integer)
 | 
| 
bsw@211
 | 
     5 
 | 
| 
bsw@211
 | 
     6 ui.container{ attr = { class = "avatars " .. size }, content = function()
 | 
| 
bsw@211
 | 
     7   for i, member in ipairs(members) do
 | 
| 
bsw@211
 | 
     8     local class = "arrow"
 | 
| 
bsw@211
 | 
     9     if member.overridden then
 | 
| 
bsw@211
 | 
    10       class = class .. " overridden"
 | 
| 
bsw@211
 | 
    11     end
 | 
| 
bsw@211
 | 
    12     local image
 | 
| 
bsw@211
 | 
    13     local text
 | 
| 
bsw@217
 | 
    14     if member.scope_in == "unit" then
 | 
| 
bsw@217
 | 
    15       image = "lf2/icon_delegation_unit.png"
 | 
| 
bsw@217
 | 
    16       text = _"Unit delegation"
 | 
| 
bsw@211
 | 
    17     elseif member.scope_in == "area" then
 | 
| 
bsw@211
 | 
    18       image = "lf2/icon_delegation_area.png"
 | 
| 
bsw@211
 | 
    19       text = _"Area delegation"
 | 
| 
bsw@211
 | 
    20     elseif member.scope_in == "issue" then
 | 
| 
bsw@211
 | 
    21       image = "lf2/icon_delegation.png"
 | 
| 
bsw@211
 | 
    22       text = _"Issue delegation"
 | 
| 
bsw@211
 | 
    23     end
 | 
| 
bsw@212
 | 
    24     if param.get("arrows", atom.boolean) and (i > 1) then
 | 
| 
bsw@211
 | 
    25       ui.image{ attr = { title = text, alt = text, class = class }, static = image }
 | 
| 
bsw@211
 | 
    26       slot.put(member.scope)
 | 
| 
bsw@211
 | 
    27     end
 | 
| 
bsw@211
 | 
    28     if not hidefirst or i > 1 then
 | 
| 
bsw@211
 | 
    29       local class = "avatar"
 | 
| 
bsw@216
 | 
    30       if member.participation then
 | 
| 
bsw@211
 | 
    31         class = class .. " participation"
 | 
| 
bsw@211
 | 
    32       end
 | 
| 
bsw@211
 | 
    33       if member.overridden then
 | 
| 
bsw@211
 | 
    34         class = class .. " overridden"
 | 
| 
bsw@211
 | 
    35       end
 | 
| 
bsw@216
 | 
    36       local args = { attr = { class = class, title = member.name }, content = function()
 | 
| 
bsw@211
 | 
    37         ui.avatar(member, size)
 | 
| 
bsw@211
 | 
    38         --ui.image{ module = "member_image", view = "show", id = member.id, params = { image_type = "avatar" } }
 | 
| 
bsw@211
 | 
    39         if size == "normal" then
 | 
| 
bsw@211
 | 
    40           ui.container{ attr = { class = "name" }, content = member.name }
 | 
| 
bsw@211
 | 
    41         end
 | 
| 
bsw@211
 | 
    42         if size == "small" and member.weight ~= nil then
 | 
| 
bsw@211
 | 
    43           ui.container{ attr = { class = "weight" }, content = member.weight }
 | 
| 
bsw@211
 | 
    44         end
 | 
| 
bsw@211
 | 
    45       end }
 | 
| 
bsw@216
 | 
    46       if issue_id then
 | 
| 
bsw@216
 | 
    47         args.module = "lf2"
 | 
| 
bsw@216
 | 
    48         args.view = "interest"
 | 
| 
bsw@216
 | 
    49         args.params = { issue_id = issue_id, member_id = member.id }
 | 
| 
bsw@216
 | 
    50         ui.link(args)
 | 
| 
bsw@216
 | 
    51       else
 | 
| 
bsw@216
 | 
    52         ui.container(args)
 | 
| 
bsw@216
 | 
    53       end
 | 
| 
bsw@211
 | 
    54     end
 | 
| 
bsw@211
 | 
    55   end
 | 
| 
bsw@211
 | 
    56 end }
 | 
| 
bsw@211
 | 
    57 
 |