liquid_feedback_frontend
annotate app/main/suggestion/_list.lua @ 1:dd0109e81922
Version alpha2
Minor bug in bargraph output for suggestions fixed
Minor bug in bargraph output for suggestions fixed
| author | bsw |
|---|---|
| date | Wed Nov 18 12:00:00 2009 +0100 (2009-11-18) |
| parents | 3bfb2fcf7ab9 |
| children | 5c601807d397 |
| rev | line source |
|---|---|
| bsw/jbe@0 | 1 local suggestions_selector = param.get("suggestions_selector", "table") |
| bsw/jbe@0 | 2 |
| bsw/jbe@0 | 3 ui.paginate{ |
| bsw/jbe@0 | 4 selector = suggestions_selector, |
| bsw/jbe@0 | 5 content = function() |
| bsw/jbe@0 | 6 ui.list{ |
| bsw/jbe@0 | 7 records = suggestions_selector:exec(), |
| bsw/jbe@0 | 8 columns = { |
| bsw/jbe@0 | 9 { |
| bsw/jbe@0 | 10 label = _"Name", |
| bsw/jbe@0 | 11 content = function(record) |
| bsw/jbe@0 | 12 ui.link{ |
| bsw/jbe@0 | 13 text = record.name, |
| bsw/jbe@0 | 14 module = "suggestion", |
| bsw/jbe@0 | 15 view = "show", |
| bsw/jbe@0 | 16 id = record.id |
| bsw/jbe@0 | 17 } |
| bsw/jbe@0 | 18 end |
| bsw/jbe@0 | 19 }, |
| bsw/jbe@0 | 20 { |
| bsw/jbe@0 | 21 label = _"Support", |
| bsw/jbe@0 | 22 content = function(record) |
| bsw/jbe@0 | 23 if record.minus2_unfulfilled_count then |
| bsw@1 | 24 local max_value = record.initiative.issue.population |
| bsw/jbe@0 | 25 ui.bargraph{ |
| bsw/jbe@0 | 26 max_value = max_value, |
| bsw/jbe@0 | 27 width = 50, |
| bsw/jbe@0 | 28 bars = { |
| bsw/jbe@0 | 29 { color = "#ddd", value = max_value - record.minus2_unfulfilled_count - record.minus1_unfulfilled_count - record.minus2_fulfilled_count - record.minus1_fulfilled_count }, |
| bsw/jbe@0 | 30 { color = "#f88", value = record.minus1_unfulfilled_count + record.minus1_fulfilled_count }, |
| bsw/jbe@0 | 31 { color = "#a00", value = record.minus2_unfulfilled_count + record.minus2_fulfilled_count }, |
| bsw/jbe@0 | 32 { color = "#0a0", value = record.plus2_unfulfilled_count + record.plus2_fulfilled_count }, |
| bsw/jbe@0 | 33 { color = "#8f8", value = record.plus1_unfulfilled_count + record.plus1_fulfilled_count }, |
| bsw/jbe@0 | 34 { color = "#ddd", value = max_value - record.plus1_unfulfilled_count - record.plus2_unfulfilled_count - record.plus1_fulfilled_count - record.plus2_fulfilled_count }, |
| bsw/jbe@0 | 35 } |
| bsw/jbe@0 | 36 } |
| bsw/jbe@0 | 37 end |
| bsw/jbe@0 | 38 end |
| bsw/jbe@0 | 39 }, |
| bsw/jbe@0 | 40 { |
| bsw/jbe@0 | 41 content = function(record) |
| bsw/jbe@0 | 42 local degree |
| bsw/jbe@0 | 43 local opinion = Opinion:by_pk(app.session.member.id, record.id) |
| bsw/jbe@0 | 44 if opinion then |
| bsw/jbe@0 | 45 degree = opinion.degree |
| bsw/jbe@0 | 46 end |
| bsw/jbe@0 | 47 ui.link{ |
| bsw/jbe@0 | 48 attr = { class = "action" .. (degree == -2 and " active_red2" or "") }, |
| bsw/jbe@0 | 49 text = _"must not", |
| bsw/jbe@0 | 50 module = "opinion", |
| bsw/jbe@0 | 51 action = "update", |
| bsw/jbe@0 | 52 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 53 params = { |
| bsw/jbe@0 | 54 suggestion_id = record.id, |
| bsw/jbe@0 | 55 degree = -2 |
| bsw/jbe@0 | 56 } |
| bsw/jbe@0 | 57 } |
| bsw/jbe@0 | 58 ui.link{ |
| bsw/jbe@0 | 59 attr = { class = "action" .. (degree == -1 and " active_red1" or "") }, |
| bsw/jbe@0 | 60 text = _"should not", |
| bsw/jbe@0 | 61 module = "opinion", |
| bsw/jbe@0 | 62 action = "update", |
| bsw/jbe@0 | 63 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 64 params = { |
| bsw/jbe@0 | 65 suggestion_id = record.id, |
| bsw/jbe@0 | 66 degree = -1 |
| bsw/jbe@0 | 67 } |
| bsw/jbe@0 | 68 } |
| bsw/jbe@0 | 69 ui.link{ |
| bsw/jbe@0 | 70 attr = { class = "action" .. (degree == nil and " active" or "") }, |
| bsw/jbe@0 | 71 text = _"neutral", |
| bsw/jbe@0 | 72 module = "opinion", |
| bsw/jbe@0 | 73 action = "update", |
| bsw/jbe@0 | 74 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 75 params = { |
| bsw/jbe@0 | 76 suggestion_id = record.id, |
| bsw/jbe@0 | 77 delete = true |
| bsw/jbe@0 | 78 } |
| bsw/jbe@0 | 79 } |
| bsw/jbe@0 | 80 ui.link{ |
| bsw/jbe@0 | 81 attr = { class = "action" .. (degree == 1 and " active_green1" or "") }, |
| bsw/jbe@0 | 82 text = _"should", |
| bsw/jbe@0 | 83 module = "opinion", |
| bsw/jbe@0 | 84 action = "update", |
| bsw/jbe@0 | 85 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 86 params = { |
| bsw/jbe@0 | 87 suggestion_id = record.id, |
| bsw/jbe@0 | 88 degree = 1 |
| bsw/jbe@0 | 89 } |
| bsw/jbe@0 | 90 } |
| bsw/jbe@0 | 91 ui.link{ |
| bsw/jbe@0 | 92 attr = { class = "action" .. (degree == 2 and " active_green2" or "") }, |
| bsw/jbe@0 | 93 text = _"must", |
| bsw/jbe@0 | 94 module = "opinion", |
| bsw/jbe@0 | 95 action = "update", |
| bsw/jbe@0 | 96 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 97 params = { |
| bsw/jbe@0 | 98 suggestion_id = record.id, |
| bsw/jbe@0 | 99 degree = 2 |
| bsw/jbe@0 | 100 } |
| bsw/jbe@0 | 101 } |
| bsw/jbe@0 | 102 end |
| bsw/jbe@0 | 103 }, |
| bsw/jbe@0 | 104 { |
| bsw/jbe@0 | 105 label = _"Not fullfilled", |
| bsw/jbe@0 | 106 content = function(record) |
| bsw/jbe@0 | 107 if record.minus2_unfulfilled_count then |
| bsw@1 | 108 local max_value = record.initiative.issue.population |
| bsw/jbe@0 | 109 ui.bargraph{ |
| bsw/jbe@0 | 110 max_value = max_value, |
| bsw/jbe@0 | 111 width = 50, |
| bsw/jbe@0 | 112 bars = { |
| bsw/jbe@0 | 113 { color = "#ddd", value = max_value - record.minus2_unfulfilled_count - record.minus1_unfulfilled_count }, |
| bsw/jbe@0 | 114 { color = "#f88", value = record.minus1_unfulfilled_count }, |
| bsw/jbe@0 | 115 { color = "#a00", value = record.minus2_unfulfilled_count }, |
| bsw/jbe@0 | 116 { color = "#0a0", value = record.plus2_unfulfilled_count }, |
| bsw/jbe@0 | 117 { color = "#8f8", value = record.plus1_unfulfilled_count }, |
| bsw/jbe@0 | 118 { color = "#ddd", value = max_value - record.plus1_unfulfilled_count - record.plus2_unfulfilled_count }, |
| bsw/jbe@0 | 119 } |
| bsw/jbe@0 | 120 } |
| bsw/jbe@0 | 121 end |
| bsw/jbe@0 | 122 end |
| bsw/jbe@0 | 123 }, |
| bsw/jbe@0 | 124 { |
| bsw/jbe@0 | 125 label = _"Fullfilled", |
| bsw/jbe@0 | 126 content = function(record) |
| bsw/jbe@0 | 127 if record.minus2_fulfilled_count then |
| bsw@1 | 128 local max_value = record.initiative.issue.population |
| bsw/jbe@0 | 129 ui.bargraph{ |
| bsw/jbe@0 | 130 max_value = max_value, |
| bsw/jbe@0 | 131 width = 50, |
| bsw/jbe@0 | 132 bars = { |
| bsw/jbe@0 | 133 { color = "#ddd", value = max_value - record.minus2_fulfilled_count - record.minus1_fulfilled_count }, |
| bsw/jbe@0 | 134 { color = "#f88", value = record.minus1_fulfilled_count }, |
| bsw/jbe@0 | 135 { color = "#a00", value = record.minus2_fulfilled_count }, |
| bsw/jbe@0 | 136 { color = "#0a0", value = record.plus2_fulfilled_count }, |
| bsw/jbe@0 | 137 { color = "#8f8", value = record.plus1_fulfilled_count }, |
| bsw/jbe@0 | 138 { color = "#ddd", value = max_value - record.plus1_fulfilled_count - record.plus2_fulfilled_count }, |
| bsw/jbe@0 | 139 } |
| bsw/jbe@0 | 140 } |
| bsw/jbe@0 | 141 end |
| bsw/jbe@0 | 142 end |
| bsw/jbe@0 | 143 }, |
| bsw/jbe@0 | 144 { |
| bsw/jbe@0 | 145 content = function(record) |
| bsw/jbe@0 | 146 local degree |
| bsw/jbe@0 | 147 local opinion = Opinion:by_pk(app.session.member.id, record.id) |
| bsw/jbe@0 | 148 if opinion then |
| bsw/jbe@0 | 149 degree = opinion.degree |
| bsw/jbe@0 | 150 end |
| bsw/jbe@0 | 151 if opinion then |
| bsw/jbe@0 | 152 if not opinion.fulfilled then |
| bsw/jbe@0 | 153 ui.image{ static = "icons/16/cross.png" } |
| bsw/jbe@0 | 154 ui.link{ |
| bsw/jbe@0 | 155 attr = { class = "action" }, |
| bsw/jbe@0 | 156 text = _"set fulfilled", |
| bsw/jbe@0 | 157 module = "opinion", |
| bsw/jbe@0 | 158 action = "update", |
| bsw/jbe@0 | 159 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 160 params = { |
| bsw/jbe@0 | 161 suggestion_id = record.id, |
| bsw/jbe@0 | 162 fulfilled = true |
| bsw/jbe@0 | 163 } |
| bsw/jbe@0 | 164 } |
| bsw/jbe@0 | 165 else |
| bsw/jbe@0 | 166 ui.image{ static = "icons/16/tick.png" } |
| bsw/jbe@0 | 167 ui.link{ |
| bsw/jbe@0 | 168 attr = { class = "action" }, |
| bsw/jbe@0 | 169 text = _"remove fulfilled", |
| bsw/jbe@0 | 170 module = "opinion", |
| bsw/jbe@0 | 171 action = "update", |
| bsw/jbe@0 | 172 routing = { default = { mode = "redirect", module = request.get_module(), view = request.get_view(), id = param.get_id_cgi(), params = param.get_all_cgi() } }, |
| bsw/jbe@0 | 173 params = { |
| bsw/jbe@0 | 174 suggestion_id = record.id, |
| bsw/jbe@0 | 175 fulfilled = false |
| bsw/jbe@0 | 176 } |
| bsw/jbe@0 | 177 } |
| bsw/jbe@0 | 178 end |
| bsw/jbe@0 | 179 end |
| bsw/jbe@0 | 180 end |
| bsw/jbe@0 | 181 }, |
| bsw/jbe@0 | 182 } |
| bsw/jbe@0 | 183 } |
| bsw/jbe@0 | 184 end |
| bsw/jbe@0 | 185 } |