Disabling issues feature quietly disables Quality Management
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=385224) </details> <!--IssueSummary end--> Originally raised by @brad and @wwjenkins in https://gitlab.slack.com/archives/C0411N5KAEA/p1668783010063879 (internal) The customer was reporting that all projects in one group weren't showing the Test Cases menu and visiting the URL gave 404. ``` irb(main):001:0> project = Project.find_by_id(8598) => #<Project id:8598 group/project> irb(main):002:0> project.licensed_feature_available?(:quality_management) => true irb(main):003:0> project.feature_available?(:quality_management) => true irb(main):004:0> project.feature_available?(:issues) => false irb(main):005:0> user = User.find 476 => #<User id:476 @admin_user> irb(main):006:0> Ability.allowed?(user, :read_issue, project) => false ``` - Test cases menu not appearing under CI/CD: https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/sidebars/projects/menus/ci_cd_menu.rb#L30-L32 ``` !context.project.licensed_feature_available?(:quality_management) || !can?(context.current_user, :read_issue, context.project) ``` - What this says is hide the menu item if: - current user cannot read_issue in project (tried with admin and owner, both false) - if Quality Management isn't available for that project When Issues feature is disabled, all `read_issue` authorisation checks return `false` by default. In our documentation, we don't mention that disabling issues feature renders Quality Management unusable. https://docs.gitlab.com/ee/user/project/settings/#project-feature-settings ``` When you disable a feature, the following additional features are also disabled: If you disable the Issues feature, project users cannot use: Issue Boards Service Desk Project users can still access Milestones from merge requests. ```
issue