bsw/jbe@19: local member bsw/jbe@19: bsw/jbe@19: if request.get_json_request_slots() then bsw/jbe@19: member = Member:by_id(param.get("member_id")) bsw/jbe@19: else bsw/jbe@19: member = param.get("member", "table") bsw/jbe@19: end bsw/jbe@19: bsw/jbe@19: local areas_selector = member:get_reference_selector("areas") bsw/jbe@19: local issues_selector = member:get_reference_selector("issues") bsw/jbe@19: local supported_initiatives_selector = member:get_reference_selector("supported_initiatives") bsw/jbe@19: local initiated_initiatives_selector = member:get_reference_selector("initiated_initiatives"):add_where("initiator.accepted = true") bsw/jbe@19: local incoming_delegations_selector = member:get_reference_selector("incoming_delegations") bsw/jbe@19: :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id") bsw/jbe@19: :add_where("_member_showtab_issue.closed ISNULL") bsw/jbe@19: local outgoing_delegations_selector = member:get_reference_selector("outgoing_delegations") bsw/jbe@19: :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id") bsw/jbe@19: :add_where("_member_showtab_issue.closed ISNULL") bsw/jbe@19: local contacts_selector = member:get_reference_selector("saved_members"):add_where("public") bsw/jbe@19: bsw/jbe@19: ui.tabs{ bsw/jbe@19: module = "member", bsw/jbe@19: view = "show_tab", bsw/jbe@19: static_params = { member_id = member.id }, bsw/jbe@19: { bsw/jbe@19: name = "profile", bsw/jbe@19: label = _"Profile", bsw/jbe@19: icon = { static = "icons/16/application_form.png" }, bsw/jbe@19: module = "member", bsw/jbe@19: view = "_profile", bsw/jbe@19: params = { member = member }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "areas", bsw/jbe@19: label = _"Areas" .. " (" .. tostring(areas_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/package.png" }, bsw/jbe@19: module = "area", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { areas_selector = areas_selector }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "issues", bsw/jbe@19: label = _"Issues" .. " (" .. tostring(issues_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/folder.png" }, bsw/jbe@19: module = "issue", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { issues_selector = issues_selector }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "supported_initiatives", bsw/jbe@19: label = _"Supported initiatives" .. " (" .. tostring(supported_initiatives_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/thumb_up_green.png" }, bsw/jbe@19: module = "initiative", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { initiatives_selector = supported_initiatives_selector }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "initiatied_initiatives", bsw/jbe@19: label = _"Initiated initiatives" .. " (" .. tostring(initiated_initiatives_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/user_edit.png" }, bsw/jbe@19: module = "initiative", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { initiatives_selector = initiated_initiatives_selector }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "incoming_delegations", bsw/jbe@19: label = _"Incoming delegations" .. " (" .. tostring(incoming_delegations_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/table_go.png" }, bsw/jbe@19: module = "delegation", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { delegations_selector = incoming_delegations_selector, incoming = true }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "outgoing_delegations", bsw/jbe@19: label = _"Outgoing delegations" .. " (" .. tostring(outgoing_delegations_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/table_go.png" }, bsw/jbe@19: module = "delegation", bsw/jbe@19: view = "_list", bsw@24: params = { delegations_selector = outgoing_delegations_selector, outgoing = true }, bsw/jbe@19: }, bsw/jbe@19: { bsw/jbe@19: name = "contacts", bsw/jbe@19: label = _"Contacts" .. " (" .. tostring(contacts_selector:count()) .. ")", bsw/jbe@19: icon = { static = "icons/16/book_edit.png" }, bsw/jbe@19: module = "member", bsw/jbe@19: view = "_list", bsw/jbe@19: params = { members_selector = contacts_selector }, bsw/jbe@19: } bsw/jbe@19: }