mirror of
https://github.com/sartography/spiffworkflow-backend.git
synced 2025-02-23 12:58:13 +00:00
added recursive option to process model list to recurse or not and fix some ui components
This commit is contained in:
parent
2b47eb7f58
commit
8f9d918ef1
@ -273,6 +273,12 @@ paths:
|
||||
description: The group containing the models we want to return
|
||||
schema:
|
||||
type: string
|
||||
- name: recursive
|
||||
in: query
|
||||
required: false
|
||||
description: Get all sub process models recursively if true
|
||||
schema:
|
||||
type: string
|
||||
- name: page
|
||||
in: query
|
||||
required: false
|
||||
|
@ -347,11 +347,14 @@ def process_model_move(
|
||||
|
||||
|
||||
def process_model_list(
|
||||
process_group_identifier: Optional[str] = None, page: int = 1, per_page: int = 100
|
||||
process_group_identifier: Optional[str] = None,
|
||||
recursive: Optional[bool] = False,
|
||||
page: int = 1,
|
||||
per_page: int = 100,
|
||||
) -> flask.wrappers.Response:
|
||||
"""Process model list!"""
|
||||
process_models = ProcessModelService().get_process_models(
|
||||
process_group_id=process_group_identifier
|
||||
process_group_id=process_group_identifier, recursive=recursive
|
||||
)
|
||||
batch = ProcessModelService().get_batch(
|
||||
process_models, page=page, per_page=per_page
|
||||
|
@ -179,7 +179,7 @@ class ProcessModelService(FileSystemService):
|
||||
raise ProcessEntityNotFoundError("process_model_not_found")
|
||||
|
||||
def get_process_models(
|
||||
self, process_group_id: Optional[str] = None
|
||||
self, process_group_id: Optional[str] = None, recursive: Optional[bool] = False
|
||||
) -> List[ProcessModelInfo]:
|
||||
"""Get process models."""
|
||||
process_models = []
|
||||
@ -187,7 +187,11 @@ class ProcessModelService(FileSystemService):
|
||||
if process_group_id:
|
||||
awesome_id = process_group_id.replace("/", os.sep)
|
||||
root_path = os.path.join(root_path, awesome_id)
|
||||
process_model_glob = os.path.join(root_path, "**", "process_model.json")
|
||||
|
||||
process_model_glob = os.path.join(root_path, "*", "process_model.json")
|
||||
if recursive:
|
||||
process_model_glob = os.path.join(root_path, "**", "process_model.json")
|
||||
|
||||
for file in glob(process_model_glob, recursive=True):
|
||||
process_model_relative_path = os.path.relpath(
|
||||
file, start=FileSystemService.root_path()
|
||||
|
@ -381,7 +381,7 @@ class TestProcessApi(BaseTest):
|
||||
|
||||
# get all models
|
||||
response = client.get(
|
||||
"/v1.0/process-models?per_page=1000",
|
||||
"/v1.0/process-models?per_page=1000&recursive=true",
|
||||
headers=self.logged_in_headers(with_super_admin_user),
|
||||
)
|
||||
assert response.json is not None
|
||||
|
Loading…
x
Reference in New Issue
Block a user