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: