MVC: Create a setting for group owners to enable or disable feature discovery moments and trial expiration alerts for non-owners
Problem
Currently, non-admins are shown alerts when the trial has less than 7 days left. This is causes concerns for some larger customers that are trialing ultimate #7675. Secondly, during our user research around building a non-admin request feature for feature discovery moments, it's clear that a large portion of the users surveyed would only be comfortable with the feature if we provided the admin with the ability to toggle it on/off https://gitlab.com/gitlab-org/ux-research/-/issues/1297#note_600714066.
Solution
We should implement an admin setting where the admin can select if they want to these alerts shown to non-admins. To start we should ensure that the trial expiration banners reference this setting for non-admins. In the future, when we build non-admin feature discovery moments we can also reference this setting.
Required changes
- We add the visibility setting to the
Permissions and group features
section inGroup > Settings > General
- Setting title:
Free trial and paid features visibility
- Setting description:
Show free trial alerts, banners, and other promotions of GitLab features to all group members. Disable to show to group owners only.
- Checkbox label:
Show to all group members
- Checkbox is enabled by default.
- If users change the setting they need to confirm it by clicking on the
Save changes
button. - Spacing is
24px
above and below the new setting
Open questions
Where can implement this setting so it works for both parent namespaces on gitlab.com and self-managed instances?