From d1ceef0ac1a5c83224661c01a91f8ec308280ad7 Mon Sep 17 00:00:00 2001 From: wei-kuochen Date: Thu, 27 Feb 2025 16:40:44 +0900 Subject: [PATCH] weko#50660 fix workflow issue --- modules/weko-workflow/weko_workflow/admin.py | 14 ++++++++++++-- .../weko_workflow/admin/workflow_detail.html | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/weko-workflow/weko_workflow/admin.py b/modules/weko-workflow/weko_workflow/admin.py index d6efef7635..11af56afcf 100644 --- a/modules/weko-workflow/weko_workflow/admin.py +++ b/modules/weko-workflow/weko_workflow/admin.py @@ -37,7 +37,7 @@ from .api import Action, Flow, WorkActivity, WorkFlow from .config import WEKO_WORKFLOW_SHOW_HARVESTING_ITEMS -from .models import WorkflowRole +from .models import WorkflowRole, ActivityStatusPolicy from .utils import recursive_get_specified_properties @@ -311,6 +311,7 @@ def workflow_detail(self, workflow_id='0'): :return: """ + change_itemtype_flag = True if WEKO_WORKFLOW_SHOW_HARVESTING_ITEMS: itemtype_list = ItemTypes.get_latest() else: @@ -347,6 +348,7 @@ def workflow_detail(self, workflow_id='0'): hide_label=hide_label, display_hide_label=display_hide, is_sysadmin=is_sysadmin, + change_itemtype_flag=change_itemtype_flag, ) """Update the workflow info""" @@ -365,6 +367,13 @@ def workflow_detail(self, workflow_id='0'): if workflows.open_restricted and not is_sysadmin: abort(403) + activity = WorkActivity() + activitys = activity.get_activity_by_workflow_id(workflows.id) + if activitys: + activitys = [i for i in activitys if i.activity_status != ActivityStatusPolicy.ACTIVITY_CANCEL] + if len(activitys) > 0: + change_itemtype_flag = False + return self.render( 'weko_workflow/admin/workflow_detail.html', workflow=workflows, @@ -377,7 +386,8 @@ def workflow_detail(self, workflow_id='0'): display_label=display_label, hide_label=hide_label, display_hide_label=display_hide, - is_sysadmin=is_sysadmin + is_sysadmin=is_sysadmin, + change_itemtype_flag=change_itemtype_flag, ) @expose('/', methods=['POST', 'PUT']) diff --git a/modules/weko-workflow/weko_workflow/templates/weko_workflow/admin/workflow_detail.html b/modules/weko-workflow/weko_workflow/templates/weko_workflow/admin/workflow_detail.html index 206e673cbb..6ba61b130b 100644 --- a/modules/weko-workflow/weko_workflow/templates/weko_workflow/admin/workflow_detail.html +++ b/modules/weko-workflow/weko_workflow/templates/weko_workflow/admin/workflow_detail.html @@ -75,7 +75,7 @@
- {%- if itemtype_list %} {%- for itemtype in itemtype_list if itemtype %}