bsw/jbe@0: local issue = Issue:by_id(param.get_id()) bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@4: module = "issue", bsw/jbe@4: view = "_show_head", bsw/jbe@0: params = { issue = issue } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@19: --[[ bsw/jbe@19: if not issue.fully_frozen and not issue.closed then bsw/jbe@19: slot.select("actions", function() bsw/jbe@19: ui.link{ bsw/jbe@19: content = function() bsw/jbe@19: ui.image{ static = "icons/16/script_add.png" } bsw/jbe@19: slot.put(_"Create alternative initiative") bsw/jbe@19: end, bsw/jbe@19: module = "initiative", bsw/jbe@19: view = "new", bsw/jbe@19: params = { issue_id = issue.id } bsw/jbe@19: } bsw/jbe@19: end) bsw/jbe@19: end bsw/jbe@19: --]] bsw/jbe@19: bsw/jbe@4: util.help("issue.show") bsw@2: bsw/jbe@19: if issue.state == "cancelled" then bsw/jbe@19: local policy = issue.policy bsw/jbe@19: ui.container{ bsw/jbe@19: attr = { class = "not_admitted_info" }, bsw/jbe@19: content = _("This issue has been cancelled. It failed the quorum of #{quorum}.", { quorum = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den) }) bsw/jbe@19: } bsw@16: end bsw@16: bsw/jbe@19: ui.container{ bsw/jbe@19: attr = { class = "issue_initiative_list" }, bsw/jbe@19: content = function() bsw/jbe@19: execute.view{ bsw/jbe@19: module = "initiative", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { bsw/jbe@19: initiatives_selector = issue:get_reference_selector("initiatives"), bsw/jbe@19: issue = issue, bsw/jbe@19: expandable = true, bsw/jbe@19: for_initiative_id = param.get("for_initiative_id", atom.number), bsw/jbe@19: show_for_issue = true bsw@3: } bsw/jbe@19: } bsw/jbe@19: end bsw/jbe@0: } bsw/jbe@0: bsw/jbe@19: slot.put("
") bsw/jbe@0: bsw/jbe@19: execute.view{ bsw/jbe@19: module = "issue", bsw/jbe@19: view = "show_tab", bsw/jbe@19: params = { issue = issue } bsw/jbe@19: } bsw/jbe@19: bsw/jbe@19: if issue.snapshot then bsw/jbe@19: slot.put("
") bsw/jbe@19: ui.field.timestamp{ label = _"Last snapshot:", value = issue.snapshot } bsw/jbe@19: end bsw/jbe@19: