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

Reply via email to