bsw/jbe@19: local issue bsw/jbe@19: if request.get_json_request_slots() then bsw/jbe@19: issue = Issue:by_id(param.get("issue_id")) bsw/jbe@19: else bsw/jbe@19: issue = param.get("issue", "table") bsw/jbe@19: end bsw/jbe@19: bsw/jbe@19: local interested_members_selector = issue:get_reference_selector("interested_members_snapshot") bsw/jbe@19: :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id") bsw/jbe@19: :add_field("direct_interest_snapshot.weight") bsw/jbe@19: :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event") bsw/jbe@19: bsw/jbe@19: local delegations_selector = issue:get_reference_selector("delegations") bsw/jbe@19: bsw@51: local tabs = { bsw/jbe@19: module = "issue", bsw/jbe@19: view = "show_tab", bsw/jbe@19: static_params = { issue_id = issue.id }, bsw@51: } bsw@51: bsw@273: tabs[#tabs+1] = bsw@273: { bsw@273: name = "initiatives", bsw@273: label = _"Initiatives", bsw@273: icon = { static = "icons/16/script.png" }, bsw@273: module = "issue", bsw@273: view = "_list_initiatives", bsw@273: params = { bsw@273: issue = issue bsw@273: } bsw@273: } bsw@273: bsw@273: bsw@51: if app.session.member_id then bsw@51: tabs[#tabs+1] = bsw@51: { bsw@51: name = "interested_members", bsw@453: label = _"Members" .. " (" .. tostring(interested_members_selector:count()) .. ")" , bsw@51: icon = { static = "icons/16/eye.png" }, bsw@51: module = "member", bsw@51: view = "_list", bsw@51: params = { bsw@51: issue = issue, bsw@51: members_selector = interested_members_selector bsw@51: } bsw/jbe@19: } bsw@51: bsw@51: tabs[#tabs+1] = bsw@51: { bsw@51: name = "delegations", bsw@51: label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")" , bsw@51: icon = { static = "icons/16/table_go.png" }, bsw@51: module = "delegation", bsw@51: view = "_list", bsw@51: params = { delegations_selector = delegations_selector } bsw@51: } bsw@51: end bsw@51: bsw@51: tabs[#tabs+1] = bsw/jbe@19: { bsw/jbe@19: name = "details", bsw/jbe@19: label = _"Details", bsw/jbe@19: icon = { static = "icons/16/magnifier.png" }, bsw/jbe@19: module = "issue", bsw/jbe@19: view = "_details", bsw/jbe@19: params = { issue = issue } bsw@51: } bsw@51: bsw@51: ui.tabs(tabs) bsw/jbe@19: bsw/jbe@19: