liquid_feedback_frontend

annotate app/main/area/show.lua @ 111:bf885faf3452

add initiator support in delegation

if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
author Daniel Poelzleithner <poelzi@poelzi.org>
date Mon Sep 20 20:32:04 2010 +0200 (2010-09-20)
parents 88ac7798b562
children 7d0f4721d2f3
rev   line source
bsw/jbe@0 1 local area = Area:new_selector():add_where{ "id = ?", param.get_id() }:single_object_mode():exec()
bsw/jbe@0 2
bsw/jbe@52 3 if config.feature_rss_enabled then
bsw/jbe@52 4 util.html_rss_head{ title = _"Initiatives in this area (last created first)", module = "initiative", view = "list_rss", params = { area_id = area.id } }
bsw/jbe@52 5 util.html_rss_head{ title = _"Initiatives in this area (last updated first)", module = "initiative", view = "list_rss", params = { area_id = area.id } }
bsw/jbe@52 6 end
bsw/jbe@52 7
bsw/jbe@0 8 slot.put_into("title", encode.html(_"Area '#{name}'":gsub("#{name}", area.name)))
bsw/jbe@0 9
bsw/jbe@0 10 ui.container{
bsw/jbe@0 11 attr = { class = "vertical"},
bsw/jbe@0 12 content = function()
bsw/jbe@0 13 ui.field.text{ value = area.description }
bsw/jbe@0 14 end
bsw/jbe@0 15 }
bsw/jbe@0 16
bsw@51 17 if app.session.member_id then
bsw@51 18 slot.select("actions", function()
bsw@51 19 ui.link{
bsw@51 20 content = function()
bsw@51 21 ui.image{ static = "icons/16/folder_add.png" }
bsw@51 22 slot.put(_"Create new issue")
bsw@51 23 end,
bsw@51 24 module = "initiative",
bsw@51 25 view = "new",
bsw@51 26 params = { area_id = area.id }
bsw@51 27 }
bsw@51 28 end)
bsw@51 29 end
bsw/jbe@0 30
bsw/jbe@4 31 util.help("area.show")
bsw/jbe@4 32
bsw@51 33 if app.session.member_id then
bsw@51 34 execute.view{
bsw@51 35 module = "membership",
bsw@51 36 view = "_show_box",
bsw@51 37 params = { area = area }
bsw@51 38 }
bsw/jbe@0 39
bsw@51 40 execute.view{
bsw@51 41 module = "delegation",
bsw@51 42 view = "_show_box",
bsw@51 43 params = { area_id = area.id }
bsw@51 44 }
bsw@51 45
bsw@51 46 end
bsw/jbe@0 47
bsw/jbe@19 48 --[[
bsw/jbe@19 49 for i, issue in ipairs(area.issues) do
bsw/jbe@19 50 local head_name = "issue_head_content_" .. tostring(issue.id)
bsw/jbe@19 51 local name = "issue_content_" .. tostring(issue.id)
bsw/jbe@19 52 local icon_name = "issue_icon_" .. tostring(issue.id)
bsw/jbe@19 53 ui.container{
bsw/jbe@19 54 attr = { class = "ui_tabs" },
bsw/jbe@0 55 content = function()
bsw/jbe@19 56 local onclick =
bsw/jbe@19 57 'if (ui_tabs_active["' .. name .. '"]) {' ..
bsw/jbe@19 58 'el=document.getElementById("' .. name .. '");' ..
bsw/jbe@19 59 'el.innerHTML="";' ..
bsw/jbe@19 60 'el.style.display="none";' ..
bsw/jbe@19 61 'ui_tabs_active["' .. name .. '"]=false' ..
bsw/jbe@19 62 '} else {' ..
bsw/jbe@19 63 'ui_tabs_active["' .. name .. '"]=true;' ..
bsw/jbe@19 64 'document.getElementById("' .. name .. '").style.display="block"; ' ..
bsw/jbe@19 65 'var hourglass_el = document.getElementById("' .. icon_name .. '");' ..
bsw/jbe@19 66 'var hourglass_src = hourglass_el.src;' ..
bsw/jbe@19 67 'hourglass_el.src = "' .. encode.url{ static = "icons/16/connect.png" } .. '";' ..
bsw/jbe@19 68 'partialMultiLoad(' ..
bsw/jbe@19 69 '{ trace: "trace", system_error: "system_error", ' .. name .. '_title: "title", ' .. name .. '_actions: "actions", ' .. name .. '_content: "default" },' ..
bsw/jbe@19 70 '{},' ..
bsw/jbe@19 71 '"error",' ..
bsw/jbe@19 72 '"' .. request.get_relative_baseurl() .. 'issue/show/' .. tostring(issue.id) .. '.html?&_webmcp_json_slots[]=title&_webmcp_json_slots[]=actions&_webmcp_json_slots[]=default&_webmcp_json_slots[]=trace&_webmcp_json_slots[]=system_error&dyn=1",' ..
bsw/jbe@19 73 '{},' ..
bsw/jbe@19 74 '{},' ..
bsw/jbe@19 75 'function() {' ..
bsw/jbe@19 76 'hourglass_el.src = hourglass_src;' ..
bsw/jbe@19 77 '},' ..
bsw/jbe@19 78 'function() {' ..
bsw/jbe@19 79 'hourglass_el.src = hourglass_src;' ..
bsw/jbe@19 80 '}' ..
bsw/jbe@19 81 '); ' ..
bsw/jbe@19 82 '}' ..
bsw/jbe@19 83 'return(false);'
bsw/jbe@19 84 ui.link{
bsw/jbe@19 85 attr = {
bsw/jbe@19 86 name = name,
bsw/jbe@19 87 class = "ui_tabs_accordeon_head",
bsw/jbe@19 88 id = head_name,
bsw/jbe@19 89 onclick = onclick,
bsw/jbe@19 90 },
bsw/jbe@19 91 module = "issue",
bsw/jbe@19 92 view = "show",
bsw/jbe@19 93 id = issue.id,
bsw/jbe@19 94 params = params,
bsw/jbe@19 95 anchor = name,
bsw/jbe@19 96 content = function()
bsw/jbe@19 97 ui.image{
bsw/jbe@19 98 attr = { id = icon_name },
bsw/jbe@19 99 static = "icons/16/script.png"
bsw/jbe@19 100 }
bsw/jbe@19 101 ui.container{
bsw/jbe@19 102 attr = { style = "float: right;" },
bsw/jbe@19 103 content = function()
bsw/jbe@19 104
bsw/jbe@19 105 end
bsw/jbe@19 106 }
bsw/jbe@19 107 slot.put(tostring(issue.id))
bsw/jbe@19 108 end
bsw/jbe@0 109 }
bsw/jbe@0 110 end
bsw/jbe@19 111 }
bsw/jbe@19 112
bsw/jbe@19 113 ui.container{
bsw/jbe@19 114 attr = {
bsw/jbe@19 115 id = name,
bsw/jbe@19 116 class = "ui_tabs_accordeon_content",
bsw/jbe@19 117 },
bsw/jbe@0 118 content = function()
bsw/jbe@19 119 ui.container{ attr = { id = name .. "_title", }, content = function() slot.put("&nbsp;") end }
bsw/jbe@19 120 ui.container{ attr = { id = name .. "_actions", }, content = function() slot.put("&nbsp;") end }
bsw/jbe@19 121 ui.container{ attr = { id = name .. "_content", }, content = function()
bsw/jbe@19 122 execute.view{
bsw/jbe@19 123 module = "initiative",
bsw/jbe@19 124 view = "_list",
bsw/jbe@19 125 params = {
bsw/jbe@19 126 issue = issue,
bsw/jbe@19 127 initiatives_selector = issue:get_reference_selector("initiatives"),
bsw/jbe@19 128 limit = 3,
bsw/jbe@19 129 per_page = 3,
bsw/jbe@19 130 no_sort = true,
bsw/jbe@19 131 }
bsw/jbe@19 132 }
bsw/jbe@19 133 end }
bsw/jbe@0 134 end
bsw/jbe@19 135 }
bsw/jbe@19 136
bsw/jbe@19 137 if config.user_tab_mode == "accordeon_all_expanded" then
bsw/jbe@19 138 ui.script{ script = 'document.getElementById("' .. head_name .. '").onclick();' }
bsw/jbe@19 139 end
bsw/jbe@19 140 end
bsw/jbe@19 141 --]]
bsw/jbe@19 142
bsw/jbe@19 143 execute.view{
bsw/jbe@19 144 module = "area",
bsw/jbe@19 145 view = "show_tab",
bsw/jbe@19 146 params = { area = area }
bsw/jbe@0 147 }
bsw/jbe@0 148

Impressum / About Us