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: