rev |
line source |
bsw@1045
|
1 local initiative = param.get("initiative", "table")
|
bsw@1045
|
2 local batteled_initiative = param.get("battled_initiative", "table")
|
bsw@1045
|
3
|
bsw@1045
|
4 local grey = "#eee"
|
bsw@1045
|
5
|
bsw@1045
|
6 if initiative.issue.fully_frozen and initiative.issue.closed
|
bsw@1045
|
7 and initiative.negative_votes and initiative.positive_votes and initiative.rank ~= 1 then
|
bsw@1045
|
8 if not batteled_initiative then
|
bsw@1045
|
9 return
|
bsw@1045
|
10 end
|
bsw@1045
|
11 local battle1 = Battle:getByInitiativeIds(batteled_initiative.id, initiative.id)
|
bsw@1045
|
12 local battle2 = Battle:getByInitiativeIds(initiative.id, batteled_initiative.id)
|
bsw@1045
|
13
|
bsw@1045
|
14 if not battle1 or not battle2 then
|
bsw@1045
|
15 return
|
bsw@1045
|
16 end
|
bsw@1045
|
17
|
bsw@1045
|
18 local positive_votes = battle2.count
|
bsw@1045
|
19 local negative_votes = battle1.count
|
bsw@1045
|
20
|
bsw@1045
|
21 local max_value = initiative.issue.voter_count
|
bsw@1045
|
22 if max_value > 0 then
|
bsw@1045
|
23 ui.bargraph{
|
bsw@1045
|
24 max_value = max_value * 2,
|
bsw@1045
|
25 width = 100,
|
bsw@1045
|
26 bars = {
|
bsw@1045
|
27 { color = grey, value = max_value - negative_votes },
|
bsw@1045
|
28 { color = "#a00", value = negative_votes },
|
bsw@1045
|
29 { color = "#0a0", value = positive_votes },
|
bsw@1045
|
30 { color = grey, value = max_value - positive_votes },
|
bsw@1045
|
31 }
|
bsw@1045
|
32 }
|
bsw@1045
|
33 else
|
bsw@1045
|
34 ui.bargraph{
|
bsw@1045
|
35 max_value = 1,
|
bsw@1045
|
36 width = 100,
|
bsw@1045
|
37 bars = {
|
bsw@1045
|
38 { color = grey, value = 1 },
|
bsw@1045
|
39 }
|
bsw@1045
|
40 }
|
bsw@1045
|
41 end
|
bsw@1045
|
42 else
|
bsw@1045
|
43 local max_value = initiative.issue.population or 0
|
bsw@1045
|
44 local quorum
|
bsw@1045
|
45 if initiative.issue.accepted then
|
bsw/jbe@1309
|
46 quorum = initiative.issue.initiative_quorum or 0
|
bsw@1045
|
47 else
|
bsw/jbe@1309
|
48 quorum = initiative.issue.issue_quorum or 0
|
bsw/jbe@1309
|
49 end
|
bsw/jbe@1309
|
50 if quorum > max_value then
|
bsw/jbe@1309
|
51 max_value = quorum
|
bsw@1045
|
52 end
|
bsw@1045
|
53 ui.bargraph{
|
bsw@1045
|
54 max_value = max_value,
|
bsw@1045
|
55 width = 100,
|
bsw/jbe@1309
|
56 quorum = quorum,
|
bsw@1045
|
57 quorum_color = "#00F",
|
bsw@1045
|
58 bars = {
|
bsw@1045
|
59 { color = "#5a5", value = (initiative.satisfied_supporter_count or 0) },
|
bsw@1045
|
60 { color = "#fa5", value = (initiative.supporter_count or 0) - (initiative.satisfied_supporter_count or 0) },
|
bsw@1045
|
61 { color = grey, value = max_value - (initiative.supporter_count or 0) },
|
bsw@1045
|
62 }
|
bsw@1045
|
63 }
|
bsw@1045
|
64 end
|