Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Scope): Correct issue where filters appear out of scope when sort is unchecked. #32115

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ export function useSelectFiltersInScope(filters: (Filter | Divider)[]) {
filters.forEach(filter => {
const filterInScope = isFilterInScope(filter);

if (filterInScope) {
if (filterInScope || filter.scope?.rootPath?.length) {
LevisNgigi marked this conversation as resolved.
Show resolved Hide resolved
filtersInScope.push(filter);
} else {
filtersOutOfScope.push(filter);
Expand Down
11 changes: 5 additions & 6 deletions superset/queries/saved_queries/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
import logging
from datetime import datetime
from io import BytesIO
from typing import Any
from typing import Any, List, Tuple
from zipfile import is_zipfile, ZipFile

from flask import g, request, Response, send_file
from flask import request, Response, send_file
from flask_appbuilder.api import expose, protect, rison, safe
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_babel import ngettext
Expand All @@ -44,7 +44,6 @@
from superset.queries.saved_queries.filters import (
SavedQueryAllTextFilter,
SavedQueryFavoriteFilter,
SavedQueryFilter,
SavedQueryTagIdFilter,
SavedQueryTagNameFilter,
)
Expand Down Expand Up @@ -81,7 +80,7 @@
resource_name = "saved_query"
allow_browser_login = True

base_filters = [["id", SavedQueryFilter, lambda: []]]
base_filters: List[Tuple[Any, ...]] = []

show_columns = [
"changed_on",
Expand Down Expand Up @@ -191,10 +190,10 @@
allowed_distinct_fields = {"catalog", "schema"}

def pre_add(self, item: SavedQuery) -> None:
item.user = g.user
pass

Check warning on line 193 in superset/queries/saved_queries/api.py

View check run for this annotation

Codecov / codecov/patch

superset/queries/saved_queries/api.py#L193

Added line #L193 was not covered by tests

def pre_update(self, item: SavedQuery) -> None:
self.pre_add(item)
pass

Check warning on line 196 in superset/queries/saved_queries/api.py

View check run for this annotation

Codecov / codecov/patch

superset/queries/saved_queries/api.py#L196

Added line #L196 was not covered by tests

@expose("/", methods=("DELETE",))
@protect()
Expand Down
7 changes: 2 additions & 5 deletions superset/queries/saved_queries/filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
# under the License.
from typing import Any

from flask import g
from flask_babel import lazy_gettext as _
from flask_sqlalchemy import BaseQuery
from sqlalchemy import or_
Expand Down Expand Up @@ -82,10 +81,8 @@
class SavedQueryFilter(BaseFilter): # pylint: disable=too-few-public-methods
def apply(self, query: BaseQuery, value: Any) -> BaseQuery:
"""
Filter saved queries to only those created by current user.
Allow access to all saved queries.

:returns: flask-sqlalchemy query
"""
return query.filter(
SavedQuery.created_by == g.user # pylint: disable=comparison-with-callable
)
return query

Check warning on line 88 in superset/queries/saved_queries/filters.py

View check run for this annotation

Codecov / codecov/patch

superset/queries/saved_queries/filters.py#L88

Added line #L88 was not covered by tests
LevisNgigi marked this conversation as resolved.
Show resolved Hide resolved
Loading