From 79d90050c8ad776a5d9d20dabdaeab3e1d533cb2 Mon Sep 17 00:00:00 2001 From: Elizabeth Esswein Date: Fri, 30 Dec 2022 12:30:02 -0500 Subject: [PATCH] fix method overwritten by merge --- .../routes/process_instances_controller.py | 34 +++---------------- 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py index 08ec712e5..3bb1b171a 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py @@ -565,39 +565,13 @@ def process_instance_reset( modified_process_model_identifier: str, spiff_step: int = 0, ) -> flask.wrappers.Response: - """Process_instance_reset.""" + """Reset a process instance to a particular step.""" process_instance = ProcessInstanceService().get_process_instance( process_instance_id ) - step_detail = ( - db.session.query(SpiffStepDetailsModel) - .filter( - SpiffStepDetailsModel.process_instance_id == process_instance.id, - SpiffStepDetailsModel.spiff_step == spiff_step, - ) - .first() - ) - if step_detail is not None and process_instance.bpmn_json is not None: - bpmn_json = json.loads(process_instance.bpmn_json) - bpmn_json["tasks"] = step_detail.task_json["tasks"] - bpmn_json["subprocesses"] = step_detail.task_json["subprocesses"] - process_instance.bpmn_json = json.dumps(bpmn_json) - - db.session.add(process_instance) - try: - db.session.commit() - except Exception as e: - db.session.rollback() - raise ApiError( - error_code="reset_process_instance_error", - message=f"Could not update the Instance. Original error is {e}", - ) from e - - return Response( - json.dumps(ProcessInstanceModelSchema().dump(process_instance)), - status=200, - mimetype="application/json", - ) + processor = ProcessInstanceProcessor(process_instance) + processor.reset_process(spiff_step) + return Response(json.dumps({"ok": True}), status=200, mimetype="application/json") def _get_process_instance(