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

Impressum / About Us