Refactor a trials controller layer a bit more
What does this MR do and why?
- Further refactoring as per #393969 (closed)
- Breaks out some changes from larger !118382 (merged), which was a breaking out of the full picture in !115567 (merged)
- Scopes variables and instance variable usage better in controller layer so that we only create instance variables when needed.
- Better defines the errors to be forwarded to the frontend.
- Applies some principles from https://hint.io/blog/strong-parameters-strong-opinions
Screenshots or screen recordings
no change
How to set up and validate locally
note basically trying to emulate feature spec steps in ee/spec/features/trials/saas/creation_with_one_existing_namespace_flow_spec.rb
- Setup to simulate SaaS and restart GDK
- Create a new group.
- Visit trials new path as in
http://gdk.test:3000/-/trials/new
. - Fill out the form...
- The rest would be really hard to emulate here w/o a fully setup local customersDot and is why we have the feature specs that haven't needed to change with this MR.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #393969 (closed)
Edited by Doug Stull