bsw@2: local delegations_selector = param.get("delegations_selector", "table") bsw@2: local outgoing = param.get("outgoing", atom.boolean) bsw@2: local incoming = param.get("incoming", atom.boolean) bsw@2: bsw@2: local function delegation_scope(delegation) bsw@2: ui.container{ bsw@2: attr = { class = "delegation_scope" }, bsw@2: content = function() bsw@2: local area bsw@599: local unit bsw@2: if delegation.issue then bsw@2: area = delegation.issue.area bsw@599: elseif delegation.area then bsw@599: area = delegation.area bsw@2: else bsw@599: unit = delegation.unit bsw@2: end bsw@599: if unit then bsw@599: ui.link{ bsw@599: content = _"Unit '#{name}'":gsub("#{name}", unit.name), bsw@599: module = "unit", bsw@599: view = "show", bsw@599: id = unit.id bsw@599: } bsw@2: end bsw@2: if area then bsw@2: ui.link{ bsw@2: content = _"Area '#{name}'":gsub("#{name}", area.name), bsw@2: module = "area", bsw@2: view = "show", bsw@2: id = area.id bsw@2: } bsw@2: end bsw@2: if delegation.issue then bsw@2: ui.link{ bsw@2: content = _"Issue ##{id}":gsub("#{id}", delegation.issue.id), bsw@2: module = "issue", bsw@2: view = "show", bsw@2: id = delegation.issue.id bsw@2: } bsw@2: end bsw@2: end bsw@2: } bsw@2: end bsw@2: bsw/jbe@0: bsw/jbe@0: ui.paginate{ bsw@2: selector = delegations_selector, bsw/jbe@0: content = function() bsw@2: for i, delegation in ipairs(delegations_selector:exec()) do bsw@2: ui.container{ bsw@2: attr = { class = "delegation_list_entry" }, bsw@2: content = function() bsw@2: if outgoing then bsw@2: delegation_scope(delegation) bsw@2: else bsw@2: execute.view{ bsw/jbe@0: module = "member", bsw@2: view = "_show_thumb", bsw@2: params = { member = delegation.truster } bsw/jbe@0: } bsw/jbe@0: end bsw@2: ui.image{ bsw@2: attr = { class = "delegation_arrow" }, bsw@2: static = "delegation_arrow.jpg" bsw@2: } bsw@2: if incoming then bsw@2: delegation_scope(delegation) bsw@2: else bsw@187: if delegation.trustee then bsw@187: execute.view{ bsw@187: module = "member", bsw@187: view = "_show_thumb", bsw@187: params = { member = delegation.trustee } bsw@187: } bsw@187: else bsw@187: ui.tag{ content = _"Delegation abandoned" } bsw@187: end bsw/jbe@0: end bsw@2: end bsw/jbe@0: } bsw@2: end bsw@2: slot.put("
") bsw/jbe@0: end bsw/jbe@0: }