Add code suggestions contact sales to billing pages
What does this MR do and why?
- Adds code suggestions contact sales to billing pages as a card for more marking of code suggestions. Utilized a feature flag as per design in #421953 (closed)
- trials and other non paid plans are excluded from this showing as per #421953 (closed)
- feature flag is group/namespace based as per spec
- Extends the hand raise lead frontend/backend to allow the
product_interaction
to be configurable as per spec in #421953 (closed). - Resolves a few rubocop exceptions on files touched.
Screenshots or screen recordings
note plans on gdk are more than exist in production
plan | Before | After |
---|---|---|
paid not ultimate | ||
ultimate |
How to set up and validate locally
note submitting the form will fail due to CustomersDot setup. Verification of that submission can be seen in ee/spec/features/billings/billing_plans_spec.rb
and will be verified fully in staging.
- Setup to simulate SaaS and restart GDK
- Enable
cs_connect_with_sales
andcheck_namespace_plan
inrails console
Feature.enable(:cs_connect_with_sales)
ApplicationSetting.first.update(check_namespace_plan: true)
- Create a new top-level group.
- Apply the premium plan to the group via
rails console
group = Group.last
plan = Plan.find_by(name: 'premium')
group.gitlab_subscription.update(hosted_plan: plan)
- Verify billing page (example:
http://gdk.test:3000/groups/billing-code-suggestions-example-group/-/billings
) - Apply the ultimate plan to the group via
rails console
group = Group.last
plan = Plan.find_by(name: 'ultimate')
group.gitlab_subscription.update(hosted_plan: plan)
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 #421953 (closed)
Edited by Doug Stull