| 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(" ") end }
 | 
| 
bsw/jbe@19
 | 
   120       ui.container{ attr = { id = name .. "_actions", }, content = function() slot.put(" ") 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 
 |