This is an automated email from the ASF dual-hosted git repository.
christine pushed a commit to branch lyftga
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/lyftga by this push:
new fd56716 Revert PR #6933 (#7162)
fd56716 is described below
commit fd56716a90cd695339343f7504a68f24cdadcbc8
Author: Beto Dealmeida <[email protected]>
AuthorDate: Thu Mar 28 16:49:29 2019 -0700
Revert PR #6933 (#7162)
---
superset/views/core.py | 34 +++++-----------------------------
1 file changed, 5 insertions(+), 29 deletions(-)
diff --git a/superset/views/core.py b/superset/views/core.py
index 794bcb3..3fa3771 100755
--- a/superset/views/core.py
+++ b/superset/views/core.py
@@ -27,7 +27,7 @@ from urllib import parse
from flask import (
abort, flash, g, Markup, redirect, render_template, request, Response,
url_for,
)
-from flask_appbuilder import expose, Model, SimpleFormView
+from flask_appbuilder import expose, SimpleFormView
from flask_appbuilder.actions import action
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder.security.decorators import has_access, has_access_api
@@ -36,8 +36,7 @@ from flask_babel import lazy_gettext as _
import pandas as pd
import simplejson as json
import sqlalchemy as sqla
-from sqlalchemy import (
- and_, Column, create_engine, ForeignKey, Integer, MetaData, or_, Table,
update)
+from sqlalchemy import and_, create_engine, MetaData, or_, update
from sqlalchemy.engine.url import make_url
from sqlalchemy.exc import IntegrityError
from werkzeug.routing import BaseConverter
@@ -101,14 +100,6 @@ def is_owner(obj, user):
return obj and user in obj.owners
-SQLTable = Table(
- 'tables',
- Model.metadata, # pylint: disable=no-member
- Column('id', Integer, primary_key=True),
- Column('database_id', Integer, ForeignKey('dbs.id')),
- extend_existing=True)
-
-
class DatabaseFilter(SupersetFilter):
def apply(self, query, func): # noqa
if security_manager.all_database_access():
@@ -121,19 +112,9 @@ class SliceFilter(SupersetFilter):
def apply(self, query, func): # noqa
if security_manager.all_datasource_access():
return query
-
+ perms = self.get_view_menus('datasource_access')
# TODO(bogdan): add `schema_access` support here
- datasource_perms = self.get_view_menus('datasource_access')
- database_perms = self.get_view_menus('database_access')
- query = (
- query.outerjoin(SQLTable, self.model.datasource_id ==
SQLTable.c.id)
- .outerjoin(models.Database, models.Database.id ==
SQLTable.c.database_id)
- .filter(or_(
- models.Database.perm.in_(database_perms),
- self.model.perm.in_(datasource_perms),
- ))
- )
- return query
+ return query.filter(self.model.perm.in_(perms))
class DashboardFilter(SupersetFilter):
@@ -151,12 +132,7 @@ class DashboardFilter(SupersetFilter):
slice_ids_qry = (
db.session
.query(Slice.id)
- .outerjoin(SQLTable, Slice.datasource_id == SQLTable.c.id)
- .outerjoin(models.Database, models.Database.id ==
SQLTable.c.database_id)
- .filter(or_(
- models.Database.perm.in_(datasource_perms),
- Slice.perm.in_(datasource_perms),
- ))
+ .filter(Slice.perm.in_(datasource_perms))
)
owner_ids_qry = (
db.session