You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jo...@apache.org on 2023/06/07 18:16:03 UTC

[superset] branch john-bodley--remove-slice-can-edit created (now db655d0d7d)

This is an automated email from the ASF dual-hosted git repository.

johnbodley pushed a change to branch john-bodley--remove-slice-can-edit
in repository https://gitbox.apache.org/repos/asf/superset.git


      at db655d0d7d chore: Remove unused sliceCanEdit logic

This branch includes the following new commits:

     new db655d0d7d chore: Remove unused sliceCanEdit logic

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[superset] 01/01: chore: Remove unused sliceCanEdit logic

Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

johnbodley pushed a commit to branch john-bodley--remove-slice-can-edit
in repository https://gitbox.apache.org/repos/asf/superset.git

commit db655d0d7dab6db009dc5892dcd098f77020f34d
Author: John Bodley <jo...@gmail.com>
AuthorDate: Wed Jun 7 10:49:47 2023 -0700

    chore: Remove unused sliceCanEdit logic
---
 superset-frontend/src/dashboard/actions/hydrate.js |  1 -
 .../components/SliceHeader/SliceHeader.test.tsx    | 10 -----
 .../src/dashboard/components/SliceHeader/index.tsx |  2 -
 .../SliceHeaderControls.test.tsx                   |  3 --
 .../components/SliceHeaderControls/index.tsx       |  1 -
 .../dashboard/components/gridComponents/Chart.jsx  |  3 --
 .../components/gridComponents/Chart.test.jsx       |  1 -
 .../src/dashboard/containers/Chart.jsx             |  1 -
 .../versions/2023-06-01_13-13_83e1abbe777f_.py     | 50 ++++++++++++++++++++++
 tests/integration_tests/security_tests.py          |  2 -
 10 files changed, 50 insertions(+), 24 deletions(-)

diff --git a/superset-frontend/src/dashboard/actions/hydrate.js b/superset-frontend/src/dashboard/actions/hydrate.js
index 9cd45eced4..6e1f168fe6 100644
--- a/superset-frontend/src/dashboard/actions/hydrate.js
+++ b/superset-frontend/src/dashboard/actions/hydrate.js
@@ -353,7 +353,6 @@ export const hydrateDashboard =
             roles,
           ),
           superset_can_csv: findPermission('can_csv', 'Superset', roles),
