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

michaelsmolina pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/superset.git

commit a368c8dd82cc166301f580d06007b3f61e8d91e9
Author: Beto Dealmeida <[email protected]>
AuthorDate: Fri Nov 3 13:06:31 2023 -0400

    fix: remove `update_charts_owners` (#25843)
---
 superset/daos/dashboard.py                      |  9 -----
 superset/dashboards/commands/create.py          |  1 -
 superset/dashboards/commands/update.py          |  1 -
 tests/integration_tests/dashboards/api_tests.py | 49 -------------------------
 4 files changed, 60 deletions(-)

diff --git a/superset/daos/dashboard.py b/superset/daos/dashboard.py
index 2c03711f25..8cbdfcd77d 100644
--- a/superset/daos/dashboard.py
+++ b/superset/daos/dashboard.py
@@ -181,15 +181,6 @@ class DashboardDAO(BaseDAO[Dashboard]):
             return not db.session.query(dashboard_query.exists()).scalar()
         return True
 
-    @staticmethod
-    def update_charts_owners(model: Dashboard, commit: bool = True) -> 
Dashboard:
-        owners = list(model.owners)
-        for slc in model.slices:
-            slc.owners = list(set(owners) | set(slc.owners))
-        if commit:
-            db.session.commit()
-        return model
-
     @classmethod
     def delete(cls, items: Dashboard | list[Dashboard], commit: bool = True) 
-> None:
         item_ids = [item.id for item in get_iterable(items)]
diff --git a/superset/dashboards/commands/create.py 
b/superset/dashboards/commands/create.py
index 98ecd6eb78..5d08a65f95 100644
--- a/superset/dashboards/commands/create.py
+++ b/superset/dashboards/commands/create.py
@@ -41,7 +41,6 @@ class CreateDashboardCommand(CreateMixin, BaseCommand):
         self.validate()
         try:
             dashboard = DashboardDAO.create(self._properties, commit=False)
-            dashboard = DashboardDAO.update_charts_owners(dashboard, 
commit=True)
         except DAOCreateFailedError as ex:
             logger.exception(ex.exception)
             raise DashboardCreateFailedError() from ex
diff --git a/superset/dashboards/commands/update.py 
b/superset/dashboards/commands/update.py
index c880eebe89..f9975c0dd2 100644
--- a/superset/dashboards/commands/update.py
+++ b/superset/dashboards/commands/update.py
@@ -58,7 +58,6 @@ class UpdateDashboardCommand(UpdateMixin, BaseCommand):
                     data=json.loads(self._properties.get("json_metadata", 
"{}")),
                     commit=False,
                 )
-            dashboard = DashboardDAO.update_charts_owners(dashboard, 
commit=False)
             db.session.commit()
         except DAOUpdateFailedError as ex:
             logger.exception(ex.exception)
diff --git a/tests/integration_tests/dashboards/api_tests.py 
b/tests/integration_tests/dashboards/api_tests.py
index f676e873b7..cc7bc109b4 100644
--- a/tests/integration_tests/dashboards/api_tests.py
+++ b/tests/integration_tests/dashboards/api_tests.py
@@ -1378,55 +1378,6 @@ class TestDashboardApi(SupersetTestCase, 
ApiOwnersTestCaseMixin, InsertChartMixi
         db.session.delete(model)
         db.session.commit()
 
-    @pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
-    def test_update_dashboard_chart_owners(self):
-        """
-        Dashboard API: Test update chart owners
-        """
-        user_alpha1 = self.create_user(
-            "alpha1", "password", "Alpha", email="[email protected]"
-        )
-        user_alpha2 = self.create_user(
-            "alpha2", "password", "Alpha", email="[email protected]"
-        )
-        admin = self.get_user("admin")
-        slices = []
-        slices.append(
-            db.session.query(Slice).filter_by(slice_name="Girl Name 
Cloud").first()
-        )
-        
slices.append(db.session.query(Slice).filter_by(slice_name="Trends").first())
-        
slices.append(db.session.query(Slice).filter_by(slice_name="Boys").first())
-
-        dashboard = self.insert_dashboard(
-            "title1",
-            "slug1",
-            [admin.id],
-            slices=slices,
-        )
-        self.login(username="admin")
-        uri = f"api/v1/dashboard/{dashboard.id}"
-        dashboard_data = {"owners": [user_alpha1.id, user_alpha2.id]}
-        rv = self.client.put(uri, json=dashboard_data)
-        self.assertEqual(rv.status_code, 200)
-
-        # verify slices owners include alpha1 and alpha2 users
-        slices_ids = [slice.id for slice in slices]
-        # Refetch Slices
-        slices = db.session.query(Slice).filter(Slice.id.in_(slices_ids)).all()
-        for slice in slices:
-            self.assertIn(user_alpha1, slice.owners)
-            self.assertIn(user_alpha2, slice.owners)
-            self.assertNotIn(admin, slice.owners)
-            # Revert owners on slice
-            slice.owners = []
-            db.session.commit()
-
-        # Rollback changes
-        db.session.delete(dashboard)
-        db.session.delete(user_alpha1)
-        db.session.delete(user_alpha2)
-        db.session.commit()
-
     @pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
     def test_update_dashboard_chart_owners_propagation(self):
         """

Reply via email to