feat: add the ability to execute status actions when the proposal status is updated manually#1441
Conversation
…elated methods and types
…g and introducing WorkflowStatus model
…lowStatusId instead of id
…ntroducing CreateWorkflowConnection mutation
…rget status lookups
…vents table and updating related references
…usActionsOnConnection
…lowStructure method
…onsistency in workflow management
…efactoring IsProposalSubmittedGuard
…andling and refactoring related methods
…error for missing proposal workflow
… GuardFn and refactoring related guards
…ent metadata handling
…tatusConnectionId and refactor related properties
…authorization checks for proposal assignments
…orkflow migration scripts
… for proposal status filtering
…itorModel and usePersistWorkflowEditorModel
- Changed import paths in various guard files to reference the new stateMachine module. - Created new stateMachine module with necessary types and functions.
…chniqueProposalTable
…d UI for running status actions
…ions' of github.com:UserOfficeProject/user-office-core into SWAP-5434-as-a-user-officer-i-want-to-specify-which-actions
…cify-which-actions
…cify-which-actions
…cify-which-actions
|
Hi, @mutambaraf when you have a bit of time could you check this PR. it is not urgent, just has been in the queue for a while :). Thanks |
|
@gnyiri I ran into the issue you mentioned here. The problem: when a connection has status actions configured
and the proposal's status is changed manually, an exception is thrown, so the status actions never run. (Automatic status updates work fine.) The cause: the code on develop assumes a workflow connection id is always set. That's true for automatic updates, but not for manual status changes — there's no single connection to point to. In fact, two different connections can lead to the same status:
so the engine has no way of knowing which connection's actions to run. Good news: this PR already fixes it. This line skips the status actions when no connection is specified, and the PR also lets the user choose which connection to use for the manual case. Would be great to get this merged. |
…cify-which-actions
|
Two comments:
|
…cify-which-actions
…cify-which-actions



Description
THIS PR IS BUILT ON TOP OF #SWAP-4949-workflow-overhaul
This PR adds the ability for the User Officer to execute status actions when he/she sets the proposal status manually.
Motivation and Context
After the workflow overhaul the status actions are attached to the transition, and not the status. In same cases when setting the proposal status the user officer would want to run the status actions accompanied with the transition leading to that status.
This PR handles three scenarios:
Changes
workflowConnectionIdparameter to thechangeProposalsStatusmutation inProposalMutations.ts, which is used to fetch the proposal workflow and run the status engine.changeProposalsStatusmutation to only run status actions ifworkflowConnectionIdis provided, improving the control over status change side-effects.proposals.cy.tsto cover the new functionality.How Has This Been Tested?
Added e2e
Fixes Jira Issue
https://jira.ess.eu//browse/SWAP-5434
Depends On
Tests included/Docs Updated?