# HG changeset patch # User bsw # Date 1345229039 -7200 # Node ID ef266d313c85336d97a9ba5910c27f2c58dde1f9 # Parent 2aa8c9f925f4d372b66fbb3fb486c16cf80bbd69 Fixed public view of areas (show events) diff -r 2aa8c9f925f4 -r ef266d313c85 app/main/area/show.lua --- a/app/main/area/show.lua Fri Aug 17 20:40:51 2012 +0200 +++ b/app/main/area/show.lua Fri Aug 17 20:43:59 2012 +0200 @@ -17,24 +17,74 @@ end } +local open_issues_selector = area:get_reference_selector("issues") + :add_where("issue.closed ISNULL") + :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()") +local closed_issues_selector = area:get_reference_selector("issues") + :add_where("issue.closed NOTNULL") + :add_order_by("issue.closed DESC") +local members_selector = area:get_reference_selector("members"):add_where("member.active") +local delegations_selector = area:get_reference_selector("delegations") + :join("member", "truster", "truster.id = delegation.truster_id AND truster.active") + :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active") -if app.session.member then - execute.view{ - module = "area", - view = "show_tab", - params = { area = area } +local tabs = { + module = "area", + view = "show_tab", + static_params = { area_id = area.id }, +} + +tabs[#tabs+1] = { + name = "timeline", + label = _"Latest events", + module = "event", + view = "_list", + params = { for_area = area } +} + +tabs[#tabs+1] = { + name = "open", + label = _"Open issues", + module = "issue", + view = "_list", + params = { + for_state = "open", + issues_selector = open_issues_selector, for_area = true } -else - execute.view{ - module = "issue", - view = "_list", - params = { - issues_selector = area:get_reference_selector("issues"), - filter = cgi.params["filter"], - filter_voting = param.get("filter_voting"), - for_area_list = true +} +tabs[#tabs+1] = { + name = "closed", + label = _"Closed issues", + module = "issue", + view = "_list", + params = { + for_state = "closed", + issues_selector = closed_issues_selector, for_area = true + } +} + +if app.session.member_id then + tabs[#tabs+1] = + { + name = "members", + label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")", + icon = { static = "icons/16/group.png" }, + module = "member", + view = "_list", + params = { members_selector = members_selector } } - } + + tabs[#tabs+1] = + { + name = "delegations", + label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")", + icon = { static = "icons/16/table_go.png" }, + module = "delegation", + view = "_list", + params = { delegations_selector = delegations_selector } + } end + +ui.tabs(tabs) diff -r 2aa8c9f925f4 -r ef266d313c85 app/main/area/show_tab.lua --- a/app/main/area/show_tab.lua Fri Aug 17 20:40:51 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -local area = param.get("area", "table") or Area:by_id(param.get_id()) - -local open_issues_selector = area:get_reference_selector("issues") - :add_where("issue.closed ISNULL") - :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()") - -local closed_issues_selector = area:get_reference_selector("issues") - :add_where("issue.closed NOTNULL") - :add_order_by("issue.closed DESC") - -local members_selector = area:get_reference_selector("members"):add_where("member.active") -local delegations_selector = area:get_reference_selector("delegations") - :join("member", "truster", "truster.id = delegation.truster_id AND truster.active") - :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active") - -local tabs = { - module = "area", - view = "show_tab", - static_params = { area_id = area.id }, -} - -tabs[#tabs+1] = { - name = "timeline", - label = _"Latest events", - module = "event", - view = "_list", - params = { for_area = area } -} - -tabs[#tabs+1] = { - name = "open", - label = _"Open issues", - module = "issue", - view = "_list", - params = { - for_state = "open", - issues_selector = open_issues_selector, for_area = true - } -} -tabs[#tabs+1] = { - name = "closed", - label = _"Closed issues", - module = "issue", - view = "_list", - params = { - for_state = "closed", - issues_selector = closed_issues_selector, for_area = true - } -} - -if app.session.member_id then - tabs[#tabs+1] = - { - name = "members", - label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")", - icon = { static = "icons/16/group.png" }, - module = "member", - view = "_list", - params = { members_selector = members_selector } - } - - tabs[#tabs+1] = - { - name = "delegations", - label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")", - icon = { static = "icons/16/table_go.png" }, - module = "delegation", - view = "_list", - params = { delegations_selector = delegations_selector } - } -end - -ui.tabs(tabs)