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