| rev | 
   line source | 
| 
bsw@603
 | 
     1 ui.title(_"Policies")
 | 
| 
bsw/jbe@52
 | 
     2 
 | 
| 
bsw/jbe@52
 | 
     3 util.help("policy.list", _"Policies")
 | 
| 
bsw/jbe@52
 | 
     4 local policies = Policy:new_selector()
 | 
| 
bsw/jbe@52
 | 
     5   :add_where("active")
 | 
| 
bsw/jbe@52
 | 
     6   :add_order_by("index")
 | 
| 
bsw/jbe@52
 | 
     7   :exec()
 | 
| 
bsw/jbe@52
 | 
     8 
 | 
| 
bsw/jbe@52
 | 
     9 ui.list{
 | 
| 
bsw/jbe@52
 | 
    10   records = policies,
 | 
| 
bsw/jbe@52
 | 
    11   columns = {
 | 
| 
bsw/jbe@52
 | 
    12     {
 | 
| 
bsw/jbe@52
 | 
    13       label_attr = { width = "500" },
 | 
| 
bsw/jbe@52
 | 
    14       label = _"Policy",
 | 
| 
bsw/jbe@52
 | 
    15       content = function(policy)
 | 
| 
bsw@867
 | 
    16         ui.link{
 | 
| 
bsw@867
 | 
    17           module = "policy", view = "show", id = policy.id,
 | 
| 
bsw/jbe@52
 | 
    18           attr = { style = "font-weight: bold" },
 | 
| 
bsw/jbe@52
 | 
    19           content = function()
 | 
| 
bsw/jbe@52
 | 
    20             slot.put(encode.html(policy.name))
 | 
| 
bsw/jbe@52
 | 
    21             if not policy.active then
 | 
| 
bsw/jbe@52
 | 
    22               slot.put(" (", _"disabled", ")")
 | 
| 
bsw/jbe@52
 | 
    23             end
 | 
| 
bsw/jbe@52
 | 
    24           end
 | 
| 
bsw/jbe@52
 | 
    25         }
 | 
| 
bsw/jbe@52
 | 
    26         ui.tag{
 | 
| 
bsw/jbe@52
 | 
    27           tag = "div",
 | 
| 
bsw/jbe@52
 | 
    28           content = policy.description
 | 
| 
bsw/jbe@52
 | 
    29         }
 | 
| 
bsw/jbe@52
 | 
    30       end
 | 
| 
bsw/jbe@52
 | 
    31     },
 | 
| 
bsw/jbe@52
 | 
    32     {
 | 
| 
bsw/jbe@52
 | 
    33       label_attr = { width = "200" },
 | 
| 
bsw/jbe@52
 | 
    34       label = _"Phases",
 | 
| 
bsw/jbe@52
 | 
    35       content = function(policy)
 | 
| 
bsw@900
 | 
    36         if policy.polling then
 | 
| 
bsw@900
 | 
    37           ui.field.text{ label = _"New" .. ":", value = _"without" }
 | 
| 
bsw@900
 | 
    38         else
 | 
| 
bsw@900
 | 
    39           ui.field.text{ label = _"New" .. ":", value = "≤ " .. policy.admission_time }
 | 
| 
bsw@900
 | 
    40         end
 | 
| 
bsw@902
 | 
    41         ui.field.text{ label = _"Discussion" .. ":", value = policy.discussion_time or _"variable" }
 | 
| 
bsw@902
 | 
    42         ui.field.text{ label = _"Frozen" .. ":", value = policy.verification_time or _"variable" }
 | 
| 
bsw@902
 | 
    43         ui.field.text{ label = _"Voting" .. ":", value = policy.voting_time or _"variable" }
 | 
| 
bsw/jbe@52
 | 
    44       end
 | 
| 
bsw/jbe@52
 | 
    45     },
 | 
| 
bsw/jbe@52
 | 
    46     {
 | 
| 
bsw/jbe@52
 | 
    47       label_attr = { width = "200" },
 | 
| 
bsw/jbe@52
 | 
    48       label = _"Quorum",
 | 
| 
bsw/jbe@52
 | 
    49       content = function(policy)
 | 
| 
bsw@900
 | 
    50         if policy.polling then
 | 
| 
bsw@900
 | 
    51           ui.field.text{ label = _"Issue quorum" .. ":", value = _"without" }
 | 
| 
bsw@900
 | 
    52         else
 | 
| 
bsw@900
 | 
    53           ui.field.text{
 | 
| 
bsw@900
 | 
    54             label = _"Issue quorum" .. ":", 
 | 
| 
bsw@900
 | 
    55             value = "≥ " .. tostring(policy.issue_quorum_num) .. "/" .. tostring(policy.issue_quorum_den)
 | 
| 
bsw@900
 | 
    56           }
 | 
| 
bsw@900
 | 
    57         end
 | 
| 
bsw/jbe@52
 | 
    58         ui.field.text{
 | 
| 
bsw/jbe@52
 | 
    59           label = _"Initiative quorum" .. ":", 
 | 
| 
bsw/jbe@52
 | 
    60           value = "≥ " .. tostring(policy.initiative_quorum_num) .. "/" .. tostring(policy.initiative_quorum_den)
 | 
| 
bsw/jbe@52
 | 
    61         }
 | 
| 
bsw/jbe@52
 | 
    62         ui.field.text{
 | 
| 
bsw@867
 | 
    63           label = _"Direct majority" .. ":", 
 | 
| 
bsw@355
 | 
    64           value = (policy.direct_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.direct_majority_num) .. "/" .. tostring(policy.direct_majority_den)
 | 
| 
bsw/jbe@52
 | 
    65         }
 | 
| 
bsw@867
 | 
    66         ui.field.text{
 | 
| 
bsw@867
 | 
    67           label = _"Indirect majority" .. ":", 
 | 
| 
bsw@867
 | 
    68           value = (policy.indirect_majority_strict and ">" or "≥" ) .. " " .. tostring(policy.indirect_majority_num) .. "/" .. tostring(policy.indirect_majority_den)
 | 
| 
bsw@867
 | 
    69         }
 | 
| 
bsw/jbe@52
 | 
    70       end
 | 
| 
bsw/jbe@52
 | 
    71     },
 | 
| 
bsw/jbe@52
 | 
    72   }
 | 
| 
bsw/jbe@52
 | 
    73 } |