bsw@31: local initiative = param.get("initiative", "table")
bsw@31:
bsw@31: link_area(initiative.issue.area)
bsw@31:
bsw@31: link_issue(initiative.issue)
bsw@31:
bsw@31: ui.link{
bsw@31: external = "",
bsw@31: attr = {
bsw@31: style = "display: block; text-decoration: none;",
bsw@31: name = "initiative_" .. tostring(initiative.id),
bsw@31: },
bsw@31: content = function()
bsw@31: ui.heading{
bsw@31: content = _("##{issue_id}.#{id} #{name}", { issue_id = initiative.issue.id, id = initiative.id, name = initiative.shortened_name })
bsw@31: }
bsw@31: end
bsw@31: }
bsw@31:
bsw@31: slot.put("
")
bsw@31:
bsw@31: if initiative.issue.ranks_available and initiative.admitted then
bsw@31: local class = initiative.rank == 1 and "admitted_info" or "not_admitted_info"
bsw@31: ui.container{
bsw@31: attr = { class = class },
bsw@31: content = function()
bsw@31: local max_value = initiative.issue.voter_count
bsw@31: slot.put(" ")
bsw@31: local positive_votes = initiative.positive_votes
bsw@31: local negative_votes = initiative.negative_votes
bsw@31: slot.put(_"Yes" .. ": " .. tostring(positive_votes) .. "")
bsw@31: slot.put(" · ")
bsw@31: slot.put(_"Abstention" .. ": " .. tostring(max_value - initiative.negative_votes - initiative.positive_votes) .. "")
bsw@31: slot.put(" · ")
bsw@31: slot.put(_"No" .. ": " .. tostring(initiative.negative_votes) .. "")
bsw@31: slot.put(" · ")
bsw@31: slot.put("")
bsw@31: if initiative.rank == 1 then
bsw@31: slot.put(_"Approved")
bsw@31: elseif initiative.rank then
bsw@31: slot.put(_("Not approved (rank #{rank})", { rank = initiative.rank }))
bsw@31: else
bsw@31: slot.put(_"Not approved")
bsw@31: end
bsw@31: slot.put("")
bsw@31: end
bsw@31: }
bsw@31: end
bsw@31:
bsw@31: if initiative.issue.state == "cancelled" then
bsw@31: local policy = initiative.issue.policy
bsw@31: ui.container{
bsw@31: attr = { class = "not_admitted_info" },
bsw@31: content = _("This issue has been cancelled. It failed the quorum of #{quorum}.", { quorum = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den) })
bsw@31: }
bsw@31: elseif initiative.admitted == false then
bsw@31: local policy = initiative.issue.policy
bsw@31: ui.container{
bsw@31: attr = { class = "not_admitted_info" },
bsw@31: content = _("This initiative has not been admitted! It failed the quorum of #{quorum}.", { quorum = format.percentage(policy.initiative_quorum_num / policy.initiative_quorum_den) })
bsw@31: }
bsw@31: end
bsw@31:
bsw@31: if initiative.revoked then
bsw@31: ui.container{
bsw@31: attr = { class = "revoked_info" },
bsw@31: content = function()
bsw@31: slot.put(_("This initiative has been revoked at #{revoked}", { revoked = format.timestamp(initiative.revoked) }))
bsw@31: end
bsw@31: }
bsw@31: end
bsw@31:
bsw@31:
bsw@31: ui.container{
bsw@31: attr = { class = "draft_content wiki" },
bsw@31: content = function()
bsw@31: slot.put(format.wiki_text(initiative.current_draft.content, initiative.current_draft.formatting_engine))
bsw@31: end
bsw@31: }
bsw@31:
bsw@31: execute.view{
bsw@31: module = "initiative",
bsw@31: view = "_battles",
bsw@31: params = { initiative = initiative }
bsw@31: }
bsw@31: