Exemplo n.º 1
0
    def run(self) -> Model:
        self.validate()
        try:
            dataset = DatasetDAO.delete(self._model, commit=False)

            view_menu = (security_manager.find_view_menu(
                self._model.get_perm()) if self._model else None)

            if view_menu:
                permission_views = (db.session.query(
                    security_manager.permissionview_model).filter_by(
                        view_menu=view_menu).all())

                for permission_view in permission_views:
                    db.session.delete(permission_view)
                if view_menu:
                    db.session.delete(view_menu)
            else:
                if not view_menu:
                    logger.error(
                        "Could not find the data access permission for the dataset"
                    )
            db.session.commit()
        except (SQLAlchemyError, DAODeleteFailedError) as ex:
            logger.exception(ex)
            db.session.rollback()
            raise DatasetDeleteFailedError()
        return dataset
Exemplo n.º 2
0
 def run(self):
     self.validate()
     try:
         dataset = DatasetDAO.delete(self._model)
     except DeleteFailedError as e:
         logger.exception(e.exception)
         raise DatasetDeleteFailedError()
     return dataset
Exemplo n.º 3
0
 def run(self) -> Model:
     self.validate()
     try:
         dataset = DatasetDAO.delete(self._model, commit=False)
         security_manager.del_permission_view_menu("datasource_access",
                                                   dataset.get_perm())
         db.session.commit()
     except (SQLAlchemyError, DAODeleteFailedError) as e:
         logger.exception(e)
         db.session.rollback()
         raise DatasetDeleteFailedError()
     return dataset