liquid_feedback_frontend
changeset 869:ef266d313c85
Fixed public view of areas (show events)
author | bsw |
---|---|
date | Fri Aug 17 20:43:59 2012 +0200 (2012-08-17) |
parents | 2aa8c9f925f4 |
children | cf0b64e101d9 |
files | app/main/area/show.lua app/main/area/show_tab.lua |
line diff
1.1 --- a/app/main/area/show.lua Fri Aug 17 20:40:51 2012 +0200 1.2 +++ b/app/main/area/show.lua Fri Aug 17 20:43:59 2012 +0200 1.3 @@ -17,24 +17,74 @@ 1.4 end 1.5 } 1.6 1.7 +local open_issues_selector = area:get_reference_selector("issues") 1.8 + :add_where("issue.closed ISNULL") 1.9 + :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()") 1.10 1.11 +local closed_issues_selector = area:get_reference_selector("issues") 1.12 + :add_where("issue.closed NOTNULL") 1.13 + :add_order_by("issue.closed DESC") 1.14 1.15 +local members_selector = area:get_reference_selector("members"):add_where("member.active") 1.16 +local delegations_selector = area:get_reference_selector("delegations") 1.17 + :join("member", "truster", "truster.id = delegation.truster_id AND truster.active") 1.18 + :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active") 1.19 1.20 -if app.session.member then 1.21 - execute.view{ 1.22 - module = "area", 1.23 - view = "show_tab", 1.24 - params = { area = area } 1.25 +local tabs = { 1.26 + module = "area", 1.27 + view = "show_tab", 1.28 + static_params = { area_id = area.id }, 1.29 +} 1.30 + 1.31 +tabs[#tabs+1] = { 1.32 + name = "timeline", 1.33 + label = _"Latest events", 1.34 + module = "event", 1.35 + view = "_list", 1.36 + params = { for_area = area } 1.37 +} 1.38 + 1.39 +tabs[#tabs+1] = { 1.40 + name = "open", 1.41 + label = _"Open issues", 1.42 + module = "issue", 1.43 + view = "_list", 1.44 + params = { 1.45 + for_state = "open", 1.46 + issues_selector = open_issues_selector, for_area = true 1.47 } 1.48 -else 1.49 - execute.view{ 1.50 - module = "issue", 1.51 - view = "_list", 1.52 - params = { 1.53 - issues_selector = area:get_reference_selector("issues"), 1.54 - filter = cgi.params["filter"], 1.55 - filter_voting = param.get("filter_voting"), 1.56 - for_area_list = true 1.57 +} 1.58 +tabs[#tabs+1] = { 1.59 + name = "closed", 1.60 + label = _"Closed issues", 1.61 + module = "issue", 1.62 + view = "_list", 1.63 + params = { 1.64 + for_state = "closed", 1.65 + issues_selector = closed_issues_selector, for_area = true 1.66 + } 1.67 +} 1.68 + 1.69 +if app.session.member_id then 1.70 + tabs[#tabs+1] = 1.71 + { 1.72 + name = "members", 1.73 + label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")", 1.74 + icon = { static = "icons/16/group.png" }, 1.75 + module = "member", 1.76 + view = "_list", 1.77 + params = { members_selector = members_selector } 1.78 } 1.79 - } 1.80 + 1.81 + tabs[#tabs+1] = 1.82 + { 1.83 + name = "delegations", 1.84 + label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")", 1.85 + icon = { static = "icons/16/table_go.png" }, 1.86 + module = "delegation", 1.87 + view = "_list", 1.88 + params = { delegations_selector = delegations_selector } 1.89 + } 1.90 end 1.91 + 1.92 +ui.tabs(tabs)
2.1 --- a/app/main/area/show_tab.lua Fri Aug 17 20:40:51 2012 +0200 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,73 +0,0 @@ 2.4 -local area = param.get("area", "table") or Area:by_id(param.get_id()) 2.5 - 2.6 -local open_issues_selector = area:get_reference_selector("issues") 2.7 - :add_where("issue.closed ISNULL") 2.8 - :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()") 2.9 - 2.10 -local closed_issues_selector = area:get_reference_selector("issues") 2.11 - :add_where("issue.closed NOTNULL") 2.12 - :add_order_by("issue.closed DESC") 2.13 - 2.14 -local members_selector = area:get_reference_selector("members"):add_where("member.active") 2.15 -local delegations_selector = area:get_reference_selector("delegations") 2.16 - :join("member", "truster", "truster.id = delegation.truster_id AND truster.active") 2.17 - :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active") 2.18 - 2.19 -local tabs = { 2.20 - module = "area", 2.21 - view = "show_tab", 2.22 - static_params = { area_id = area.id }, 2.23 -} 2.24 - 2.25 -tabs[#tabs+1] = { 2.26 - name = "timeline", 2.27 - label = _"Latest events", 2.28 - module = "event", 2.29 - view = "_list", 2.30 - params = { for_area = area } 2.31 -} 2.32 - 2.33 -tabs[#tabs+1] = { 2.34 - name = "open", 2.35 - label = _"Open issues", 2.36 - module = "issue", 2.37 - view = "_list", 2.38 - params = { 2.39 - for_state = "open", 2.40 - issues_selector = open_issues_selector, for_area = true 2.41 - } 2.42 -} 2.43 -tabs[#tabs+1] = { 2.44 - name = "closed", 2.45 - label = _"Closed issues", 2.46 - module = "issue", 2.47 - view = "_list", 2.48 - params = { 2.49 - for_state = "closed", 2.50 - issues_selector = closed_issues_selector, for_area = true 2.51 - } 2.52 -} 2.53 - 2.54 -if app.session.member_id then 2.55 - tabs[#tabs+1] = 2.56 - { 2.57 - name = "members", 2.58 - label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")", 2.59 - icon = { static = "icons/16/group.png" }, 2.60 - module = "member", 2.61 - view = "_list", 2.62 - params = { members_selector = members_selector } 2.63 - } 2.64 - 2.65 - tabs[#tabs+1] = 2.66 - { 2.67 - name = "delegations", 2.68 - label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")", 2.69 - icon = { static = "icons/16/table_go.png" }, 2.70 - module = "delegation", 2.71 - view = "_list", 2.72 - params = { delegations_selector = delegations_selector } 2.73 - } 2.74 -end 2.75 - 2.76 -ui.tabs(tabs)