liquid_feedback_frontend
view app/main/policy/_list.lua @ 1062:f03fbffc1800
New layout for suggestion details view
| author | bsw | 
|---|---|
| date | Wed Jul 16 21:52:17 2014 +0200 (2014-07-16) | 
| parents | 701a5cf6b067 | 
| children | 41f55e4cb905 | 
 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 = "≤ " .. policy.admission_time }
    59           end
    60           ui.field.text{ label = _"Discussion" .. ":", value = policy.discussion_time or _"variable" }
    61           ui.field.text{ label = _"Frozen" .. ":", value = policy.verification_time or _"variable" }
    62           ui.field.text{ label = _"Voting" .. ":", value = 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
