| rev | 
   line source | 
| 
bsw@2
 | 
     1 local delegations_selector = param.get("delegations_selector", "table")
 | 
| 
bsw@2
 | 
     2 local outgoing = param.get("outgoing", atom.boolean)
 | 
| 
bsw@2
 | 
     3 local incoming = param.get("incoming", atom.boolean)
 | 
| 
bsw@2
 | 
     4 
 | 
| 
bsw@2
 | 
     5 local function delegation_scope(delegation)
 | 
| 
bsw@2
 | 
     6   ui.container{
 | 
| 
bsw@2
 | 
     7     attr = { class = "delegation_scope" },
 | 
| 
bsw@2
 | 
     8     content = function()
 | 
| 
bsw@2
 | 
     9       local area
 | 
| 
bsw@2
 | 
    10       if delegation.issue then
 | 
| 
bsw@2
 | 
    11         area = delegation.issue.area
 | 
| 
bsw@2
 | 
    12       else
 | 
| 
bsw@2
 | 
    13         area = delegation.area
 | 
| 
bsw@2
 | 
    14       end
 | 
| 
bsw@2
 | 
    15       if not area then
 | 
| 
bsw@248
 | 
    16         ui.field.text{ value = _"Unit delegation" }
 | 
| 
bsw@2
 | 
    17       end
 | 
| 
bsw@2
 | 
    18       if area then
 | 
| 
bsw@2
 | 
    19         ui.link{
 | 
| 
bsw@2
 | 
    20           content = _"Area '#{name}'":gsub("#{name}", area.name),
 | 
| 
bsw@2
 | 
    21           module = "area",
 | 
| 
bsw@2
 | 
    22           view = "show",
 | 
| 
bsw@2
 | 
    23           id = area.id
 | 
| 
bsw@2
 | 
    24         }
 | 
| 
bsw@2
 | 
    25       end
 | 
| 
bsw@2
 | 
    26       if delegation.issue then
 | 
| 
bsw@2
 | 
    27         ui.link{
 | 
| 
bsw@2
 | 
    28           content = _"Issue ##{id}":gsub("#{id}", delegation.issue.id),
 | 
| 
bsw@2
 | 
    29           module = "issue",
 | 
| 
bsw@2
 | 
    30           view = "show",
 | 
| 
bsw@2
 | 
    31           id = delegation.issue.id
 | 
| 
bsw@2
 | 
    32         }
 | 
| 
bsw@2
 | 
    33       end
 | 
| 
bsw@2
 | 
    34     end
 | 
| 
bsw@2
 | 
    35   }
 | 
| 
bsw@2
 | 
    36 end
 | 
| 
bsw@2
 | 
    37 
 | 
| 
bsw/jbe@0
 | 
    38 
 | 
| 
bsw/jbe@0
 | 
    39 ui.paginate{
 | 
| 
bsw@2
 | 
    40   selector = delegations_selector,
 | 
| 
bsw/jbe@0
 | 
    41   content = function()
 | 
| 
bsw@2
 | 
    42     for i, delegation in ipairs(delegations_selector:exec()) do
 | 
| 
bsw@2
 | 
    43       ui.container{
 | 
| 
bsw@2
 | 
    44         attr = { class = "delegation_list_entry" },
 | 
| 
bsw@2
 | 
    45         content = function()
 | 
| 
bsw@2
 | 
    46           if outgoing then
 | 
| 
bsw@2
 | 
    47             delegation_scope(delegation)
 | 
| 
bsw@2
 | 
    48           else
 | 
| 
bsw@2
 | 
    49             execute.view{
 | 
| 
bsw/jbe@0
 | 
    50               module = "member",
 | 
| 
bsw@2
 | 
    51               view = "_show_thumb",
 | 
| 
bsw@2
 | 
    52               params = { member = delegation.truster }
 | 
| 
bsw/jbe@0
 | 
    53             }
 | 
| 
bsw/jbe@0
 | 
    54           end
 | 
| 
bsw@2
 | 
    55           ui.image{
 | 
| 
bsw@2
 | 
    56             attr = { class = "delegation_arrow" },
 | 
| 
bsw@2
 | 
    57             static = "delegation_arrow.jpg"
 | 
| 
bsw@2
 | 
    58           }
 | 
| 
bsw@2
 | 
    59           if incoming then
 | 
| 
bsw@2
 | 
    60             delegation_scope(delegation)
 | 
| 
bsw@2
 | 
    61           else
 | 
| 
bsw@187
 | 
    62             if delegation.trustee then
 | 
| 
bsw@187
 | 
    63               execute.view{
 | 
| 
bsw@187
 | 
    64                 module = "member",
 | 
| 
bsw@187
 | 
    65                 view = "_show_thumb",
 | 
| 
bsw@187
 | 
    66                 params = { member = delegation.trustee }
 | 
| 
bsw@187
 | 
    67               }
 | 
| 
bsw@187
 | 
    68             else
 | 
| 
bsw@187
 | 
    69               ui.tag{ content = _"Delegation abandoned" }
 | 
| 
bsw@187
 | 
    70             end
 | 
| 
bsw/jbe@0
 | 
    71           end
 | 
| 
bsw@2
 | 
    72         end
 | 
| 
bsw/jbe@0
 | 
    73       }
 | 
| 
bsw@2
 | 
    74     end
 | 
| 
bsw@2
 | 
    75     slot.put("<br style='clear: left;' />")
 | 
| 
bsw/jbe@0
 | 
    76   end
 | 
| 
bsw/jbe@0
 | 
    77 }
 |