liquid_feedback_frontend
annotate app/main/delegation/_show_box.lua @ 4:80c215dbf076
Version alpha5
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
Many optical changes and improved usability
Support for different wiki-formatting-engines
Help system
author | bsw/jbe |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 5c601807d397 |
children | afd9f769c7ae |
rev | line source |
---|---|
bsw/jbe@4 | 1 slot.select("actions", function() |
bsw/jbe@0 | 2 |
bsw/jbe@4 | 3 ui.container{ |
bsw/jbe@4 | 4 attr = { class = "delegation vote_info"}, |
bsw/jbe@4 | 5 content = function() |
bsw/jbe@4 | 6 |
bsw/jbe@4 | 7 local delegation |
bsw/jbe@4 | 8 local area_id |
bsw/jbe@4 | 9 local issue_id |
bsw/jbe@4 | 10 |
bsw/jbe@4 | 11 local scope = "global" |
bsw/jbe@4 | 12 |
bsw/jbe@4 | 13 if param.get("initiative_id", atom.integer) then |
bsw/jbe@4 | 14 issue_id = Initiative:by_id(param.get("initiative_id", atom.integer)).issue_id |
bsw/jbe@4 | 15 scope = "issue" |
bsw/jbe@4 | 16 end |
bsw/jbe@4 | 17 |
bsw/jbe@4 | 18 if param.get("issue_id", atom.integer) then |
bsw/jbe@4 | 19 issue_id = param.get("issue_id", atom.integer) |
bsw/jbe@4 | 20 scope = "issue" |
bsw/jbe@4 | 21 end |
bsw/jbe@4 | 22 |
bsw/jbe@4 | 23 if param.get("area_id", atom.integer) then |
bsw/jbe@4 | 24 area_id = param.get("area_id", atom.integer) |
bsw/jbe@4 | 25 scope = "area" |
bsw/jbe@4 | 26 end |
bsw/jbe@4 | 27 |
bsw/jbe@4 | 28 |
bsw/jbe@4 | 29 |
bsw/jbe@4 | 30 local delegation |
bsw/jbe@4 | 31 |
bsw/jbe@4 | 32 if issue_id then |
bsw/jbe@4 | 33 delegation = Delegation:by_pk(app.session.member.id, nil, issue_id) |
bsw/jbe@4 | 34 if not delegation then |
bsw/jbe@4 | 35 local issue = Issue:by_id(issue_id) |
bsw/jbe@4 | 36 delegation = Delegation:by_pk(app.session.member.id, issue.area_id) |
bsw/jbe@4 | 37 end |
bsw/jbe@4 | 38 elseif area_id then |
bsw/jbe@4 | 39 delegation = Delegation:by_pk(app.session.member.id, area_id) |
bsw/jbe@4 | 40 end |
bsw/jbe@4 | 41 |
bsw/jbe@4 | 42 if not delegation then |
bsw/jbe@4 | 43 delegation = Delegation:by_pk(app.session.member.id) |
bsw/jbe@4 | 44 end |
bsw/jbe@4 | 45 if delegation then |
bsw@2 | 46 ui.container{ |
bsw@2 | 47 attr = { |
bsw/jbe@4 | 48 title = _"Click for details", |
bsw/jbe@4 | 49 class = "head head_active", |
bsw@2 | 50 style = "cursor: pointer;", |
bsw/jbe@4 | 51 onclick = "document.getElementById('delegation_content').style.display = 'block';" |
bsw@2 | 52 }, |
bsw/jbe@4 | 53 content = function() |
bsw/jbe@4 | 54 ui.image{ |
bsw/jbe@4 | 55 static = "icons/16/error.png" |
bsw/jbe@4 | 56 } |
bsw/jbe@4 | 57 if delegation.issue_id then |
bsw/jbe@4 | 58 slot.put(_"Issue delegation active") |
bsw/jbe@4 | 59 elseif delegation.area_id then |
bsw/jbe@4 | 60 slot.put(_"Area wide delegation active") |
bsw/jbe@4 | 61 else |
bsw/jbe@4 | 62 slot.put(_"Global delegation active") |
bsw/jbe@4 | 63 end |
bsw/jbe@4 | 64 ui.image{ |
bsw/jbe@4 | 65 static = "icons/16/dropdown.png" |
bsw/jbe@4 | 66 } |
bsw/jbe@4 | 67 end |
bsw@2 | 68 } |
bsw/jbe@4 | 69 ui.container{ |
bsw/jbe@4 | 70 attr = { class = "content", id = "delegation_content" }, |
bsw/jbe@4 | 71 content = function() |
bsw@2 | 72 ui.container{ |
bsw/jbe@4 | 73 attr = { |
bsw/jbe@4 | 74 class = "close", |
bsw/jbe@4 | 75 style = "cursor: pointer;", |
bsw/jbe@4 | 76 onclick = "document.getElementById('delegation_content').style.display = 'none';" |
bsw/jbe@4 | 77 }, |
bsw@2 | 78 content = function() |
bsw/jbe@4 | 79 ui.image{ static = "icons/16/cross.png" } |
bsw/jbe@4 | 80 end |
bsw/jbe@4 | 81 } |
bsw/jbe@4 | 82 |
bsw/jbe@4 | 83 local delegation_chain = Member:new_selector() |
bsw/jbe@4 | 84 :add_field("delegation_chain.*") |
bsw/jbe@4 | 85 :join("delegation_chain(" .. tostring(app.session.member.id) .. ", " .. tostring(area_id or "NULL") .. ", " .. tostring(issue_id or "NULL") .. ")", "delegation_chain", "member.id = delegation_chain.member_id") |
bsw/jbe@4 | 86 :add_order_by("index") |
bsw/jbe@4 | 87 :exec() |
bsw/jbe@4 | 88 |
bsw/jbe@4 | 89 for i, record in ipairs(delegation_chain) do |
bsw/jbe@4 | 90 local style |
bsw/jbe@4 | 91 local overridden = record.overridden |
bsw/jbe@4 | 92 if record.scope_in then |
bsw@2 | 93 ui.container{ |
bsw/jbe@4 | 94 attr = { class = "delegation_info" }, |
bsw@2 | 95 content = function() |
bsw/jbe@4 | 96 if not overridden then |
bsw/jbe@4 | 97 ui.image{ |
bsw/jbe@4 | 98 attr = { class = "delegation_arrow" }, |
bsw/jbe@4 | 99 static = "delegation_arrow_vertical.jpg" |
bsw/jbe@4 | 100 } |
bsw/jbe@4 | 101 else |
bsw/jbe@4 | 102 ui.image{ |
bsw/jbe@4 | 103 attr = { class = "delegation_arrow delegation_arrow_overridden" }, |
bsw/jbe@4 | 104 static = "delegation_arrow_vertical.jpg" |
bsw/jbe@4 | 105 } |
bsw/jbe@4 | 106 end |
bsw/jbe@4 | 107 ui.container{ |
bsw/jbe@4 | 108 attr = { class = "delegation_scope" .. (overridden and " delegation_scope_overridden" or "") }, |
bsw/jbe@4 | 109 content = function() |
bsw/jbe@4 | 110 if record.scope_in == "global" then |
bsw/jbe@4 | 111 slot.put(_"Global delegation") |
bsw/jbe@4 | 112 elseif record.scope_in == "area" then |
bsw/jbe@4 | 113 slot.put(_"Area delegation") |
bsw/jbe@4 | 114 elseif record.scope_in == "issue" then |
bsw/jbe@4 | 115 slot.put(_"Issue delegation") |
bsw/jbe@4 | 116 end |
bsw/jbe@4 | 117 end |
bsw/jbe@4 | 118 } |
bsw/jbe@4 | 119 if i == 2 then |
bsw/jbe@4 | 120 ui.link{ |
bsw/jbe@4 | 121 attr = { class = "revoke" }, |
bsw/jbe@4 | 122 content = function() |
bsw/jbe@4 | 123 ui.image{ static = "icons/16/delete.png" } |
bsw/jbe@4 | 124 slot.put(_"Revoke") |
bsw/jbe@4 | 125 end, |
bsw/jbe@4 | 126 module = "delegation", |
bsw/jbe@4 | 127 action = "update", |
bsw/jbe@4 | 128 params = { issue_id = delegation.issue_id, area_id = delegation.area_id, delete = true }, |
bsw/jbe@4 | 129 routing = { |
bsw/jbe@4 | 130 default = { |
bsw/jbe@4 | 131 mode = "redirect", |
bsw/jbe@4 | 132 module = request.get_module(), |
bsw/jbe@4 | 133 view = request.get_view(), |
bsw/jbe@4 | 134 id = param.get_id_cgi(), |
bsw/jbe@4 | 135 params = param.get_all_cgi() |
bsw/jbe@4 | 136 } |
bsw/jbe@4 | 137 } |
bsw/jbe@4 | 138 } |
bsw@2 | 139 end |
bsw@2 | 140 end |
bsw@2 | 141 } |
bsw/jbe@4 | 142 end |
bsw/jbe@4 | 143 ui.container{ |
bsw/jbe@4 | 144 attr = { class = overridden and "delegation_overridden" or "" }, |
bsw/jbe@4 | 145 content = function() |
bsw/jbe@4 | 146 execute.view{ |
bsw/jbe@4 | 147 module = "member", |
bsw/jbe@4 | 148 view = "_show_thumb", |
bsw/jbe@4 | 149 params = { member = record } |
bsw@2 | 150 } |
bsw@2 | 151 end |
bsw/jbe@4 | 152 } |
bsw/jbe@4 | 153 if record.participation and not record.overridden then |
bsw/jbe@4 | 154 ui.container{ |
bsw/jbe@4 | 155 attr = { class = "delegation_participation" }, |
bsw/jbe@4 | 156 content = function() |
bsw/jbe@4 | 157 slot.put("<br /><br />-----> Participation<br />") |
bsw/jbe@4 | 158 end |
bsw/jbe@4 | 159 } |
bsw@2 | 160 end |
bsw/jbe@4 | 161 slot.put("<br style='clear: left'/>") |
bsw/jbe@4 | 162 end |
bsw/jbe@0 | 163 end |
bsw/jbe@4 | 164 } |
bsw/jbe@0 | 165 end |
bsw/jbe@4 | 166 ui.link{ |
bsw/jbe@4 | 167 content = function() |
bsw/jbe@4 | 168 ui.image{ static = "icons/16/table_go.png" } |
bsw/jbe@4 | 169 if scope == "global" and delegation then |
bsw/jbe@4 | 170 slot.put(_"Change global delegation") |
bsw/jbe@4 | 171 elseif scope == "global" and not delegation then |
bsw/jbe@4 | 172 slot.put(_"Set global delegation") |
bsw/jbe@4 | 173 elseif scope == "area" and delegation and delegation.area_id then |
bsw/jbe@4 | 174 slot.put(_"Change area delegation") |
bsw/jbe@4 | 175 elseif scope == "area" and not (delegation and delegation.area_id) then |
bsw/jbe@4 | 176 slot.put(_"Set area delegation") |
bsw/jbe@4 | 177 elseif scope == "issue" and delegation and delegation.issue_id then |
bsw/jbe@4 | 178 slot.put(_"Change issue delegation") |
bsw/jbe@4 | 179 elseif scope == "issue" and not (delegation and delegation.issue_id) then |
bsw/jbe@4 | 180 slot.put(_"Set issue delegation") |
bsw/jbe@4 | 181 end |
bsw/jbe@4 | 182 end, |
bsw/jbe@4 | 183 module = "delegation", |
bsw/jbe@4 | 184 view = "new", |
bsw/jbe@4 | 185 params = { |
bsw/jbe@4 | 186 area_id = area_id, |
bsw/jbe@4 | 187 issue_id = issue_id |
bsw/jbe@4 | 188 } |
bsw/jbe@4 | 189 } |
bsw/jbe@4 | 190 end |
bsw/jbe@4 | 191 } |
bsw/jbe@0 | 192 end) |