bsw/jbe@0: local issue = Issue:by_id(param.get_id()) bsw/jbe@0: bsw/jbe@0: slot.put_into("html_head", '') bsw/jbe@0: bsw/jbe@0: slot.select("path", function() bsw/jbe@0: ui.link{ bsw/jbe@0: content = _"Area '#{name}'":gsub("#{name}", issue.area.name), bsw/jbe@0: module = "area", bsw/jbe@0: view = "show", bsw/jbe@0: id = issue.area.id bsw/jbe@0: } bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: slot.put_into("title", encode.html(_"Issue ##{id} (#{policy_name})":gsub("#{id}", issue.id):gsub("#{policy_name}", issue.policy.name))) bsw/jbe@0: bsw/jbe@0: slot.select("actions", function() bsw/jbe@0: if not issue.closed then bsw/jbe@0: ui.link{ bsw/jbe@0: content = function() bsw/jbe@0: ui.image{ static = "icons/16/table_go.png" } bsw/jbe@0: slot.put(_"Delegate") bsw/jbe@0: end, bsw/jbe@0: module = "delegation", bsw/jbe@0: view = "new", bsw/jbe@0: params = { issue_id = issue.id } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: ui.twitter("http://example.com/t" .. tostring(issue.id)) bsw/jbe@0: bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@0: module = "interest", bsw/jbe@0: view = "_show_box", bsw/jbe@0: params = { issue = issue } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@0: module = "delegation", bsw/jbe@0: view = "_show_box", bsw/jbe@0: params = { issue_id = issue.id } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: ui.tabs{ bsw/jbe@0: { bsw/jbe@0: name = "initiatives", bsw/jbe@0: label = _"Initiatives", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ bsw/jbe@0: module = "initiative", bsw/jbe@0: view = "_list", bsw/jbe@0: params = { bsw/jbe@0: issue = issue, bsw/jbe@0: initiatives_selector = issue:get_reference_selector("initiatives") bsw/jbe@0: } bsw/jbe@0: } bsw/jbe@0: slot.put("
") bsw/jbe@0: if not issue.frozen and not issue.closed then bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = "action" }, bsw/jbe@0: content = function() bsw/jbe@0: ui.image{ static = "icons/16/script_add.png" } bsw/jbe@0: slot.put(_"Add new initiative to issue") bsw/jbe@0: end, bsw/jbe@0: module = "initiative", bsw/jbe@0: view = "new", bsw/jbe@0: params = { issue_id = issue.id } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: --[[ { bsw/jbe@0: name = "voting_requests", bsw/jbe@0: label = _"Voting requests", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ bsw/jbe@0: module = "issue_voting_request", bsw/jbe@0: view = "_list", bsw/jbe@0: params = { issue = issue } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: --]] bsw/jbe@0: { bsw/jbe@0: name = "details", bsw/jbe@0: label = _"Details", bsw/jbe@0: content = function() bsw/jbe@0: ui.form{ bsw/jbe@0: record = issue, bsw/jbe@0: readonly = true, bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: content = function() bsw/jbe@0: trace.debug(issue.created) bsw/jbe@0: ui.field.text{ label = _"State", name = "state" } bsw/jbe@0: ui.field.timestamp{ label = _"Created at", name = "created" } bsw/jbe@0: ui.field.timestamp{ label = _"Accepted", name = "accepted" } bsw/jbe@0: ui.field.timestamp{ label = _"Half frozen", name = "half_frozen" } bsw/jbe@0: ui.field.timestamp{ label = _"Fully frozen", name = "fully_frozen" } bsw/jbe@0: ui.field.timestamp{ label = _"Closed", name = "closed" } bsw/jbe@0: ui.field.potential_issue_weight{ label = _"Potential weight", name = "potential_weight" } bsw/jbe@0: ui.field.vote_now{ label = _"Vote now", name = "vote_now" } bsw/jbe@0: ui.field.vote_later{ label = _"Vote later", name = "vote_later" } bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: