Skip to content
Snippets Groups Projects
Commit bf8d91cb69ef authored by Arnaud Vergnet's avatar Arnaud Vergnet :sun_with_face:
Browse files

feat: delete linked data in hook

parent 6ad5b6834f8e
No related branches found
No related tags found
2 merge requests!42feat: delete linked data in hook,!41fix: Remove unused log parameter
Pipeline #231539 passed
...@@ -115,3 +115,49 @@ ...@@ -115,3 +115,49 @@
f"urn:rodolf:{procedure.eid}:ontology", f"urn:rodolf:{procedure.eid}:ontology",
file.download_file_name(), file.download_file_name(),
) )
class DeleteImportProcedureHook(Hook):
__regid__ = "rodolf.delete-import-procedure-hook"
__select__ = Hook.__select__ & is_instance("ImportProcedure")
events = ("before_delete_entity",)
def __call__(self):
# Delete linked ImportProcess, ImportRecipe and RqTask
self._cw.execute(
"DELETE ImportRecipe X WHERE PROCEDURE eid %(eid)s, PROCEDURE import_recipes X",
{"eid": self.entity.eid},
)
self._cw.execute(
"DELETE RqTask X WHERE PROCESS import_procedure %(eid)s, PROCESS rq_task X",
{"eid": self.entity.eid},
)
self._cw.execute(
"DELETE ImportProcess X WHERE X import_procedure %(eid)s",
{"eid": self.entity.eid},
)
self._cw.commit()
class DeleteDataServiceHook(Hook):
__regid__ = "rodolf.delete-data-service-hook"
__select__ = Hook.__select__ & is_instance("DataService")
events = ("before_delete_entity",)
def __call__(self):
# Delete linked ImportProcess, ImportRecipe and RqTask
self._cw.execute(
"DELETE RqTask X WHERE RECIPE dataservice %(eid)s, "
"PROCESS import_recipe RECIPE, PROCESS rq_task X",
{"eid": self.entity.eid},
)
self._cw.execute(
"DELETE ImportProcess X WHERE RECIPE dataservice %(eid)s, "
"PROCESS import_recipe RECIPE",
{"eid": self.entity.eid},
)
self._cw.execute(
"DELETE ImportRecipe X WHERE X dataservice %(eid)s",
{"eid": self.entity.eid},
)
self._cw.commit()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment