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: