liquid_feedback_frontend

changeset 1234:8288027edb54

Added support for min_admission_time and max_admission_time
author bsw
date Fri Dec 04 14:19:28 2015 +0100 (2015-12-04)
parents ad207be24c7a
children 7f818548b7b8
files app/main/admin/_action/policy_update.lua app/main/admin/policy_show.lua app/main/area/show.lua app/main/index/_index_member.lua app/main/index/index.lua app/main/issue/_filters.lua app/main/issue/show.lua app/main/policy/_list.lua app/main/policy/show.lua app/main/unit/show.lua model/initiative.lua model/issue.lua model/policy.lua
line diff
     1.1 --- a/app/main/admin/_action/policy_update.lua	Tue Dec 01 18:33:06 2015 +0100
     1.2 +++ b/app/main/admin/_action/policy_update.lua	Fri Dec 04 14:19:28 2015 +0100
     1.3 @@ -3,7 +3,7 @@
     1.4  param.update(
     1.5    policy, 
     1.6    "index", "name", "description", "active", 
     1.7 -  "admission_time", "discussion_time", "verification_time", "voting_time", 
     1.8 +  "min_admission_time", "max_admission_time", "discussion_time", "verification_time", "voting_time", 
     1.9    "issue_quorum_num", "issue_quorum_den", 
    1.10    "initiative_quorum_num", "initiative_quorum_den", 
    1.11    "direct_majority_num", "direct_majority_den", "direct_majority_strict", "direct_majority_positive", "direct_majority_non_negative",
    1.12 @@ -11,7 +11,8 @@
    1.13    "no_reverse_beat_path", "no_multistage_majority", "polling"
    1.14  )
    1.15  
    1.16 -if policy.admission_time == "" then policy.admission_time = nil end
    1.17 +if policy.min_admission_time == "" then policy.min_admission_time = nil end
    1.18 +if policy.max_admission_time == "" then policy.max_admission_time = nil end
    1.19  if policy.discussion_time == "" then policy.discussion_time = nil end
    1.20  if policy.verification_time == "" then policy.verification_time = nil end
    1.21  if policy.voting_time == "" then policy.voting_time = nil end
     2.1 --- a/app/main/admin/policy_show.lua	Tue Dec 01 18:33:06 2015 +0100
     2.2 +++ b/app/main/admin/policy_show.lua	Fri Dec 04 14:19:28 2015 +0100
     2.3 @@ -32,7 +32,8 @@
     2.4          ui.field.text{ label = _"Hint",        readonly = true, 
     2.5                          value = _"Interval format:" .. " 3 mons 2 weeks 1 day 10:30:15" }
     2.6  
     2.7 -        ui.field.text{ label = _"Admission time",     name = "admission_time", value = hint and "30 days" or nil }
     2.8 +        ui.field.text{ label = _"Minimum admission time",     name = "min_admission_time", value = hint and "0" or nil }
     2.9 +        ui.field.text{ label = _"Maximum admission time",     name = "min_admission_time", value = hint and "30 days" or nil }
    2.10          ui.field.text{ label = _"Discussion time",    name = "discussion_time", value = hint and "30 days" or nil }
    2.11          ui.field.text{ label = _"Verification time",  name = "verification_time", value = hint and "15 days" or nil }
    2.12          ui.field.text{ label = _"Voting time",        name = "voting_time", value = hint and "15 days" or nil }
     3.1 --- a/app/main/area/show.lua	Tue Dec 01 18:33:06 2015 +0100
     3.2 +++ b/app/main/area/show.lua	Fri Dec 04 14:19:28 2015 +0100
     3.3 @@ -31,7 +31,7 @@
     3.4  
     3.5  local function getOpenIssuesSelector()
     3.6    return area:get_reference_selector("issues")
     3.7 -    :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()")
     3.8 +    :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now()")
     3.9  end
    3.10  
    3.11  local admission_selector = getOpenIssuesSelector()
     4.1 --- a/app/main/index/_index_member.lua	Tue Dec 01 18:33:06 2015 +0100
     4.2 +++ b/app/main/index/_index_member.lua	Fri Dec 04 14:19:28 2015 +0100
     4.3 @@ -31,7 +31,7 @@
     4.4      for_state = "open",
     4.5      issues_selector = Issue:new_selector()
     4.6        :add_where("issue.closed ISNULL")
     4.7 -      :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()")
     4.8 +      :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now()")
     4.9    }
    4.10  }
    4.11  
     5.1 --- a/app/main/index/index.lua	Tue Dec 01 18:33:06 2015 +0100
     5.2 +++ b/app/main/index/index.lua	Fri Dec 04 14:19:28 2015 +0100
     5.3 @@ -5,7 +5,7 @@
     5.4          issue.fully_frozen + issue.voting_time, 
     5.5          issue.half_frozen + issue.verification_time, 
     5.6          issue.accepted + issue.discussion_time, 
     5.7 -        issue.created + issue.admission_time
     5.8 +        issue.created + issue.max_admission_time
     5.9        ) - now()
    5.10      ]])
    5.11  end
     6.1 --- a/app/main/issue/_filters.lua	Tue Dec 01 18:33:06 2015 +0100
     6.2 +++ b/app/main/issue/_filters.lua	Fri Dec 04 14:19:28 2015 +0100
     6.3 @@ -97,7 +97,7 @@
     6.4          selector:left_join ( "issue_order_in_admission_state", "filter_issue_order",    "filter_issue_order.id = issue.id" )
     6.5          selector:add_order_by ( "issue.closed DESC NULLS FIRST" )
     6.6          selector:add_order_by ( "issue.accepted ISNULL" )
     6.7 -        selector:add_order_by ( "CASE WHEN issue.accepted ISNULL THEN NULL ELSE justify_interval(coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()) END" )
     6.8 +        selector:add_order_by ( "CASE WHEN issue.accepted ISNULL THEN NULL ELSE justify_interval(coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now()) END" )
     6.9          selector:add_order_by ( "CASE WHEN issue.accepted ISNULL THEN " .. admission_order_field .. " ELSE NULL END" )
    6.10          selector:add_order_by ( "id" )
    6.11        end
     7.1 --- a/app/main/issue/show.lua	Tue Dec 01 18:33:06 2015 +0100
     7.2 +++ b/app/main/issue/show.lua	Fri Dec 04 14:19:28 2015 +0100
     7.3 @@ -82,7 +82,8 @@
     7.4        if policy.polling then
     7.5          ui.field.text{       label = _"Admission time",        value = _"Implicitly admitted" }
     7.6        else
     7.7 -        ui.field.text{       label = _"Admission time",        value = format.interval_text(issue.admission_time_text) }
     7.8 +        ui.field.text{       label = _"Minimum admission time",        value = format.interval_text(issue.min_admission_time_text) }
     7.9 +        ui.field.text{       label = _"Maximum admission time",        value = format.interval_text(issue.max_admission_time_text) }
    7.10          ui.field.text{
    7.11            label = _"Issue quorum",
    7.12            value = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den)
     8.1 --- a/app/main/policy/_list.lua	Tue Dec 01 18:33:06 2015 +0100
     8.2 +++ b/app/main/policy/_list.lua	Fri Dec 04 14:19:28 2015 +0100
     8.3 @@ -55,7 +55,8 @@
     8.4            if policy.polling then
     8.5              ui.field.text{ label = _"New" .. ":", value = _"without" }
     8.6            else
     8.7 -            ui.field.text{ label = _"New" .. ":", value = "≤ " .. format.interval_text(policy.admission_time) }
     8.8 +            ui.field.text{ label = _"New" .. ":", value = "≤ min " .. format.interval_text(policy.max_admission_time) }
     8.9 +            ui.field.text{ label = _"New" .. ":", value = "≤ max " .. format.interval_text(policy.max_admission_time) }
    8.10            end
    8.11            ui.field.text{ label = _"Discussion" .. ":", value = format.interval_text(policy.discussion_time) or _"variable" }
    8.12            ui.field.text{ label = _"Frozen" .. ":", value = format.interval_text(policy.verification_time) or _"variable" }
     9.1 --- a/app/main/policy/show.lua	Tue Dec 01 18:33:06 2015 +0100
     9.2 +++ b/app/main/policy/show.lua	Fri Dec 04 14:19:28 2015 +0100
     9.3 @@ -9,7 +9,8 @@
     9.4      if policy.polling then
     9.5        ui.field.text{ label = _"New" .. ":", value = _"without" }
     9.6      else
     9.7 -      ui.field.text{ label = _"New" .. ":", value = "≤ " .. policy.admission_time }
     9.8 +      ui.field.text{ label = _"New" .. ":", value = "≤ min " .. policy.min_admission_time }
     9.9 +      ui.field.text{ label = _"New" .. ":", value = "≤ max " .. policy.max_admission_time }
    9.10      end
    9.11      ui.field.text{ label = _"Discussion" .. ":", value = policy.discussion_time or _"variable" }
    9.12      ui.field.text{ label = _"Frozen" .. ":", value = policy.verification_time or _"variable" }
    10.1 --- a/app/main/unit/show.lua	Tue Dec 01 18:33:06 2015 +0100
    10.2 +++ b/app/main/unit/show.lua	Fri Dec 04 14:19:28 2015 +0100
    10.3 @@ -30,7 +30,7 @@
    10.4    :join("area", nil, "area.id = issue.area_id")
    10.5    :add_where{ "area.unit_id = ?", unit.id }
    10.6    :add_where("issue.closed ISNULL")
    10.7 -  :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()")
    10.8 +  :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now()")
    10.9  
   10.10  local closed_issues_selector = Issue:new_selector()
   10.11    :join("area", nil, "area.id = issue.area_id")
    11.1 --- a/model/initiative.lua	Tue Dec 01 18:33:06 2015 +0100
    11.2 +++ b/model/initiative.lua	Fri Dec 04 14:19:28 2015 +0100
    11.3 @@ -244,7 +244,7 @@
    11.4  function Initiative:getBestInAdmission( args )
    11.5    local selector = Initiative:getSpecialSelector( args )
    11.6    selector:add_where( "issue.state = 'admission'" )
    11.7 -  selector:add_order_by( "issue.created + issue.admission_time DESC, id DESC" )
    11.8 +  selector:add_order_by( "issue.created + issue.max_admission_time DESC, id DESC" )
    11.9    return selector:exec()
   11.10  end
   11.11  
    12.1 --- a/model/issue.lua	Tue Dec 01 18:33:06 2015 +0100
    12.2 +++ b/model/issue.lua	Fri Dec 04 14:19:28 2015 +0100
    12.3 @@ -5,11 +5,12 @@
    12.4  
    12.5  function Issue:new_selector()
    12.6    local selector = new_selector(self)
    12.7 -  selector:add_field("justify_interval(admission_time)::text", "admission_time_text")
    12.8 +  selector:add_field("justify_interval(min_admission_time)::text", "min_admission_time_text")
    12.9 +  selector:add_field("justify_interval(max_admission_time)::text", "max_admission_time_text")
   12.10    selector:add_field("justify_interval(discussion_time)::text", "discussion_time_text")
   12.11    selector:add_field("justify_interval(verification_time)::text", "verification_time_text")
   12.12    selector:add_field("justify_interval(voting_time)::text", "voting_time_text")
   12.13 -  selector:add_field("justify_interval(coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now())", "state_time_left")
   12.14 +  selector:add_field("justify_interval(coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now())", "state_time_left")
   12.15    selector:add_field("justify_interval(now() - issue.closed)", "closed_ago")
   12.16    return selector
   12.17  end
    13.1 --- a/model/policy.lua	Tue Dec 01 18:33:06 2015 +0100
    13.2 +++ b/model/policy.lua	Fri Dec 04 14:19:28 2015 +0100
    13.3 @@ -14,7 +14,8 @@
    13.4  
    13.5  function Policy:new_selector()
    13.6    local selector = new_selector(self)
    13.7 -  selector:add_field("justify_interval(admission_time)::text", "admission_time_text")
    13.8 +  selector:add_field("justify_interval(min_admission_time)::text", "min_admission_time_text")
    13.9 +  selector:add_field("justify_interval(max_admission_time)::text", "max_admission_time_text")
   13.10    selector:add_field("justify_interval(discussion_time)::text", "discussion_time_text")
   13.11    selector:add_field("justify_interval(verification_time)::text", "verification_time_text")
   13.12    selector:add_field("justify_interval(voting_time)::text", "voting_time_text")

Impressum / About Us