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")