refactor: extract to method is_user_admin (#12570)

This commit is contained in:
Amit Miran
2021-01-18 09:15:25 +02:00
committed by GitHub
parent 377f70b987
commit 0f243c6ddd
2 changed files with 8 additions and 5 deletions

View File

@@ -24,7 +24,7 @@ from superset import db, security_manager
from superset.models.core import FavStar
from superset.models.dashboard import Dashboard
from superset.models.slice import Slice
from superset.views.base import BaseFilter, get_user_roles
from superset.views.base import BaseFilter, is_user_admin
from superset.views.base_api import BaseFavoriteFilter
@@ -69,8 +69,7 @@ class DashboardFilter(BaseFilter): # pylint: disable=too-few-public-methods
"""
def apply(self, query: Query, value: Any) -> Query:
user_roles = [role.name.lower() for role in list(get_user_roles())]
if "admin" in user_roles:
if is_user_admin():
return query
datasource_perms = security_manager.user_view_menu_names("datasource_access")

View File

@@ -246,6 +246,11 @@ def get_user_roles() -> List[Role]:
return g.user.roles
def is_user_admin() -> bool:
user_roles = [role.name.lower() for role in list(get_user_roles())]
return "admin" in user_roles
class BaseSupersetView(BaseView):
@staticmethod
def json_response(
@@ -500,8 +505,7 @@ def check_ownership(obj: Any, raise_if_false: bool = True) -> bool:
if raise_if_false:
raise security_exception
return False
roles = [r.name for r in get_user_roles()]
if "Admin" in roles:
if is_user_admin():
return True
scoped_session = db.create_scoped_session()
orig_obj = scoped_session.query(obj.__class__).filter_by(id=obj.id).first()