diff --git a/app/models/service.rb b/app/models/service.rb index c49e0869b21cc7817735f42278b0b711e0b83dfb..b0bad81d584340c66281c5b38d75b3b05234e131 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -413,6 +413,10 @@ def can_test? !instance? && !group_id end + def project_level? + project_id.present? + end + def parent project || group end diff --git a/app/views/projects/services/mattermost_slash_commands/_help.html.haml b/app/views/projects/services/mattermost_slash_commands/_help.html.haml index 1005d9f7990d94d2729e2a2782f6f46704946372..ae0f6c9ef1895739507089b65e69e86604d26560 100644 --- a/app/views/projects/services/mattermost_slash_commands/_help.html.haml +++ b/app/views/projects/services/mattermost_slash_commands/_help.html.haml @@ -10,8 +10,8 @@ %p.inline = s_("MattermostService|See list of available commands in Mattermost after setting up this service, by entering") %kbd.inline /<trigger> help - - unless enabled || @service.template? + - if !enabled && @service.project_level? = render 'projects/services/mattermost_slash_commands/detailed_help', subject: @service -- if enabled && !@service.template? +- if enabled && @service.project_level? = render 'projects/services/mattermost_slash_commands/installation_info', subject: @service diff --git a/app/views/projects/services/slack_slash_commands/_help.html.haml b/app/views/projects/services/slack_slash_commands/_help.html.haml index 67c43bd2f3361738f0ff6f99554eeaa9948ac0aa..a8fb0d55c0d21e6b7b28b42cdbb43d70cf7e0e43 100644 --- a/app/views/projects/services/slack_slash_commands/_help.html.haml +++ b/app/views/projects/services/slack_slash_commands/_help.html.haml @@ -11,7 +11,7 @@ %p.inline = s_("SlackService|See list of available commands in Slack after setting up this service, by entering") %kbd.inline /<command> help - - unless @service.template? + - if @service.project_level? %p= _("To set up this service:") %ul.list-unstyled.indent-list %li diff --git a/changelogs/unreleased/298854-gitlab-returns-error-500-when-visiting-admin-area-settings-integra.yml b/changelogs/unreleased/298854-gitlab-returns-error-500-when-visiting-admin-area-settings-integra.yml new file mode 100644 index 0000000000000000000000000000000000000000..a49eb6f1c3e601c2efb1fa08c14cb2d4de991201 --- /dev/null +++ b/changelogs/unreleased/298854-gitlab-returns-error-500-when-visiting-admin-area-settings-integra.yml @@ -0,0 +1,5 @@ +--- +title: Hide project-specific views on group / instance level integrations +merge_request: 57381 +author: +type: fixed diff --git a/ee/app/views/projects/services/gitlab_slack_application/_help.html.haml b/ee/app/views/projects/services/gitlab_slack_application/_help.html.haml index d2ae830a0248d55c6e664ff75bc81af3bcf401ea..03113c962d68cb6e0104adcdf9795247e2251af0 100644 --- a/ee/app/views/projects/services/gitlab_slack_application/_help.html.haml +++ b/ee/app/views/projects/services/gitlab_slack_application/_help.html.haml @@ -6,5 +6,5 @@ %p.inline = _("See the list of available commands in Slack after setting up this service by entering") %kbd.inline /gitlab help - - unless @service.template? || @service.instance? + - if @service.project_level? = render "projects/services/#{@service.to_param}/slack_integration_form" diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb index 9ffefd4bbf79b8167701116ecd6c69600be99bf2..d8eb4ebc432b2e31a1c37068c0313abade8d5f1e 100644 --- a/spec/models/service_spec.rb +++ b/spec/models/service_spec.rb @@ -202,6 +202,16 @@ end end + describe '#project_level?' do + it 'is true when service has a project' do + expect(build(:service, project: project)).to be_project_level + end + + it 'is false when service has no project' do + expect(build(:service, project: nil)).not_to be_project_level + end + end + describe '.find_or_initialize_non_project_specific_integration' do let!(:service1) { create(:jira_service, project_id: nil, group_id: group.id) } let!(:service2) { create(:jira_service) }