diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties index 3f99df65f..7aef8a34d 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties @@ -310,3 +310,20 @@ cms.ui.workflow.task.assigned=Your assigned tasks cms.ui.workflow.task.assigned.none=You have no assigned tasks cms.ui.workflow.restart_stopped_workflow=Start workflow cms.ui.content_item=Document +cms.ui.workflow=Workflow +cms.ui.workflow.delete_prompt=Are you sure you want to delete this workflow? +cms.ui.workflow.insufficient_privileges=You have insufficient privileges +cms.ui.workflow.no_users_were_selected=No users were selected. +cms.ui.workflow.task.approval_or_reject_required=Approval or rejection is required. +cms.ui.workflow.task.approve=Approve +cms.ui.workflow.task.approve_prompt=Approve this work? +cms.ui.workflow.task.assigned.lock_all=Lock all my tasks for this item +cms.ui.workflow.task.assigned.unlock_all=Unlock all my tasks for this item +cms.ui.workflow.task.comment.add=Add comment +cms.ui.workflow.task.finish=Finish task +cms.ui.workflow.task.item_title=Document title +cms.ui.workflow.task.locking_user=Locking User +cms.ui.workflow.task.reject=Reject +cms.ui.workflow.task.takeover=Take over +cms.ui.workflow.task.unlock=Unlock task +cms.ui.workflow.task.user.add=Assign user diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties index 92a483d68..3f8eb89cd 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties @@ -307,3 +307,20 @@ cms.ui.workflow.task.assigned=Ihre zugeordneten Aufgaben cms.ui.workflow.task.assigned.none=Sie haben keine zugeordneten Aufgaben cms.ui.workflow.restart_stopped_workflow=Arbeitsablauf starten cms.ui.content_item=Dokument +cms.ui.workflow=Arbeitsablauf +cms.ui.workflow.delete_prompt=Sind Sie sicher, dass Sie diesen Arbeitsablauf l\u00f6schen wollen? +cms.ui.workflow.insufficient_privileges=Sie haben unzureichende Rechte +cms.ui.workflow.no_users_were_selected=Keine Benutzer ausgew\u00e4hlt +cms.ui.workflow.task.approval_or_reject_required=Bitte akzeptieren Sie die \u00c4nderungen oder weisen diese zur\u00fcck. +cms.ui.workflow.task.approve=Akzeptieren +cms.ui.workflow.task.approve_prompt=\u00c4nderungen akzeptieren? +cms.ui.workflow.task.assigned.lock_all=Alle meine Aufgaben zu diesem Punkt reservieren +cms.ui.workflow.task.assigned.unlock_all=Alle meine Aufgaben zu diesem Punkt freigeben +cms.ui.workflow.task.comment.add=Kommentar hinzuf\u00fcgen +cms.ui.workflow.task.finish=Aufgabe abschlie\u00dfen +cms.ui.workflow.task.item_title=Titel des Dokuments +cms.ui.workflow.task.locking_user=Reserviert durch +cms.ui.workflow.task.reject=Zur\u00fcckweisen +cms.ui.workflow.task.takeover=\u00dcbernehmen +cms.ui.workflow.task.unlock=Aufgabe freigeben +cms.ui.workflow.task.user.add=Benutzer zuordnen diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties index cd411b14e..dc0d1d7fa 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties @@ -266,3 +266,20 @@ cms.ui.workflow.task.assigned=Your assigned tasks cms.ui.workflow.task.assigned.none=You have no assigned tasks cms.ui.workflow.restart_stopped_workflow=Start workflow cms.ui.content_item=Document +cms.ui.workflow=Workflow +cms.ui.workflow.delete_prompt=Are you sure you want to delete this workflow? +cms.ui.workflow.insufficient_privileges=You have insufficient privileges +cms.ui.workflow.no_users_were_selected=No users were selected. +cms.ui.workflow.task.approval_or_reject_required=Approval or rejection is required. +cms.ui.workflow.task.approve=Approve +cms.ui.workflow.task.approve_prompt=Approve this work? +cms.ui.workflow.task.assigned.lock_all=Lock all my tasks for this item +cms.ui.workflow.task.assigned.unlock_all=Unlock all my tasks for this item +cms.ui.workflow.task.comment.add=Add comment +cms.ui.workflow.task.finish=Finish task +cms.ui.workflow.task.item_title=Document title +cms.ui.workflow.task.locking_user=Locking User +cms.ui.workflow.task.reject=Reject +cms.ui.workflow.task.takeover=Take over +cms.ui.workflow.task.unlock=Unlock task +cms.ui.workflow.task.user.add=Assign user diff --git a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowManager.java b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowManager.java index a2f61675d..5b6a7070b 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowManager.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowManager.java @@ -229,8 +229,8 @@ public class WorkflowManager { writeMethod.invoke(task, value); } } catch (IllegalAccessException - | IllegalArgumentException - | InvocationTargetException ex) { + | IllegalArgumentException + | InvocationTargetException ex) { throw new RuntimeException(); } } @@ -355,6 +355,7 @@ public class WorkflowManager { @RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN) @Transactional(Transactional.TxType.REQUIRED) public void start(final Workflow workflow) { + final WorkflowState oldState = workflow.getState(); workflow.setState(WorkflowState.STARTED); @@ -372,16 +373,19 @@ public class WorkflowManager { firstTask.setActive(true); taskManager.updateState(firstTask); - final Optional currentUser = shiro.getUser(); - if (!currentUser.isPresent() - && assignableTaskManager - .isAssignedTo((AssignableTask) firstTask, - currentUser.get())) { - assignableTaskManager.lockTask((AssignableTask) firstTask); + if (firstTask instanceof AssignableTask) { + final Optional currentUser = shiro.getUser(); + if (currentUser.isPresent() + && assignableTaskManager + .isAssignedTo((AssignableTask) firstTask, + currentUser.get())) { + assignableTaskManager + .lockTask((AssignableTask) firstTask); + } } } } - + workflowRepo.save(workflow); }