bsw/jbe@19: local initiative = param.get("initiative", "table") bsw/jbe@19: bsw/jbe@19: if initiative.revoked then bsw/jbe@19: slot.put(_"Not voted (revoked from initiator)") bsw/jbe@19: elseif initiative.admitted == false then bsw/jbe@19: slot.put(_"Not voted (not admitted)") bsw/jbe@19: else bsw/jbe@19: bsw@31: execute.view{ bsw@31: module = "initiative", bsw@31: view = "_battles", bsw@31: params = { initiative = initiative } bsw@31: } bsw/jbe@19: bsw@286: slot.put("
") bsw@286: bsw/jbe@19: ui.container{ bsw/jbe@19: attr = { class = "heading" }, bsw/jbe@19: content = _"Member voting" bsw/jbe@19: } bsw/jbe@19: bsw/jbe@19: execute.view{ bsw/jbe@19: module = "member", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { bsw/jbe@19: initiative = initiative, bsw@190: for_votes = true, bsw/jbe@19: members_selector = initiative.issue:get_reference_selector("direct_voters") bsw/jbe@19: :left_join("vote", nil, { "vote.initiative_id = ? AND vote.member_id = member.id", initiative.id }) bsw/jbe@19: :add_field("direct_voter.weight as voter_weight") bsw/jbe@19: :add_field("coalesce(vote.grade, 0) as grade") bsw@190: :join("initiative", nil, "initiative.id = vote.initiative_id") bsw@190: :join("issue", nil, "issue.id = initiative.issue_id") bsw/jbe@19: } bsw/jbe@19: } bsw/jbe@19: bsw@286: slot.put("
") bsw@286: bsw@286: ui.container{ bsw@286: attr = { class = "heading" }, bsw@286: content = _"Voting details" bsw@286: } bsw@286: bsw@286: ui.form{ bsw@286: attr = { class = "vertical" }, bsw@286: content = function() bsw@286: bsw@286: ui.field.boolean{ label = _"Direct majority", value = initiative.direct_majority } bsw@286: ui.field.boolean{ label = _"Indirect majority", value = initiative.indirect_majority } bsw@286: ui.field.text{ label = _"Schulze rank", value = tostring(initiative.schulze_rank) .. " (" .. _("Status quo: #{rank}", { rank = initiative.issue.status_quo_schulze_rank }) .. ")" } bsw@286: local texts = {} bsw@286: if initiative.reverse_beat_path then bsw@286: texts[#texts+1] = _"reverse beat path to status quo (including ties)" bsw@286: end bsw@286: if initiative.multistage_majority then bsw@286: texts[#texts+1] = _"possibly instable result caused by multistage majority" bsw@286: end bsw@286: if #texts == 0 then bsw@286: texts[#texts+1] = _"none" bsw@286: end bsw@286: ui.field.text{ bsw@286: label = _"Other failures", bsw@286: value = table.concat(texts, ", ") bsw@286: } bsw@286: ui.field.boolean{ label = _"Eligible as winner", value = initiative.eligible } bsw@286: end bsw@286: } bsw@286: bsw@286: bsw/jbe@19: end