liquid_feedback_frontend

diff app/main/member/show_tab.lua @ 414:699b9fa7bc36

Integrated new event system, splitted issues in open/closed, changed navigation
author bsw
date Sat Mar 10 16:57:49 2012 +0100 (2012-03-10)
parents bd6a8bb9f35c
children bbd0dcb5be63
line diff
     1.1 --- a/app/main/member/show_tab.lua	Sat Mar 10 13:54:14 2012 +0100
     1.2 +++ b/app/main/member/show_tab.lua	Sat Mar 10 16:57:49 2012 +0100
     1.3 @@ -169,7 +169,7 @@
     1.4    view = "_area_list",
     1.5    params = { areas_selector = areas_selector, member = member },
     1.6  }
     1.7 -
     1.8 +--[[
     1.9  local issues_selector = Issue:new_selector()
    1.10  tabs[#tabs+1] = {
    1.11    name = "issues",
    1.12 @@ -184,49 +184,84 @@
    1.13      filter_interest = (member.id ~= app.session.member_id) and "my" or nil,
    1.14    },
    1.15  }
    1.16 -  
    1.17 -local outgoing_delegations_selector = member:get_reference_selector("outgoing_delegations")
    1.18 -  :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
    1.19 -  :add_where("_member_showtab_issue.closed ISNULL")
    1.20 +--]]
    1.21 +if show_as_homepage then
    1.22 +  tabs[#tabs+1] = {
    1.23 +    name = "timeline",
    1.24 +    label = _"Events",
    1.25 +    module = "member",
    1.26 +    view = "_event_list",
    1.27 +    params = { }
    1.28 +  }
    1.29 +else
    1.30 +  tabs[#tabs+1] = {
    1.31 +    name = "timeline",
    1.32 +    label = _"Events",
    1.33 +    module = "event",
    1.34 +    view = "_list",
    1.35 +    params = { for_member = member }
    1.36 +  }
    1.37 +end
    1.38 +
    1.39  tabs[#tabs+1] = {
    1.40 -  name = "outgoing_delegations",
    1.41 -  label = _"Outgoing delegations" .. " (" .. tostring(outgoing_delegations_selector:count()) .. ")",
    1.42 -  icon = { static = "icons/16/table_go.png" },
    1.43 -  module = "delegation",
    1.44 +  name = "open",
    1.45 +  label = _"Open issues",
    1.46 +  module = "issue",
    1.47    view = "_list",
    1.48 -  params = { delegations_selector = outgoing_delegations_selector, outgoing = true },
    1.49 +  params = {
    1.50 +    for_state = "open",
    1.51 +    issues_selector = Issue:new_selector()
    1.52 +      :add_where("issue.closed ISNULL")
    1.53 +      :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.54 +  }
    1.55 +}
    1.56 +tabs[#tabs+1] = {
    1.57 +  name = "closed",
    1.58 +  label = _"Closed issues",
    1.59 +  module = "issue",
    1.60 +  view = "_list",
    1.61 +  params = {
    1.62 +    for_state = "closed",
    1.63 +    issues_selector = Issue:new_selector()
    1.64 +      :add_where("issue.closed NOTNULL")
    1.65 +      :add_order_by("issue.closed DESC")
    1.66 +
    1.67 +  }
    1.68  }
    1.69  
    1.70 -local incoming_delegations_selector = member:get_reference_selector("incoming_delegations")
    1.71 -  :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
    1.72 -  :add_where("_member_showtab_issue.closed ISNULL")
    1.73 -tabs[#tabs+1] = {
    1.74 -  name = "incoming_delegations",
    1.75 -  label = _"Incoming delegations" .. " (" .. tostring(incoming_delegations_selector:count()) .. ")",
    1.76 -  icon = { static = "icons/16/table_go.png" },
    1.77 -  module = "delegation",
    1.78 -  view = "_list",
    1.79 -  params = { delegations_selector = incoming_delegations_selector, incoming = true },
    1.80 -}
    1.81 +if not show_as_homepage then
    1.82 +  local outgoing_delegations_selector = member:get_reference_selector("outgoing_delegations")
    1.83 +    :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
    1.84 +    :add_where("_member_showtab_issue.closed ISNULL")
    1.85 +  tabs[#tabs+1] = {
    1.86 +    name = "outgoing_delegations",
    1.87 +    label = _"Outgoing delegations" .. " (" .. tostring(outgoing_delegations_selector:count()) .. ")",
    1.88 +    icon = { static = "icons/16/table_go.png" },
    1.89 +    module = "delegation",
    1.90 +    view = "_list",
    1.91 +    params = { delegations_selector = outgoing_delegations_selector, outgoing = true },
    1.92 +  }
    1.93  
    1.94 -local contacts_selector = member:get_reference_selector("saved_members"):add_where("public")
    1.95 -tabs[#tabs+1] = {
    1.96 -  name = "contacts",
    1.97 -  label = _"Contacts" .. " (" .. tostring(contacts_selector:count()) .. ")",
    1.98 -  icon = { static = "icons/16/book_edit.png" },
    1.99 -  module = "member",
   1.100 -  view = "_list",
   1.101 -  params = { members_selector = contacts_selector },
   1.102 -}
   1.103 +  local incoming_delegations_selector = member:get_reference_selector("incoming_delegations")
   1.104 +    :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
   1.105 +    :add_where("_member_showtab_issue.closed ISNULL")
   1.106 +  tabs[#tabs+1] = {
   1.107 +    name = "incoming_delegations",
   1.108 +    label = _"Incoming delegations" .. " (" .. tostring(incoming_delegations_selector:count()) .. ")",
   1.109 +    icon = { static = "icons/16/table_go.png" },
   1.110 +    module = "delegation",
   1.111 +    view = "_list",
   1.112 +    params = { delegations_selector = incoming_delegations_selector, incoming = true },
   1.113 +  }
   1.114  
   1.115 -if show_as_homepage then
   1.116 +  local contacts_selector = member:get_reference_selector("saved_members"):add_where("public")
   1.117    tabs[#tabs+1] = {
   1.118 -    name = "profile",
   1.119 -    label = _"Profile",
   1.120 -    icon = { static = "icons/16/application_form.png" },
   1.121 +    name = "contacts",
   1.122 +    label = _"Contacts" .. " (" .. tostring(contacts_selector:count()) .. ")",
   1.123 +    icon = { static = "icons/16/book_edit.png" },
   1.124      module = "member",
   1.125 -    view = "_profile",
   1.126 -    params = { member = member },
   1.127 +    view = "_list",
   1.128 +    params = { members_selector = contacts_selector },
   1.129    }
   1.130  end
   1.131  

Impressum / About Us