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)

Impressum / About Us