You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2022/06/28 17:24:09 UTC
[superset] 18/19: fix: bump FAB to 4.1.2 (#20483)
This is an automated email from the ASF dual-hosted git repository.
michaelsmolina pushed a commit to branch 2.0
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 63229dcf563abbdd23507c00d30b80456b0d1c7a
Author: Daniel Vaz Gaspar <da...@gmail.com>
AuthorDate: Fri Jun 24 19:13:48 2022 +0100
fix: bump FAB to 4.1.2 (#20483)
---
requirements/base.txt | 2 +-
setup.py | 2 +-
superset/connectors/sqla/views.py | 27 +++++++++++++++++++++++----
superset/views/access_requests.py | 4 +++-
superset/views/annotations.py | 4 +++-
superset/views/css_templates.py | 4 +++-
superset/views/log/views.py | 2 +-
superset/views/sql_lab.py | 4 +++-
8 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/requirements/base.txt b/requirements/base.txt
index df328bb61a..49d58920c8 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -86,7 +86,7 @@ flask==2.0.3
# flask-migrate
# flask-sqlalchemy
# flask-wtf
-flask-appbuilder==4.0.0
+flask-appbuilder==4.1.2
# via apache-superset
flask-babel==1.0.0
# via flask-appbuilder
diff --git a/setup.py b/setup.py
index ebd4eb6382..bf5e06fed6 100644
--- a/setup.py
+++ b/setup.py
@@ -77,7 +77,7 @@ setup(
"cryptography>=3.3.2",
"deprecation>=2.1.0, <2.2.0",
"flask>=2.0.0, <3.0.0",
- "flask-appbuilder>=4.0.0, <5.0.0",
+ "flask-appbuilder>=4.1.2, <5.0.0",
"flask-caching>=1.10.0",
"flask-compress",
"flask-talisman",
diff --git a/superset/connectors/sqla/views.py b/superset/connectors/sqla/views.py
index ef5afa5d05..47e5f216d5 100644
--- a/superset/connectors/sqla/views.py
+++ b/superset/connectors/sqla/views.py
@@ -26,7 +26,7 @@ from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder.security.decorators import has_access
from flask_babel import lazy_gettext as _
from wtforms.ext.sqlalchemy.fields import QuerySelectField
-from wtforms.validators import Regexp
+from wtforms.validators import DataRequired, Regexp
from superset import app, db
from superset.connectors.base.views import DatasourceModelView
@@ -47,7 +47,22 @@ from superset.views.base import (
logger = logging.getLogger(__name__)
-class TableColumnInlineView(CompactCRUDMixin, SupersetModelView):
+class SelectDataRequired(DataRequired): # pylint: disable=too-few-public-methods
+ """
+ Select required flag on the input field will not work well on Chrome
+ Console error:
+ An invalid form control with name='tables' is not focusable.
+
+ This makes a simple override to the DataRequired to be used specifically with
+ select fields
+ """
+
+ field_flags = ()
+
+
+class TableColumnInlineView(
+ CompactCRUDMixin, SupersetModelView
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(models.TableColumn)
# TODO TODO, review need for this on related_views
class_permission_name = "Dataset"
@@ -179,7 +194,9 @@ class TableColumnInlineView(CompactCRUDMixin, SupersetModelView):
edit_form_extra_fields = add_form_extra_fields
-class SqlMetricInlineView(CompactCRUDMixin, SupersetModelView):
+class SqlMetricInlineView(
+ CompactCRUDMixin, SupersetModelView
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(models.SqlMetric)
class_permission_name = "Dataset"
method_permission_name = MODEL_VIEW_RW_METHOD_PERMISSION_MAP
@@ -261,7 +278,9 @@ class RowLevelSecurityListWidget(
super().__init__(**kwargs)
-class RowLevelSecurityFiltersModelView(SupersetModelView, DeleteMixin):
+class RowLevelSecurityFiltersModelView(
+ SupersetModelView, DeleteMixin
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(models.RowLevelSecurityFilter)
list_widget = cast(SupersetListWidget, RowLevelSecurityListWidget)
diff --git a/superset/views/access_requests.py b/superset/views/access_requests.py
index 4d671f3086..e60662e36e 100644
--- a/superset/views/access_requests.py
+++ b/superset/views/access_requests.py
@@ -25,7 +25,9 @@ from superset.views.base import DeleteMixin, SupersetModelView
from superset.views.core import DAR
-class AccessRequestsModelView(SupersetModelView, DeleteMixin):
+class AccessRequestsModelView(
+ SupersetModelView, DeleteMixin
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(DAR)
include_route_methods = RouteMethod.CRUD_SET
list_columns = [
diff --git a/superset/views/annotations.py b/superset/views/annotations.py
index 87150c5cdd..69718f5f5a 100644
--- a/superset/views/annotations.py
+++ b/superset/views/annotations.py
@@ -47,7 +47,9 @@ class StartEndDttmValidator: # pylint: disable=too-few-public-methods
)
-class AnnotationModelView(SupersetModelView, CompactCRUDMixin):
+class AnnotationModelView(
+ SupersetModelView, CompactCRUDMixin
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(Annotation)
include_route_methods = RouteMethod.CRUD_SET | {"annotation"}
diff --git a/superset/views/css_templates.py b/superset/views/css_templates.py
index 74505e7109..597f9efbd4 100644
--- a/superset/views/css_templates.py
+++ b/superset/views/css_templates.py
@@ -25,7 +25,9 @@ from superset.superset_typing import FlaskResponse
from superset.views.base import DeleteMixin, SupersetModelView
-class CssTemplateModelView(SupersetModelView, DeleteMixin):
+class CssTemplateModelView(
+ SupersetModelView, DeleteMixin
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(models.CssTemplate)
include_route_methods = RouteMethod.CRUD_SET
diff --git a/superset/views/log/views.py b/superset/views/log/views.py
index 383109fc08..6cc8d2ffd6 100644
--- a/superset/views/log/views.py
+++ b/superset/views/log/views.py
@@ -26,7 +26,7 @@ from superset.views.base import SupersetModelView
from . import LogMixin
-class LogModelView(LogMixin, SupersetModelView):
+class LogModelView(LogMixin, SupersetModelView): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(models.Log)
include_route_methods = {RouteMethod.LIST, RouteMethod.SHOW}
class_permission_name = "Log"
diff --git a/superset/views/sql_lab.py b/superset/views/sql_lab.py
index 60732fbcd1..a75225da91 100644
--- a/superset/views/sql_lab.py
+++ b/superset/views/sql_lab.py
@@ -35,7 +35,9 @@ from .base import BaseSupersetView, DeleteMixin, json_success, SupersetModelView
logger = logging.getLogger(__name__)
-class SavedQueryView(SupersetModelView, DeleteMixin):
+class SavedQueryView(
+ SupersetModelView, DeleteMixin
+): # pylint: disable=too-many-ancestors
datamodel = SQLAInterface(SavedQuery)
include_route_methods = RouteMethod.CRUD_SET