bsw@603: ui.title(_"Policies") bsw/jbe@52: bsw/jbe@52: util.help("policy.list", _"Policies") bsw/jbe@52: local policies = Policy:new_selector() bsw/jbe@52: :add_where("active") bsw/jbe@52: :add_order_by("index") bsw/jbe@52: :exec() bsw/jbe@52: bsw/jbe@52: ui.list{ bsw/jbe@52: records = policies, bsw/jbe@52: columns = { bsw/jbe@52: { bsw/jbe@52: label_attr = { width = "500" }, bsw/jbe@52: label = _"Policy", bsw/jbe@52: content = function(policy) bsw@867: ui.link{ bsw@867: module = "policy", view = "show", id = policy.id, bsw/jbe@52: attr = { style = "font-weight: bold" }, bsw/jbe@52: content = function() bsw/jbe@52: slot.put(encode.html(policy.name)) bsw/jbe@52: if not policy.active then bsw/jbe@52: slot.put(" (", _"disabled", ")") bsw/jbe@52: end bsw/jbe@52: end bsw/jbe@52: } bsw/jbe@52: ui.tag{ bsw/jbe@52: tag = "div", bsw/jbe@52: content = policy.description bsw/jbe@52: } bsw/jbe@52: end bsw/jbe@52: }, bsw/jbe@52: { bsw/jbe@52: label_attr = { width = "200" }, bsw/jbe@52: label = _"Phases", bsw/jbe@52: content = function(policy) bsw@900: if policy.polling then bsw@900: ui.field.text{ label = _"New" .. ":", value = _"without" } bsw@900: else bsw@900: ui.field.text{ label = _"New" .. ":", value = "≤ " .. policy.admission_time } bsw@900: end bsw@902: ui.field.text{ label = _"Discussion" .. ":", value = policy.discussion_time or _"variable" } bsw@902: ui.field.text{ label = _"Frozen" .. ":", value = policy.verification_time or _"variable" } bsw@902: ui.field.text{ label = _"Voting" .. ":", value = policy.voting_time or _"variable" } bsw/jbe@52: end bsw/jbe@52: }, bsw/jbe@52: { bsw/jbe@52: label_attr = { width = "200" }, bsw/jbe@52: label = _"Quorum", bsw/jbe@52: content = function(policy) bsw@900: if policy.polling then bsw@900: ui.field.text{ label = _"Issue quorum" .. ":", value = _"without" } bsw@900: else bsw@900: ui.field.text{ bsw@900: label = _"Issue quorum" .. ":", bsw@900: value = "≥ " .. tostring(policy.issue_quorum_num) .. "/" .. tostring(policy.issue_quorum_den) bsw@900: } bsw@900: end bsw/jbe@52: ui.field.text{ bsw/jbe@52: label = _"Initiative quorum" .. ":", bsw/jbe@52: value = "≥ " .. tostring(policy.initiative_quorum_num) .. "/" .. tostring(policy.initiative_quorum_den) bsw/jbe@52: } bsw/jbe@52: ui.field.text{ bsw@867: label = _"Direct majority" .. ":", bsw@355: value = (policy.direct_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.direct_majority_num) .. "/" .. tostring(policy.direct_majority_den) bsw/jbe@52: } bsw@867: ui.field.text{ bsw@867: label = _"Indirect majority" .. ":", bsw@867: value = (policy.indirect_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.indirect_majority_num) .. "/" .. tostring(policy.indirect_majority_den) bsw@867: } bsw/jbe@52: end bsw/jbe@52: }, bsw/jbe@52: } bsw/jbe@52: }