Commit 4ac99e12 authored by Eulyeon Ko's avatar Eulyeon Ko

Remove unused scoped labels feature flag

The scoped labels feature is no longer feature flagged
parent 5bb0a3eb
......@@ -28,7 +28,6 @@ import initUserPopovers from '~/user_popovers';
import { mergeUrlParams } from '~/lib/utils/url_utility';
import IssueAssignees from '~/vue_shared/components/issue/issue_assignees.vue';
import { isScopedLabel } from '~/lib/utils/common_utils';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { convertToCamelCase } from '~/lib/utils/text_utility';
......@@ -37,6 +36,9 @@ export default {
openedAgo: __('opened %{timeAgoString} by %{user}'),
openedAgoJira: __('opened %{timeAgoString} by %{user} in Jira'),
},
inject: {
scopedLabels: ['scopedLabels'],
},
components: {
IssueAssignees,
GlLink,
......@@ -50,7 +52,6 @@ export default {
GlTooltip,
SafeHtml,
},
mixins: [glFeatureFlagsMixin()],
props: {
issuable: {
type: Object,
......@@ -85,9 +86,6 @@ export default {
return this.issuableLink({ milestone_title: title });
},
scopedLabelsAvailable() {
return this.glFeatures.scopedLabels;
},
hasWeight() {
return isNumber(this.issuable.weight);
},
......@@ -221,7 +219,7 @@ export default {
return mergeUrlParams(params, this.baseUrl);
},
isScoped({ name }) {
return isScopedLabel({ title: name }) && this.scopedLabelsAvailable;
return isScopedLabel({ title: name }) && this.scopedLabels;
},
labelHref({ name }) {
if (this.isJiraIssue) {
......
......@@ -41,10 +41,13 @@ function mountIssuablesListApp() {
}
document.querySelectorAll('.js-issuables-list').forEach(el => {
const { canBulkEdit, emptyStateMeta = {}, ...data } = el.dataset;
const { canBulkEdit, emptyStateMeta = {}, scopedLabels, ...data } = el.dataset;
return new Vue({
el,
provide: {
scopedLabels: parseBoolean(scopedLabels),
},
render(createElement) {
return createElement(IssuablesListApp, {
props: {
......
......@@ -8,9 +8,6 @@ module IssuableActions
before_action :authorize_destroy_issuable!, only: :destroy
before_action :check_destroy_confirmation!, only: :destroy
before_action :authorize_admin_issuable!, only: :bulk_update
before_action only: :show do
push_frontend_feature_flag(:scoped_labels, type: :licensed, default_enabled: true)
end
before_action do
push_frontend_feature_flag(:not_issuable_queries, @project, default_enabled: true)
end
......
......@@ -57,10 +57,6 @@ class Projects::IssuesController < Projects::ApplicationController
record_experiment_user(:invite_members_version_b)
end
before_action only: :index do
push_frontend_feature_flag(:scoped_labels, @project, type: :licensed)
end
around_action :allow_gitaly_ref_name_caching, only: [:discussions]
respond_to :html
......
......@@ -170,6 +170,11 @@ module IssuesHelper
submit_as_spam_path: mark_as_spam_project_issue_path(project, issuable)
}
end
# Overridden in EE
def scoped_labels_available?(project)
false
end
end
IssuesHelper.prepend_if_ee('EE::IssuesHelper')
......@@ -30,6 +30,7 @@
'can-bulk-edit': @can_bulk_update.to_json,
'empty-state-meta': { svg_path: image_path('illustrations/issues.svg') },
'sort-key': @sort,
type: 'issues' } }
type: 'issues',
'scoped-labels': @group.feature_available?(:scoped_labels).to_json } }
- else
= render 'shared/issues'
......@@ -11,7 +11,8 @@
'empty-state-meta': data_empty_state_meta.to_json,
'can-bulk-edit': @can_bulk_update.to_json,
'sort-key': @sort,
type: type } }
type: type,
'scoped-labels': scoped_labels_available?(@project).to_json } }
- else
- empty_state_path = local_assigns.fetch(:empty_state_path, 'shared/empty_states/issues')
%ul.content-list.issues-list.issuable-list{ class: ("manual-ordering" if @sort == 'relative_position') }
......
......@@ -11,10 +11,6 @@ module EE
before_action :ee_authorize_admin_group!, only: [:restore]
before_action only: :issues do
push_frontend_feature_flag(:scoped_labels, @group, type: :licensed)
end
feature_category :subgroups, [:restore]
end
......
......@@ -54,5 +54,9 @@ module EE
def show_timeline_view_toggle?(issue)
issue.incident? && issue.project.feature_available?(:incident_timeline_view)
end
def scoped_labels_available?(project)
project.feature_available?(:scoped_labels)
end
end
end
......@@ -19,4 +19,5 @@
'empty-state-meta': { svg_path: image_path('illustrations/issues.svg') },
'sort-key': @sort,
type: 'jira',
project_path: @project.full_path, } }
'project-path': @project.full_path,
'scoped-labels': scoped_labels_available?(@project).to_json } }
......@@ -89,4 +89,24 @@ RSpec.describe EE::IssuesHelper do
end
end
end
describe '#scoped_labels_available?' do
subject { helper.scoped_labels_available?(project) }
context 'without license' do
before do
stub_licensed_features(scoped_labels: false)
end
it { is_expected.to be_falsy }
end
context 'with license' do
before do
stub_licensed_features(scoped_labels: true)
end
it { is_expected.to be_truthy }
end
end
end
......@@ -46,10 +46,8 @@ describe('Issuable component', () => {
...props,
},
provide: {
glFeatures: {
scopedLabels,
},
},
stubs: {
'gl-sprintf': GlSprintf,
},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment