Allow Changing the User in an Active/Future Approval Step
Description
Enable the ability to change assigned users in User-type approval steps when the current user has not yet submitted their decision
Background
This feature is intended to prevent bottlenecks in the approval process when the originally assigned user is inactive or unable to respond in time.
Requirements
User Change Capability:
-
For steps of type User, add the ability to change the assigned user
-
Available for active and future steps only
-
Only allowed if the current user has not yet submitted their decision
-
Only the creator of the approval (user who started the approval) should be allowed to make this changewed to make this change
Configuration
Global Settings
Add new toggle in Global Settings → General:
┌─────────────────────────────────────────────────────────────┐│ General Settings │├─────────────────────────────────────────────────────────────┤│ ││ ☑ Enable dynamic user steps ← NEW ││ ☐ Enable dynamic user field steps ││ │└─────────────────────────────────────────────────────────────┘
|
Setting |
Default |
Description |
|---|---|---|
|
Enable dynamic user steps |
✅ Enabled |
Allows changing users in active/future approval steps |
Step Definition Settings
For User step type, add new checkbox option:
┌─────────────────────────────────────────────────────────────┐│ User Step │├─────────────────────────────────────────────────────────────┤│ ││ ││ Comment requirements ││ ││ ☑ Dynamically update users when the step is active ││ or future ← NEW ││ │└─────────────────────────────────────────────────────────────┘
|
Setting |
Behavior |
|---|---|
|
✅ Checked |
Approval creator can change assigned users for this step |
|
❌ Unchecked |
Users cannot be changed after approval is started |
Visibility rule:
-
If "Enable dynamic user steps" is disabled globally → checkbox is hidden in step definition
-
If enabled globally → checkbox is visible and configurable per step
Notifications
When to Send
-
Active step: Send notification when user is changed
-
Future step: No notification required
Recipients
|
Recipient |
Notification |
|---|---|
|
Previous user |
Inform about removal from step |
|
Newly assigned user |
Inform about assignment to step |
Notification Content
-
Information about the change (who changed, which step)
-
Link to the approval
-
Context about the approval (issue key, approval name)
Notification templates should be customizable.
Email Notifications
Notification Rules
|
Step Status |
Notify Previous User |
Notify New User |
|---|---|---|
|
Active |
✅ Yes |
✅ Yes |
|
Future |
❌ No |
❌ No |
UI Implementation - Reference Approval View
User Icon Interaction
When dynamic update is enabled for the approval, display edit capability on user icons:
Hover Behavior:
-
On hover over user icon → show pencil icon (✏️) in bottom-right corner
-
Tooltip: "Change user"
-
Only visible for active and future steps
-
Only visible when dynamic update is enabled for the step
Change User Modal
┌─────────────────────────────────────────────────────────────┐│ Change User [✕] │├─────────────────────────────────────────────────────────────┤│ ││ Step: Review Document (Step 2) ││ ││ Current user: John Doe ││ ││ New user: ││ ┌─────────────────────────────────────────────────────┐ ││ │ Select user... ▼ │ ││ └─────────────────────────────────────────────────────┘ ││ ││ ⚠️ The current user will be notified about this change. ││ (shown only for active step) ││ ││ [Cancel] [Change User] │└─────────────────────────────────────────────────────────────┘
The backend endpoint that allows changing the user for a selected step will validate whether the step is active, whether the user has already cast a vote, and whether the current user is the creator of the approval. If any of these conditions are not met, the endpoint should return a message informing the user that the step data cannot be modified.
After a successful update, the popup should be closed and the approval should be refreshed.