OVERVIEW
As a : Administrator or Campaign Owner.
I need to: Have the ability to reassign one of my, or my team member's campaign to a different owner.
So that I can: Ensure business continuity when an employee leaves the company or go on a short term leave.
Subtask 1 - Preserve Original Requester
Given: The onwer of a campaign is now becoming a variable element of a campaign
When: a campaign is crested and for historical data
Then: Jeto must preserve/save the original requester.
The original requester of the campaign should be stored in dbase as datapoint that we keep intact for future audit/reporting/analytics or troubleshooting. It will not immediately be used in the UI. Ex: creator_user_id. This value is saved on the initial creation of a draft and campaign and in never changed thereafter. Ex: if a campaign is transferred to a user by error, we need a way to track back the original owner to reassign (backend only - no FE at this point)
Subtask 2 - Change the owner of a campaign (single campaign)
Given: Users must transfer ownership of a campaign as a way to pass responsibility to a colleague.
When: an owner or admin access the campaign.
Then: he can select a new owner and transfer ownership.
Acceptance Criteria:
Change owner of a campaign according to best possible UI/UX.
Navigation:
Access Campaigns Dashboard
Selects Campaign Menu (Snowman)
Select “Change Owner”
Select new Owner
A contextual help will give context to the user. “Only Collaborators or an Admins with access to Launcher can become campaign owners.”
Save
Campaigns Page Reload to refresh results
Back to dashboard with Toast Confirmation
Business Rules:
Only the current owner or an Admin can take this action. For other users the menu option is visible but disabled.
Newly assigned owners can only be ones with a (system Admin or Collaborator (USER) role OR an overwritten collaborator) AND has access on the Launcher.
Prototype: contact us to get access.
Subtask 3 - Bulk Edit Owner (multiple campaigns)
Given: Client Ownership may need to change over time if employee goes on vacation or if they leave. Also given Multiple Campaigns might need to be reassigned at once.
When: Admin or current Owner of the campaign access the dashboard and try to edit the owner for multiple campaigns, for example when a given employee leaves or is replaced in the team.
Then: there should be a feature that allows any "Admin" or the "Owner" of the object to change ownership and assign it to san another user in BULK.
Acceptance Criteria:
UI UX
Create Campaigns View (Optionnal)
From Campaigns Dashboard.
Admin or Owner can use, Search, filters to filter multiple campaigns based on current owner and Sort results to display subset of campaign
User Activates bulk select by clicking the checkbox icon on top of the column - which also “disables” paging (set page size to 10k) - but preserves the query (search and filters). This is to avoid confusion vs the “Select All” action that would otherwize be a partial selection.
Bulk selection activation also deactivates the snowman menu options - to avoid confusion on individual vs bulk actions.
User select one OR multiple campaigns OR User “select all” visible campaigns
Select menu action “Change Owner”
Select new Owner
Confirmation modal displays and user selects “Proceed”
User is back to dashboard with the bulk action still enabled and Success toast is displayed.
User can disable bulk action by clicking on the icons again.
User selects “Change Owner” from contextual menu.
Business Rules: Same as Single Edit Owner PLUS:
“Change Owner” menu appears disabled until a selection is made.
If user is collaborator selects any one campaign where he is not owner, the menu “Change Owner” becomes disabled.
When one or more item is selected, the top of “select boxes” column shows “partial selection” state. Click on it will clear selection.
Prototype: Contact us to get access.
Subtask 4 - Warn Admin about “orphan” Campaigns on user deletion
Given: Users leave or gets deleted from time to time
When: Deleting a user that is associated with campaigns
Then: Jeto should allow the administrator to optionally reassignment or Archiving of these campaigns to an active user to avoid orphan objects.
Acceptance Criteria:
From Users Page, When Admin opens user menus and Delete a user.
Jeto looks for campaigns where status is NOT “Deleted or Archived” where user being deleted is the owner. If at least 1 campaign exists, a modal warning message will display.
Design: see attached (same as warning for changes on approved campaigns)
Copy: Title: “Heads-Up!”, Body: User “FNAME LNAME” is owner the owner of X Jeto campaigns. You should consider reassigning these campaign(s) to another user or archiving them from the Campaign Dashboard.
Button 1 - left-secondary: (Cancel)
Button 2 - (right - primary): (Delete User)
New Design Assets
Change Owner Icon
Enable Bulk checkbox icon
Partially selected checkbox state
Any other specific dimensions/colour/styling & spacing
Update Style Guide with any new / updated components (menu, etc), including new top of column action menu
Out of scope
Link for direct access to deleted user campaigns.
Using Owner change as an alternative to approval (assignee).
Force reassignment or archiving of campaigns on user deletion.
Undo
Bulk actions for “Archive” and “Delete” campaigns are not part of this task
=======
FUTURE STATE
Original creator and changes of owner should be added to Changes Log when this feature becomes available.
In future we should consider inline editing on campaign dashboard.
Following multiple support tickets related to change of ownership, and considering the relatively low effort, we're prioritizing this feature to allow Admin to do this in self-service.