liquid_feedback_frontend

view app/main/policy/_list.lua @ 1100:41f55e4cb905

Added translation of phase durations
author bsw
date Mon Oct 27 12:03:08 2014 +0100 (2014-10-27)
parents 701a5cf6b067
children 8288027edb54
line source
1 local for_area = param.get("for_area", "table")
3 local selector = Policy:new_selector()
4 :add_where("policy.active")
5 :add_order_by("policy.index")
7 if for_area then
8 selector:join("allowed_policy", nil,
9 { "allowed_policy.policy_id = policy.id AND allowed_policy.area_id = ?", for_area.id }
10 )
11 end
13 local policies = selector:exec()
16 for i, policy in ipairs(policies) do
17 ui.container {
18 attr = { class = "sidebarRow", id = "policy" .. policy.id },
19 content = function ()
21 ui.heading { level = 3, content = policy.name }
23 ui.tag{
24 content = policy.description
25 }
27 slot.put ( "<br />" )
29 ui.link {
30 attr = {
31 class = "policy-show-details",
32 onclick = "$('#policy" .. policy.id .. " .policy-details').show(); $('#policy" .. policy.id .. " .policy-show-details').hide(); $('#policy" .. policy.id .. " .policy-hide-details').show(); return false;"
33 },
34 content = _"show details"
35 }
37 ui.link {
38 attr = {
39 class = "policy-hide-details",
40 onclick = "$('#policy" .. policy.id .. " .policy-details').hide(); $('#policy" .. policy.id .. " .policy-show-details').show(); $('#policy" .. policy.id .. " .policy-hide-details').hide(); return false;",
41 style = "display: none;"
42 },
43 content = _"hide details"
44 }
46 ui.container {
47 attr = {
48 class = "policy-details",
49 style = "display: none;"
50 },
51 content = function ()
53 ui.heading { level = 4, content = _"Phase durations" }
55 if policy.polling then
56 ui.field.text{ label = _"New" .. ":", value = _"without" }
57 else
58 ui.field.text{ label = _"New" .. ":", value = "≤ " .. format.interval_text(policy.admission_time) }
59 end
60 ui.field.text{ label = _"Discussion" .. ":", value = format.interval_text(policy.discussion_time) or _"variable" }
61 ui.field.text{ label = _"Frozen" .. ":", value = format.interval_text(policy.verification_time) or _"variable" }
62 ui.field.text{ label = _"Voting" .. ":", value = format.interval_text(policy.voting_time) or _"variable" }
64 ui.heading { level = 4, content = _"Quorums" }
66 if policy.polling then
67 ui.field.text{ label = _"Issue quorum" .. ":", value = _"without" }
68 else
69 ui.field.text{
70 label = _"Issue quorum" .. ":",
71 value = "≥ " .. tostring(policy.issue_quorum_num) .. "/" .. tostring(policy.issue_quorum_den)
72 }
73 end
74 ui.field.text{
75 label = _"Initiative quorum" .. ":",
76 value = "≥ " .. tostring(policy.initiative_quorum_num) .. "/" .. tostring(policy.initiative_quorum_den)
77 }
78 ui.field.text{
79 label = _"Direct majority" .. ":",
80 value = (policy.direct_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.direct_majority_num) .. "/" .. tostring(policy.direct_majority_den)
81 }
82 ui.field.text{
83 label = _"Indirect majority" .. ":",
84 value = (policy.indirect_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.indirect_majority_num) .. "/" .. tostring(policy.indirect_majority_den)
85 }
86 end
87 }
88 end
89 }
90 end

Impressum / About Us