Disable Compliance pipeline field in compliance frameworks for Premium licenses

Proposal

Since compliance pipelines are only available with the Ultimate license, we should not allow users to fill in that field in the compliance frameworks if they only have a Premium license. We should leave the field visible, but disabled, and add a note that it is available for ultimate subscriptions. We should also remove the example line under it, to reduce the focus on the field.

Screenshot_2023-04-27_at_17.25.21

Implementation plan

  1. The form is located in this file ee/app/assets/javascripts/groups/settings/compliance_frameworks/components/shared_form.vue
  2. Add a new variable to compliance_frameworks_form_data called has_pipeline_access, which is a boolean checks that the group has ultimate subscription access
    1. ee/app/helpers/compliance_management/compliance_framework/group_settings_helper.rb
  3. Update the following two files to pass a variable as prop to shared_form.vue called hasPipelineAccess
    1. ee/app/assets/javascripts/groups/settings/compliance_frameworks/components/create_form.vue
    2. ee/app/assets/javascripts/groups/settings/compliance_frameworks/components/edit_form.vue
  4. Update gl-form-input at line 207 to be shown conditionally based on the hasPipelineAccess prop
  5. Add popopver component (docs) when field is disabled (text below to be updated once @eread has revised)
    • Inline form text: available for Ultimate subscriptions
    • Popover title: Ultimate only feature
    • Popover text: Configure a compliance pipeline in a project via framework can make a separate to other projects. How to upgrade?
  6. Update specs
  7. Update docs
Edited by Nate Rosandich