liquid_feedback_frontend

annotate app/main/delegation/_show_box.lua @ 162:3d0b6f87d8e5

Fixed timeline search for queries without options except date(range)
author bsw
date Sat Oct 09 17:37:10 2010 +0200 (2010-10-09)
parents bf885faf3452
children 02aacb3dffe0
rev   line source
poelzi@111 1 function change_delegation(scope, area_id, issue, delegation, initiative_id)
bsw/jbe@19 2 local image
bsw/jbe@19 3 local text
bsw/jbe@19 4 if scope == "global" and delegation then
bsw/jbe@19 5 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 6 text = _"Change global delegation"
bsw/jbe@19 7 elseif scope == "global" and not delegation then
bsw/jbe@19 8 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 9 text = _"Set global delegation"
bsw/jbe@19 10 elseif scope == "area" and delegation and delegation.area_id then
bsw/jbe@19 11 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 12 text = _"Change area delegation"
bsw/jbe@19 13 elseif scope == "area" and not (delegation and delegation.area_id) then
bsw/jbe@19 14 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 15 text = _"Set area delegation"
bsw/jbe@19 16 elseif scope == "issue" then
bsw/jbe@19 17 if delegation and delegation.issue_id then
bsw/jbe@19 18 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 19 text = _"Change issue delegation"
bsw/jbe@19 20 elseif issue.state ~= "finished" and issue.state ~= "cancelled" then
bsw/jbe@19 21 image = { static = "icons/16/table_go.png" }
bsw/jbe@19 22 text = _"Set issue delegation"
bsw/jbe@19 23 end
bsw/jbe@19 24 end
bsw/jbe@19 25 ui.container{
bsw/jbe@19 26 attr = {
bsw/jbe@19 27 class = "change_delegation",
bsw/jbe@19 28 },
bsw/jbe@19 29 content = function()
bsw/jbe@19 30 ui.link{
bsw/jbe@19 31 image = image,
bsw/jbe@19 32 text = text,
bsw/jbe@19 33 module = "delegation",
bsw/jbe@19 34 view = "new",
bsw/jbe@19 35 params = {
bsw/jbe@19 36 issue_id = issue and issue.id or nil,
poelzi@111 37 initiative_id = initiative_id or nil,
bsw/jbe@19 38 area_id = area_id
bsw/jbe@19 39 },
bsw/jbe@19 40 }
bsw/jbe@19 41 if delegation then
bsw/jbe@19 42 ui.link{
bsw/jbe@19 43 image = { static = "icons/16/delete.png" },
bsw/jbe@19 44 text = _"Revoke",
bsw/jbe@19 45 module = "delegation",
bsw/jbe@19 46 action = "update",
bsw/jbe@19 47 params = { issue_id = delegation.issue_id, area_id = delegation.area_id, delete = true },
bsw/jbe@19 48 routing = {
bsw/jbe@19 49 default = {
bsw/jbe@19 50 mode = "redirect",
bsw/jbe@19 51 module = request.get_module(),
bsw/jbe@19 52 view = request.get_view(),
bsw/jbe@19 53 id = param.get_id_cgi(),
bsw/jbe@19 54 params = param.get_all_cgi()
bsw/jbe@19 55 }
bsw/jbe@19 56 }
bsw/jbe@19 57 }
bsw/jbe@19 58 end
bsw/jbe@19 59 end
bsw/jbe@19 60 }
bsw/jbe@19 61 end
bsw/jbe@5 62
bsw/jbe@19 63 local delegation
bsw/jbe@19 64 local area_id
bsw/jbe@19 65 local issue_id
poelzi@111 66 local initiative_id
bsw/jbe@19 67
bsw/jbe@19 68 local scope = "global"
bsw/jbe@5 69
bsw/jbe@19 70 if param.get("initiative_id", atom.integer) then
poelzi@111 71 initiative_id = param.get("initiative_id", atom.integer)
poelzi@111 72 issue_id = Initiative:by_id(initiative_id).issue_id
bsw/jbe@19 73 scope = "issue"
bsw/jbe@19 74 end
bsw/jbe@5 75
bsw/jbe@19 76 if param.get("issue_id", atom.integer) then
bsw/jbe@19 77 issue_id = param.get("issue_id", atom.integer)
bsw/jbe@19 78 scope = "issue"
bsw/jbe@19 79 end
bsw/jbe@19 80
bsw/jbe@19 81 if param.get("area_id", atom.integer) then
bsw/jbe@19 82 area_id = param.get("area_id", atom.integer)
bsw/jbe@19 83 scope = "area"
bsw/jbe@19 84 end
bsw/jbe@5 85
bsw/jbe@5 86
bsw/jbe@5 87
bsw/jbe@19 88 local delegation
bsw/jbe@19 89 local issue
poelzi@111 90
bsw/jbe@19 91 if issue_id then
bsw/jbe@19 92 issue = Issue:by_id(issue_id)
bsw/jbe@19 93 delegation = Delegation:by_pk(app.session.member.id, nil, issue_id)
bsw/jbe@19 94 if not delegation then
bsw/jbe@19 95 delegation = Delegation:by_pk(app.session.member.id, issue.area_id)
bsw/jbe@5 96 end
bsw/jbe@19 97 elseif area_id then
bsw/jbe@19 98 delegation = Delegation:by_pk(app.session.member.id, area_id)
bsw/jbe@19 99 end
bsw/jbe@5 100
bsw/jbe@19 101 if not delegation then
bsw/jbe@19 102 delegation = Delegation:by_pk(app.session.member.id)
bsw/jbe@19 103 end
bsw/jbe@19 104
bsw/jbe@19 105
bsw/jbe@19 106 slot.select("actions", function()
bsw/jbe@19 107
bsw/jbe@5 108 if delegation then
bsw/jbe@5 109 ui.container{
bsw/jbe@5 110 attr = { class = "delegation vote_info"},
bsw/jbe@5 111 content = function()
bsw@2 112 ui.container{
bsw@2 113 attr = {
bsw/jbe@4 114 title = _"Click for details",
bsw/jbe@4 115 class = "head head_active",
bsw@2 116 style = "cursor: pointer;",
bsw/jbe@4 117 onclick = "document.getElementById('delegation_content').style.display = 'block';"
bsw@2 118 },
bsw/jbe@4 119 content = function()
bsw/jbe@4 120 ui.image{
bsw/jbe@4 121 static = "icons/16/error.png"
bsw/jbe@4 122 }
bsw/jbe@4 123 if delegation.issue_id then
bsw/jbe@4 124 slot.put(_"Issue delegation active")
bsw/jbe@4 125 elseif delegation.area_id then
bsw/jbe@4 126 slot.put(_"Area wide delegation active")
bsw/jbe@4 127 else
bsw/jbe@4 128 slot.put(_"Global delegation active")
bsw/jbe@4 129 end
bsw/jbe@4 130 ui.image{
bsw/jbe@4 131 static = "icons/16/dropdown.png"
bsw/jbe@4 132 }
bsw/jbe@4 133 end
bsw@2 134 }
bsw/jbe@4 135 ui.container{
bsw/jbe@4 136 attr = { class = "content", id = "delegation_content" },
bsw/jbe@4 137 content = function()
bsw@2 138 ui.container{
bsw/jbe@4 139 attr = {
bsw/jbe@4 140 class = "close",
bsw/jbe@4 141 style = "cursor: pointer;",
bsw/jbe@4 142 onclick = "document.getElementById('delegation_content').style.display = 'none';"
bsw/jbe@4 143 },
bsw@2 144 content = function()
bsw/jbe@4 145 ui.image{ static = "icons/16/cross.png" }
bsw/jbe@4 146 end
bsw/jbe@4 147 }
bsw/jbe@4 148
bsw/jbe@4 149 local delegation_chain = Member:new_selector()
bsw/jbe@4 150 :add_field("delegation_chain.*")
bsw/jbe@4 151 :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 152 :add_order_by("index")
bsw/jbe@4 153 :exec()
bsw/jbe@4 154
bsw/jbe@19 155 if not issue or (issue.state ~= "finished" and issue.state ~= "cancelled") then
poelzi@111 156 change_delegation(scope, area_id, issue, delegation, initiative_id)
bsw/jbe@19 157 end
bsw/jbe@19 158
bsw/jbe@4 159 for i, record in ipairs(delegation_chain) do
bsw/jbe@4 160 local style
bsw/jbe@4 161 local overridden = record.overridden
bsw/jbe@4 162 if record.scope_in then
bsw@2 163 ui.container{
bsw/jbe@4 164 attr = { class = "delegation_info" },
bsw@2 165 content = function()
bsw/jbe@4 166 if not overridden then
bsw/jbe@4 167 ui.image{
bsw/jbe@4 168 attr = { class = "delegation_arrow" },
bsw/jbe@4 169 static = "delegation_arrow_vertical.jpg"
bsw/jbe@4 170 }
bsw/jbe@4 171 else
bsw/jbe@4 172 ui.image{
bsw/jbe@4 173 attr = { class = "delegation_arrow delegation_arrow_overridden" },
bsw/jbe@4 174 static = "delegation_arrow_vertical.jpg"
bsw/jbe@4 175 }
bsw/jbe@4 176 end
bsw/jbe@4 177 ui.container{
bsw/jbe@4 178 attr = { class = "delegation_scope" .. (overridden and " delegation_scope_overridden" or "") },
bsw/jbe@4 179 content = function()
bsw/jbe@4 180 if record.scope_in == "global" then
bsw/jbe@4 181 slot.put(_"Global delegation")
bsw/jbe@4 182 elseif record.scope_in == "area" then
bsw/jbe@4 183 slot.put(_"Area delegation")
bsw/jbe@4 184 elseif record.scope_in == "issue" then
bsw/jbe@4 185 slot.put(_"Issue delegation")
bsw/jbe@4 186 end
bsw/jbe@4 187 end
bsw/jbe@4 188 }
bsw@2 189 end
bsw@2 190 }
bsw/jbe@4 191 end
bsw/jbe@4 192 ui.container{
bsw/jbe@4 193 attr = { class = overridden and "delegation_overridden" or "" },
bsw/jbe@4 194 content = function()
bsw/jbe@4 195 execute.view{
bsw/jbe@4 196 module = "member",
bsw/jbe@4 197 view = "_show_thumb",
bsw/jbe@4 198 params = { member = record }
bsw@2 199 }
bsw@2 200 end
bsw/jbe@4 201 }
bsw/jbe@4 202 if record.participation and not record.overridden then
bsw/jbe@4 203 ui.container{
bsw/jbe@4 204 attr = { class = "delegation_participation" },
bsw/jbe@4 205 content = function()
bsw/jbe@19 206 slot.put(_"This member is participating, the rest of delegation chain is suspended while discussing")
bsw/jbe@4 207 end
bsw/jbe@4 208 }
bsw@2 209 end
bsw/jbe@4 210 slot.put("<br style='clear: left'/>")
bsw/jbe@4 211 end
bsw/jbe@0 212 end
bsw/jbe@4 213 }
bsw/jbe@0 214 end
bsw/jbe@5 215 }
bsw/jbe@19 216 else
poelzi@111 217 change_delegation(scope, area_id, issue, nil, initiative_id)
bsw/jbe@5 218 end
bsw/jbe@0 219 end)

Impressum / About Us