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@2: execute.view{ bsw@2: module = "issue", bsw@2: view = "_show_box", bsw@2: params = { issue = issue } bsw@2: } bsw@2: bsw/jbe@0: ui.tabs{ bsw/jbe@0: { bsw/jbe@0: name = "initiatives", bsw/jbe@0: label = _"Initiatives", bsw@2: content = function() 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@2: name = "delegations", bsw@2: label = _"Delegations", bsw@2: content = function() bsw@2: execute.view{ bsw@2: module = "delegation", bsw@2: view = "_list", bsw@2: params = { delegations_selector = issue:get_reference_selector("delegations") } bsw@2: } bsw@2: end bsw@2: }, bsw@2: { bsw/jbe@0: name = "details", bsw/jbe@0: label = _"Details", bsw/jbe@0: content = function() bsw@2: local policy = issue.policy 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: ui.field.text{ label = _"State", name = "state" } bsw@2: ui.field.timestamp{ label = _"Created at", name = "created" } bsw@2: ui.field.text{ label = _"admission_time", value = policy.admission_time } bsw@2: ui.field.integer{ label = _"issue_quorum_num", value = policy.issue_quorum_num } bsw@2: ui.field.integer{ label = _"issue_quorum_den", value = policy.issue_quorum_den } bsw@2: ui.field.timestamp{ label = _"Accepted", name = "accepted" } bsw@2: ui.field.text{ label = _"discussion_time", value = policy.discussion_time } bsw@2: ui.field.vote_now{ label = _"Vote now", name = "vote_now" } bsw/jbe@0: ui.field.vote_later{ label = _"Vote later", name = "vote_later" } bsw@2: ui.field.timestamp{ label = _"Half frozen", name = "half_frozen" } bsw@2: ui.field.text{ label = _"verification_time", value = policy.verification_time } bsw@2: ui.field.integer{ label = _"initiative_quorum_num", value = policy.initiative_quorum_num } bsw@2: ui.field.integer{ label = _"initiative_quorum_den", value = policy.initiative_quorum_den } bsw@2: ui.field.timestamp{ label = _"Fully frozen", name = "fully_frozen" } bsw@2: ui.field.text{ label = _"voting_time", value = policy.voting_time } bsw@2: ui.field.timestamp{ label = _"Closed", name = "closed" } bsw@2: end bsw@2: } bsw@2: ui.form{ bsw@2: record = issue.policy, bsw@2: readonly = true, bsw@2: content = function() bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: