bsw@558: bsw@558: local tabs = { bsw@558: module = "index", bsw@558: view = "index" bsw@558: } bsw@558: bsw@558: local areas_selector = app.session.member:get_reference_selector("areas") bsw@558: tabs[#tabs+1] = { bsw@558: name = "areas", bsw@558: label = _"Home", bsw@558: icon = { static = "icons/16/package.png" }, bsw@558: module = "index", bsw@558: view = "_member_home", bsw@558: params = { areas_selector = areas_selector, member = app.session.member, for_member = true }, bsw@558: } bsw@558: bsw@558: tabs[#tabs+1] = { bsw@558: name = "timeline", bsw@558: label = _"Latest events", bsw@558: module = "member", bsw@558: view = "_event_list", bsw@558: params = { } bsw@558: } bsw@558: bsw@558: bsw@558: tabs[#tabs+1] = { bsw@558: name = "open", bsw@558: label = _"Open issues", bsw@558: module = "issue", bsw@558: view = "_list", bsw@558: link_params = { bsw@558: filter_interest = not show_as_homepage and "issue" or nil, bsw@558: }, bsw@558: params = { bsw@558: for_state = "open", bsw@558: issues_selector = Issue:new_selector() bsw@558: :add_where("issue.closed ISNULL") bsw@558: :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()") bsw@558: } bsw@558: } bsw@558: bsw@558: tabs[#tabs+1] = { bsw@558: name = "closed", bsw@558: label = _"Closed issues", bsw@558: module = "issue", bsw@558: view = "_list", bsw@558: link_params = { bsw@558: filter_interest = not show_as_homepage and "issue" or nil, bsw@558: }, bsw@558: params = { bsw@558: for_state = "closed", bsw@558: issues_selector = Issue:new_selector() bsw@558: :add_where("issue.closed NOTNULL") bsw@558: :add_order_by("issue.closed DESC") bsw@558: bsw@558: } bsw@558: } bsw@558: bsw@558: tabs[#tabs+1] = { bsw@558: name = "members", bsw@558: label = _"Members", bsw@558: module = 'member', bsw@558: view = '_list', bsw@558: params = { members_selector = Member:new_selector() } bsw@558: } bsw@558: bsw@558: bsw@558: ui.tabs(tabs)