-          slice_can_edit: findPermission('can_slice', 'Superset', roles),
           common: {
             // legacy, please use state.common instead
             flash_messages: common?.flash_messages,
diff --git a/superset-frontend/src/dashboard/components/SliceHeader/SliceHeader.test.tsx b/superset-frontend/src/dashboard/components/SliceHeader/SliceHeader.test.tsx
index 570b7a7813..e16cab8daa 100644
--- a/superset-frontend/src/dashboard/components/SliceHeader/SliceHeader.test.tsx
+++ b/superset-frontend/src/dashboard/components/SliceHeader/SliceHeader.test.tsx
@@ -35,7 +35,6 @@ jest.mock('src/dashboard/components/SliceHeaderControls', () => ({
       data-updated-dttm={props.updatedDttm}
       data-superset-can-explore={props.supersetCanExplore}
       data-superset-can-csv={props.supersetCanCSV}
-      data-slice-can-edit={props.sliceCanEdit}
       data-component-id={props.componentId}
       data-dashboard-id={props.dashboardId}
       data-is-full-size={props.isFullSize}
@@ -114,7 +113,6 @@ const createProps = (overrides: any = {}) => ({
   sliceName: 'Vaccine Candidates per Phase',
   supersetCanExplore: true,
   supersetCanCSV: true,
-  sliceCanEdit: false,
   slice: {
     slice_id: 312,
     slice_url: '/explore/?form_data=%7B%22slice_id%22%3A%20312%7D',
@@ -205,8 +203,6 @@ test('Should render - default props', () => {
   delete props.supersetCanExplore;
   // @ts-ignore
   delete props.supersetCanCSV;
-  // @ts-ignore
-  delete props.sliceCanEdit;
 
   render(<SliceHeader {...props} />, { useRedux: true, useRouter: true });
   expect(screen.getByTestId('slice-header')).toBeInTheDocument();
@@ -247,8 +243,6 @@ test('Should render default props and "call" actions', () => {
   delete props.supersetCanExplore;
   // @ts-ignore
   delete props.supersetCanCSV;
-  // @ts-ignore
-  delete props.sliceCanEdit;
 
   render(<SliceHeader {...props} />, { useRedux: true, useRouter: true });
   userEvent.click(screen.getByTestId('toggleExpandSlice'));
@@ -424,10 +418,6 @@ test('Correct props to "SliceHeaderControls"', () => {
     'data-is-full-size',
     'false',
   );
-  expect(screen.getByTestId('SliceHeaderControls')).toHaveAttribute(
-    'data-slice-can-edit',
-    'false',
-  );
   expect(screen.getByTestId('SliceHeaderControls')).toHaveAttribute(
     'data-superset-can-csv',
     'true',
diff --git a/superset-frontend/src/dashboard/components/SliceHeader/index.tsx b/superset-frontend/src/dashboard/components/SliceHeader/index.tsx
index b4a706c70f..497832766a 100644
--- a/superset-frontend/src/dashboard/components/SliceHeader/index.tsx
+++ b/superset-frontend/src/dashboard/components/SliceHeader/index.tsx
@@ -147,7 +147,6 @@ const SliceHeader: FC<SliceHeaderProps> = ({
   supersetCanExplore = false,
   supersetCanShare = false,
   supersetCanCSV = false,
-  sliceCanEdit = false,
   exportFullCSV,
   slice,
   componentId,
@@ -269,7 +268,6 @@ const SliceHeader: FC<SliceHeaderProps> = ({
                 supersetCanExplore={supersetCanExplore}
                 supersetCanShare={supersetCanShare}
                 supersetCanCSV={supersetCanCSV}
-                sliceCanEdit={sliceCanEdit}
                 componentId={componentId}
                 dashboardId={dashboardId}
                 addSuccessToast={addSuccessToast}
diff --git a/superset-frontend/src/dashboard/components/SliceHeaderControls/SliceHeaderControls.test.tsx b/superset-frontend/src/dashboard/components/SliceHeaderControls/SliceHeaderControls.test.tsx
index d1a33da259..d2bc3e4bcc 100644
--- a/superset-frontend/src/dashboard/components/SliceHeaderControls/SliceHeaderControls.test.tsx
+++ b/superset-frontend/src/dashboard/components/SliceHeaderControls/SliceHeaderControls.test.tsx
@@ -86,7 +86,6 @@ const createProps = (viz_type = 'sunburst') =>
     updatedDttm: 1617213803803,
     supersetCanExplore: true,
     supersetCanCSV: true,
-    sliceCanEdit: false,
     componentId: 'CHART-fYo7IyvKZQ',
     dashboardId: 26,
     isFullSize: false,
@@ -136,8 +135,6 @@ test('Should render default props', () => {
   delete props.isCached;
   // @ts-ignore
   delete props.isExpanded;
-  // @ts-ignore
-  delete props.sliceCanEdit;
 
   renderWrapper(props);
   expect(
diff --git a/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx b/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx
index 72b0fb1aa0..3a0137cbf0 100644
--- a/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx
+++ b/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx
@@ -154,7 +154,6 @@ export interface SliceHeaderControlsProps {
   supersetCanExplore?: boolean;
   supersetCanShare?: boolean;
   supersetCanCSV?: boolean;
-  sliceCanEdit?: boolean;
 
   crossFiltersEnabled?: boolean;
 }
diff --git a/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx b/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx
index b16bd63f18..38b6c837e1 100644
--- a/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx
+++ b/superset-frontend/src/dashboard/components/gridComponents/Chart.jsx
@@ -78,7 +78,6 @@ const propTypes = {
   supersetCanExplore: PropTypes.bool.isRequired,
   supersetCanShare: PropTypes.bool.isRequired,
   supersetCanCSV: PropTypes.bool.isRequired,
-  sliceCanEdit: PropTypes.bool.isRequired,
   addSuccessToast: PropTypes.func.isRequired,
   addDangerToast: PropTypes.func.isRequired,
   ownState: PropTypes.object,
@@ -391,7 +390,6 @@ class Chart extends React.Component {
       supersetCanExplore,
       supersetCanShare,
       supersetCanCSV,
-      sliceCanEdit,
       addSuccessToast,
       addDangerToast,
       ownState,
@@ -458,7 +456,6 @@ class Chart extends React.Component {
           supersetCanExplore={supersetCanExplore}
           supersetCanShare={supersetCanShare}
           supersetCanCSV={supersetCanCSV}
-          sliceCanEdit={sliceCanEdit}
           componentId={componentId}
           dashboardId={dashboardId}
           filters={filters}
diff --git a/superset-frontend/src/dashboard/components/gridComponents/Chart.test.jsx b/superset-frontend/src/dashboard/components/gridComponents/Chart.test.jsx
index c892f7fff5..28a972069b 100644
--- a/superset-frontend/src/dashboard/components/gridComponents/Chart.test.jsx
+++ b/superset-frontend/src/dashboard/components/gridComponents/Chart.test.jsx
@@ -69,7 +69,6 @@ describe('Chart', () => {
     isExpanded: false,
     supersetCanExplore: false,
     supersetCanCSV: false,
-    sliceCanEdit: false,
   };
 
   function setup(overrideProps) {
diff --git a/superset-frontend/src/dashboard/containers/Chart.jsx b/superset-frontend/src/dashboard/containers/Chart.jsx
index b42b4950d5..1e50602b06 100644
--- a/superset-frontend/src/dashboard/containers/Chart.jsx
+++ b/superset-frontend/src/dashboard/containers/Chart.jsx
@@ -95,7 +95,6 @@ function mapStateToProps(
     supersetCanExplore: !!dashboardInfo.superset_can_explore,
     supersetCanShare: !!dashboardInfo.superset_can_share,
     supersetCanCSV: !!dashboardInfo.superset_can_csv,
-    sliceCanEdit: !!dashboardInfo.slice_can_edit,
     ownState: dataMask[id]?.ownState,
     filterState: dataMask[id]?.filterState,
     maxRows: common.conf.SQL_MAX_ROW,
diff --git a/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_.py b/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_.py
new file mode 100644
index 0000000000..129f858234
--- /dev/null
+++ b/superset/migrations/versions/2023-06-01_13-13_83e1abbe777f_.py
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+"""drop access_request
+
+Revision ID: 83e1abbe777f
+Revises: 4ea966691069
+Create Date: 2023-06-01 13:13:18.147362
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = "83e1abbe777f"
+down_revision = "4ea966691069"
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+    op.drop_table("access_request")
+
+
+def downgrade():
+    op.create_table(
+        "access_request",
+        sa.Column("created_on", sa.DateTime(), nullable=True),
+        sa.Column("changed_on", sa.DateTime(), nullable=True),
+        sa.Column("id", sa.Integer(), nullable=False),
+        sa.Column("datasource_type", sa.String(length=200), nullable=True),
+        sa.Column("datasource_id", sa.Integer(), nullable=True),
+        sa.Column("changed_by_fk", sa.Integer(), nullable=True),
+        sa.Column("created_by_fk", sa.Integer(), nullable=True),
+        sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"]),
+        sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"]),
+        sa.PrimaryKeyConstraint("id"),
+    )
diff --git a/tests/integration_tests/security_tests.py b/tests/integration_tests/security_tests.py
index c65f5a6dd8..34350a62bd 100644
--- a/tests/integration_tests/security_tests.py
+++ b/tests/integration_tests/security_tests.py
@@ -1364,7 +1364,6 @@ class TestRolePermission(SupersetTestCase):
         self.assertIn(("can_fave_dashboards", "Superset"), perm_set)
         self.assertIn(("can_fave_slices", "Superset"), perm_set)
         self.assertIn(("can_save_dash", "Superset"), perm_set)
-        self.assertIn(("can_slice", "Superset"), perm_set)
         self.assertIn(("can_explore_json", "Superset"), perm_set)
         self.assertIn(("can_userinfo", "UserDBModelView"), perm_set)
         self.assert_can_menu("Databases", perm_set)
@@ -1574,7 +1573,6 @@ class TestRolePermission(SupersetTestCase):
         self.assertIn(("can_fave_dashboards", "Superset"), gamma_perm_set)
         self.assertIn(("can_fave_slices", "Superset"), gamma_perm_set)
         self.assertIn(("can_save_dash", "Superset"), gamma_perm_set)
-        self.assertIn(("can_slice", "Superset"), gamma_perm_set)
         self.assertIn(("can_userinfo", "UserDBModelView"), gamma_perm_set)
 
     def test_views_are_secured(self):