Hide experimental and beta features for users without seat assigned

What does this MR do and why?

Merge Request Description: Add Seat-Based Checks for Experimental Features

This MR introduces seat-based access controls for experimental features, ensuring that only users with appropriate seats can access these functionalities.

Problem

Currently, experimental and beta features are gated by license checks but lack validation for whether a user has a seat assigned (Duo Enterprise add-on). As of October 17th, experimental features should also verify the assignment of a Duo Enterprise add-on seat.

Solution

This MR implements seat-based checks for the following experimental features:

  • Summarize New MR
  • Summarize Code Review
  • Generate Cube Query
  • Generate Issue Description

Users without an assigned seat will no longer see UI elements (e.g., buttons) indicating availability of these features.

Next Steps

This MR is the first step in centralizing and streamlining these checks. Future MRs will:

  1. Clean up existing redundant seat checks implemented in various places.
  2. Add seat-based checks to the base service method.

User Impact

  • Before: Users without assigned seats could see and potentially access experimental features (buttons were visible, but the action was failing).
  • After: Users without assigned seats will no longer see UI indicators for these features, ensuring a consistent and secure user experience.

This incremental approach ensures minimal disruption while laying the groundwork for a more robust implementation in subsequent iterations.

References

Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

On master:

  1. impersonate user that belong to group with ultimate plan with duo enterprise add-on, but without seat assigned.
  2. start new issue in that group - button with duo icon should be visible.
  3. start new MR in the project: there should be button with "summarize code changes"
  4. When you are ready to submit your review, select Finish review => Select Summarize my pending comments.

On this branch: In all this situations Duo buttons should not be visible.

solves #504355 (closed)

Edited by Gosia Ksionek

Merge request reports

Loading