mirror of
https://github.com/sartography/spiff-arena.git
synced 2025-02-26 08:05:23 +00:00
rename TaskModelException to TaskModelError
This commit is contained in:
parent
956ba2955b
commit
17070332c1
@ -26,7 +26,7 @@ from spiffworkflow_backend.services.authentication_service import NotAuthorizedE
|
|||||||
from spiffworkflow_backend.services.authentication_service import TokenInvalidError
|
from spiffworkflow_backend.services.authentication_service import TokenInvalidError
|
||||||
from spiffworkflow_backend.services.authentication_service import TokenNotProvidedError
|
from spiffworkflow_backend.services.authentication_service import TokenNotProvidedError
|
||||||
from spiffworkflow_backend.services.authentication_service import UserNotLoggedInError
|
from spiffworkflow_backend.services.authentication_service import UserNotLoggedInError
|
||||||
from spiffworkflow_backend.services.task_service import TaskModelException
|
from spiffworkflow_backend.services.task_service import TaskModelError
|
||||||
from spiffworkflow_backend.services.task_service import TaskService
|
from spiffworkflow_backend.services.task_service import TaskService
|
||||||
|
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ class ApiError(Exception):
|
|||||||
if task_trace:
|
if task_trace:
|
||||||
instance.task_trace = task_trace
|
instance.task_trace = task_trace
|
||||||
else:
|
else:
|
||||||
instance.task_trace = TaskModelException.get_task_trace(task_model)
|
instance.task_trace = TaskModelError.get_task_trace(task_model)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
spec_reference = TaskService.get_spec_reference_from_bpmn_process(task_model.bpmn_process)
|
spec_reference = TaskService.get_spec_reference_from_bpmn_process(task_model.bpmn_process)
|
||||||
@ -198,7 +198,7 @@ class ApiError(Exception):
|
|||||||
error_line=exp.error_line,
|
error_line=exp.error_line,
|
||||||
task_trace=exp.task_trace,
|
task_trace=exp.task_trace,
|
||||||
)
|
)
|
||||||
elif isinstance(exp, TaskModelException):
|
elif isinstance(exp, TaskModelError):
|
||||||
# Note that WorkflowDataExceptions are also WorkflowTaskExceptions
|
# Note that WorkflowDataExceptions are also WorkflowTaskExceptions
|
||||||
return ApiError.from_task_model(
|
return ApiError.from_task_model(
|
||||||
error_code,
|
error_code,
|
||||||
|
@ -68,7 +68,7 @@ from spiffworkflow_backend.services.process_instance_service import (
|
|||||||
from spiffworkflow_backend.services.process_instance_tmp_service import ProcessInstanceTmpService
|
from spiffworkflow_backend.services.process_instance_tmp_service import ProcessInstanceTmpService
|
||||||
from spiffworkflow_backend.services.process_model_service import ProcessModelService
|
from spiffworkflow_backend.services.process_model_service import ProcessModelService
|
||||||
from spiffworkflow_backend.services.spec_file_service import SpecFileService
|
from spiffworkflow_backend.services.spec_file_service import SpecFileService
|
||||||
from spiffworkflow_backend.services.task_service import TaskModelException
|
from spiffworkflow_backend.services.task_service import TaskModelError
|
||||||
from spiffworkflow_backend.services.task_service import TaskService
|
from spiffworkflow_backend.services.task_service import TaskService
|
||||||
|
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ def _render_instructions_for_end_user(task_model: TaskModel, extensions: Optiona
|
|||||||
instructions = _render_jinja_template(extensions["instructionsForEndUser"], task_model)
|
instructions = _render_jinja_template(extensions["instructionsForEndUser"], task_model)
|
||||||
extensions["instructionsForEndUser"] = instructions
|
extensions["instructionsForEndUser"] = instructions
|
||||||
return instructions
|
return instructions
|
||||||
except TaskModelException as wfe:
|
except TaskModelError as wfe:
|
||||||
wfe.add_note("Failed to render instructions for end user.")
|
wfe.add_note("Failed to render instructions for end user.")
|
||||||
raise ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe) from wfe
|
raise ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe) from wfe
|
||||||
return ""
|
return ""
|
||||||
@ -669,7 +669,7 @@ def _prepare_form_data(form_file: str, task_model: TaskModel, process_model: Pro
|
|||||||
status_code=400,
|
status_code=400,
|
||||||
)
|
)
|
||||||
) from exception
|
) from exception
|
||||||
except TaskModelException as wfe:
|
except TaskModelError as wfe:
|
||||||
wfe.add_note(f"Error in Json Form File '{form_file}'")
|
wfe.add_note(f"Error in Json Form File '{form_file}'")
|
||||||
api_error = ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe)
|
api_error = ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe)
|
||||||
api_error.file_name = form_file
|
api_error.file_name = form_file
|
||||||
@ -683,7 +683,7 @@ def _render_jinja_template(unprocessed_template: str, task_model: TaskModel) ->
|
|||||||
template = jinja_environment.from_string(unprocessed_template)
|
template = jinja_environment.from_string(unprocessed_template)
|
||||||
return template.render(**(task_model.get_data()))
|
return template.render(**(task_model.get_data()))
|
||||||
except jinja2.exceptions.TemplateError as template_error:
|
except jinja2.exceptions.TemplateError as template_error:
|
||||||
wfe = TaskModelException(str(template_error), task_model=task_model, exception=template_error)
|
wfe = TaskModelError(str(template_error), task_model=task_model, exception=template_error)
|
||||||
if isinstance(template_error, TemplateSyntaxError):
|
if isinstance(template_error, TemplateSyntaxError):
|
||||||
wfe.line_number = template_error.lineno
|
wfe.line_number = template_error.lineno
|
||||||
wfe.error_line = template_error.source.split("\n")[template_error.lineno - 1]
|
wfe.error_line = template_error.source.split("\n")[template_error.lineno - 1]
|
||||||
@ -691,7 +691,7 @@ def _render_jinja_template(unprocessed_template: str, task_model: TaskModel) ->
|
|||||||
raise wfe from template_error
|
raise wfe from template_error
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
_type, _value, tb = exc_info()
|
_type, _value, tb = exc_info()
|
||||||
wfe = TaskModelException(str(error), task_model=task_model, exception=error)
|
wfe = TaskModelError(str(error), task_model=task_model, exception=error)
|
||||||
while tb:
|
while tb:
|
||||||
if tb.tb_frame.f_code.co_filename == "<template>":
|
if tb.tb_frame.f_code.co_filename == "<template>":
|
||||||
wfe.line_number = tb.tb_lineno
|
wfe.line_number = tb.tb_lineno
|
||||||
|
@ -43,7 +43,7 @@ class JsonDataDict(TypedDict):
|
|||||||
data: dict
|
data: dict
|
||||||
|
|
||||||
|
|
||||||
class TaskModelException(Exception):
|
class TaskModelError(Exception):
|
||||||
"""Copied from SpiffWorkflow.exceptions.WorkflowTaskException.
|
"""Copied from SpiffWorkflow.exceptions.WorkflowTaskException.
|
||||||
|
|
||||||
Reimplements the exception from SpiffWorkflow to not require a spiff_task.
|
Reimplements the exception from SpiffWorkflow to not require a spiff_task.
|
||||||
|
@ -357,7 +357,9 @@ class TestProcessInstanceProcessor(BaseTest):
|
|||||||
human_task_one = process_instance.active_human_tasks[0]
|
human_task_one = process_instance.active_human_tasks[0]
|
||||||
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
||||||
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
||||||
assert len(process_instance.active_human_tasks) == 0, "expected 0 active human tasks after 2nd one is completed"
|
assert (
|
||||||
|
len(process_instance.active_human_tasks) == 0
|
||||||
|
), "expected 0 active human tasks after 2nd one is completed"
|
||||||
|
|
||||||
processor.suspend()
|
processor.suspend()
|
||||||
|
|
||||||
@ -376,7 +378,9 @@ class TestProcessInstanceProcessor(BaseTest):
|
|||||||
|
|
||||||
# make sure sqlalchemy session matches current db state
|
# make sure sqlalchemy session matches current db state
|
||||||
db.session.expire_all()
|
db.session.expire_all()
|
||||||
assert len(process_instance.human_tasks) == 2, "still expected 2 human tasks after reset and session expire_all"
|
assert (
|
||||||
|
len(process_instance.human_tasks) == 2
|
||||||
|
), "still expected 2 human tasks after reset and session expire_all"
|
||||||
|
|
||||||
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
|
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
|
||||||
processor = ProcessInstanceProcessor(process_instance)
|
processor = ProcessInstanceProcessor(process_instance)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user