Allow cdot admin to change trial dates on a namespace
<!-- Please complete the template below as best as you can. Make sure to check if this issue has already been raised by someone else first to avoid duplication.
For each section below, please add screenshots or links or anything that may help visual learners understand the problem better, even if this takes you an extra minute or two this is a great help to some folks.
https://www.learning-styles-online.com/style/visual-spatial/
-->
# Problem
As a cdot admin, I would like to alter the end date of a namespace on an active or expired trial.
### Use cases to address
- [Extend the end date of an active trial](https://gitlab.com/gitlab-org/gitlab/-/issues/359961#note_958510452)
- [Reactivate an expired trial](https://gitlab.com/gitlab-org/gitlab/-/issues/359961#note_958587755)
- [Extend the end date of an existing plan](https://gitlab.com/gitlab-org/gitlab/-/issues/359961#note_958560697)
Namespace can be in the following states:
1. Trial = yes, no subscription linked
2. Trial = no, no subscription linked
2. Trial = no (expired), no subscription linked (see [this issue](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/1173) for more context on expired trials)
3. Trial = no, subscription linked
4. Trial = yes, subscription linked
# Requirements
1. When trial extension feature is used, namespace should be set to trial = yes
1. If extending an expired trial, start date can be automatically set to `current date`
1. If extending end date on a namespace with an active subscription then do not change start date and set trial = yes. Keep subscription linked.
1. Success message should confirm the action that was completed
1. The updated trial plan should be sent to the appropriate SFDC record
1. Provide required field for task note
1. Ensure sufficient logs (see logs section)
**task note: field will be used by admins to record reason for performing action. Field should allow links.
### Logs
Errors/failures:
1. Expected errors/failures for this action should be documented (documentation location tbd)
2. Errors/failures should be clear and include a recommendation on how to fix
3. Errors should be logged and searchable in sentry/kibana (tbc)
Activity/History
- The following action details should be logged in history:
- date + time
- what action was performed
- who performed the action (email address)
- status (success/failure) with error message if failure
- admin note
## Permissions
Action should only be allowed for users with admin write permissions in customersdot.
## Future iterations (not in scope for this issue)
- Limit on trial duration: do no allow trial to be extended for more than 90 days
- Instrument / reporting on use of trial extension feature
epic