From c64b892786865a3b87701450c6ca62fcab0fa044 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 17 Aug 2020 06:10:12 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../admin/application_settings_controller.rb | 9 ++--- app/controllers/admin/integrations_controller.rb | 2 +- .../admin/application_settings/_eks.html.haml | 2 +- .../admin/application_settings/_plantuml.html.haml | 2 +- .../admin/application_settings/_snowplow.html.haml | 3 +- .../application_settings/_sourcegraph.html.haml | 2 +- .../_third_party_offers.html.haml | 3 +- .../admin/application_settings/general.html.haml | 15 ++++---- .../application_settings/integrations.html.haml | 40 ++++++++-------------- .../justin_ho-fix-old-integration-settings.yml | 5 +++ doc/user/project/code_owners.md | 2 +- lib/api/composer_packages.rb | 2 +- .../admin/application_settings_controller_spec.rb | 15 ++------ .../admin/integrations_controller_spec.rb | 10 ------ spec/features/admin/admin_settings_spec.rb | 3 +- spec/features/projects/clusters/gcp_spec.rb | 3 +- .../api/composer_packages_shared_examples.rb | 2 +- 17 files changed, 42 insertions(+), 78 deletions(-) create mode 100644 changelogs/unreleased/justin_ho-fix-old-integration-settings.yml diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb index 09a001aaa85..3a5b8b2862e 100644 --- a/app/controllers/admin/application_settings_controller.rb +++ b/app/controllers/admin/application_settings_controller.rb @@ -16,7 +16,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController push_frontend_feature_flag(:ci_instance_variables_ui, default_enabled: true) end - VALID_SETTING_PANELS = %w(general integrations repository + VALID_SETTING_PANELS = %w(general repository ci_cd reporting metrics_and_profiling network preferences).freeze @@ -32,12 +32,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController end def integrations - if Feature.enabled?(:instance_level_integrations) - @integrations = Service.find_or_initialize_instances.sort_by(&:title) - else - set_application_setting - perform_update if submitted? - end + @integrations = Service.find_or_initialize_instances.sort_by(&:title) end def update diff --git a/app/controllers/admin/integrations_controller.rb b/app/controllers/admin/integrations_controller.rb index 4f3be43d14d..b2d5a2d130c 100644 --- a/app/controllers/admin/integrations_controller.rb +++ b/app/controllers/admin/integrations_controller.rb @@ -12,7 +12,7 @@ class Admin::IntegrationsController < Admin::ApplicationController end def integrations_enabled? - Feature.enabled?(:instance_level_integrations) + true end def scoped_edit_integration_path(integration) diff --git a/app/views/admin/application_settings/_eks.html.haml b/app/views/admin/application_settings/_eks.html.haml index d959b4f9b43..d74afcd3e64 100644 --- a/app/views/admin/application_settings/_eks.html.haml +++ b/app/views/admin/application_settings/_eks.html.haml @@ -9,7 +9,7 @@ = _('Amazon EKS integration allows you to provision EKS clusters from GitLab.') .settings-content - = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-eks-settings'), html: { class: 'fieldset-form' } do |f| + = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-eks-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) %fieldset diff --git a/app/views/admin/application_settings/_plantuml.html.haml b/app/views/admin/application_settings/_plantuml.html.haml index d35774d330d..f2011257b8c 100644 --- a/app/views/admin/application_settings/_plantuml.html.haml +++ b/app/views/admin/application_settings/_plantuml.html.haml @@ -8,7 +8,7 @@ %p = _('Allow rendering of PlantUML diagrams in Asciidoc documents.') .settings-content - = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f| + = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) if expanded %fieldset diff --git a/app/views/admin/application_settings/_snowplow.html.haml b/app/views/admin/application_settings/_snowplow.html.haml index a2597433270..3216d7b7a9a 100644 --- a/app/views/admin/application_settings/_snowplow.html.haml +++ b/app/views/admin/application_settings/_snowplow.html.haml @@ -8,8 +8,7 @@ %p = _('Configure the %{link} integration.').html_safe % { link: link_to('Snowplow', 'https://snowplowanalytics.com/', target: '_blank') } .settings-content - - = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-snowplow-settings'), html: { class: 'fieldset-form' } do |f| + = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-snowplow-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) if expanded %fieldset diff --git a/app/views/admin/application_settings/_sourcegraph.html.haml b/app/views/admin/application_settings/_sourcegraph.html.haml index 23cda0334a2..7650526dfc0 100644 --- a/app/views/admin/application_settings/_sourcegraph.html.haml +++ b/app/views/admin/application_settings/_sourcegraph.html.haml @@ -16,7 +16,7 @@ .settings-content - = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-sourcegraph-settings'), html: { class: 'fieldset-form' } do |f| + = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-sourcegraph-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) %fieldset diff --git a/app/views/admin/application_settings/_third_party_offers.html.haml b/app/views/admin/application_settings/_third_party_offers.html.haml index 256b1f74bfa..0ed7341986d 100644 --- a/app/views/admin/application_settings/_third_party_offers.html.haml +++ b/app/views/admin/application_settings/_third_party_offers.html.haml @@ -8,8 +8,7 @@ %p = _('Control the display of third party offers.') .settings-content - - = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f| + = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) if expanded %fieldset diff --git a/app/views/admin/application_settings/general.html.haml b/app/views/admin/application_settings/general.html.haml index 99526757a48..788dc0b0f1b 100644 --- a/app/views/admin/application_settings/general.html.haml +++ b/app/views/admin/application_settings/general.html.haml @@ -116,11 +116,10 @@ .settings-content #js-maintenance-mode-settings -- if Feature.enabled?(:instance_level_integrations) - = render_if_exists 'admin/application_settings/elasticsearch_form' - = render 'admin/application_settings/plantuml' - = render 'admin/application_settings/sourcegraph' - = render_if_exists 'admin/application_settings/slack' - = render 'admin/application_settings/third_party_offers' - = render 'admin/application_settings/snowplow' - = render 'admin/application_settings/eks' += render_if_exists 'admin/application_settings/elasticsearch_form' += render 'admin/application_settings/plantuml' += render 'admin/application_settings/sourcegraph' += render_if_exists 'admin/application_settings/slack' += render 'admin/application_settings/third_party_offers' += render 'admin/application_settings/snowplow' += render 'admin/application_settings/eks' diff --git a/app/views/admin/application_settings/integrations.html.haml b/app/views/admin/application_settings/integrations.html.haml index 7f0e9faa59e..b5dae424b46 100644 --- a/app/views/admin/application_settings/integrations.html.haml +++ b/app/views/admin/application_settings/integrations.html.haml @@ -2,29 +2,19 @@ - page_title _('Integrations') - @content_class = 'limit-container-width' unless fluid_layout -- if Feature.enabled?(:instance_level_integrations) - - if show_admin_integrations_moved? - .gl-alert.gl-alert-info.js-admin-integrations-moved.mt-3{ role: 'alert', data: { feature_id: UserCalloutsHelper::ADMIN_INTEGRATIONS_MOVED, dismiss_endpoint: user_callouts_path } } - = sprite_icon('information-o', css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title') - %button.js-close.gl-alert-dismiss{ type: 'button', 'aria-label' => _('Dismiss') } - = sprite_icon('close', css_class: 'gl-icon') - .gl-alert-body - %h4.gl-alert-title= s_('AdminSettings|Some settings have moved') - = html_escape_once(s_('AdminSettings|Elasticsearch, PlantUML, Slack application, Third party offers, Snowplow, Amazon EKS have moved to Settings > General.')).html_safe - .gl-alert-actions - = link_to s_('AdminSettings|Go to General Settings'), general_admin_application_settings_path, class: 'btn gl-alert-action btn-info new-gl-button' +- if show_admin_integrations_moved? + .gl-alert.gl-alert-info.js-admin-integrations-moved.mt-3{ role: 'alert', data: { feature_id: UserCalloutsHelper::ADMIN_INTEGRATIONS_MOVED, dismiss_endpoint: user_callouts_path } } + = sprite_icon('information-o', css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title') + %button.js-close.gl-alert-dismiss{ type: 'button', 'aria-label' => _('Dismiss') } + = sprite_icon('close', css_class: 'gl-icon') + .gl-alert-body + %h4.gl-alert-title= s_('AdminSettings|Some settings have moved') + = html_escape_once(s_('AdminSettings|Elasticsearch, PlantUML, Slack application, Third party offers, Snowplow, Amazon EKS have moved to Settings > General.')).html_safe + .gl-alert-actions + = link_to s_('AdminSettings|Go to General Settings'), general_admin_application_settings_path, class: 'btn gl-alert-action btn-info new-gl-button' - %h4= s_('AdminSettings|Apply integration settings to all Projects') - %p - = s_('AdminSettings|Integrations configured here will automatically apply to all projects on this instance.') - = link_to _('Learn more'), '#' - = render 'shared/integrations/index', integrations: @integrations - -- else - = render_if_exists 'admin/application_settings/elasticsearch_form' - = render 'admin/application_settings/plantuml' - = render 'admin/application_settings/sourcegraph' - = render_if_exists 'admin/application_settings/slack' - = render 'admin/application_settings/third_party_offers' - = render 'admin/application_settings/snowplow' - = render 'admin/application_settings/eks' +%h4= s_('AdminSettings|Apply integration settings to all Projects') +%p + = s_('AdminSettings|Integrations configured here will automatically apply to all projects on this instance.') + = link_to _('Learn more'), '#' += render 'shared/integrations/index', integrations: @integrations diff --git a/changelogs/unreleased/justin_ho-fix-old-integration-settings.yml b/changelogs/unreleased/justin_ho-fix-old-integration-settings.yml new file mode 100644 index 00000000000..c02df854a08 --- /dev/null +++ b/changelogs/unreleased/justin_ho-fix-old-integration-settings.yml @@ -0,0 +1,5 @@ +--- +title: Move old integrations to Settings > General and introduce instance-level integrations +merge_request: 38488 +author: +type: added diff --git a/doc/user/project/code_owners.md b/doc/user/project/code_owners.md index 02f3cb34958..dbe3f3dc891 100644 --- a/doc/user/project/code_owners.md +++ b/doc/user/project/code_owners.md @@ -178,7 +178,7 @@ Owners" section: ```plaintext [README Owners] -README.md @user1 @user 2 +README.md @user1 @user2 internal/README.md @user2 ``` diff --git a/lib/api/composer_packages.rb b/lib/api/composer_packages.rb index 726dc89271a..fd37a4ff1ad 100644 --- a/lib/api/composer_packages.rb +++ b/lib/api/composer_packages.rb @@ -123,7 +123,7 @@ module API bad_request! end - track_event('register_package') + track_event('push_package') ::Packages::Composer::CreatePackageService .new(authorized_user_project, current_user, declared_params) diff --git a/spec/controllers/admin/application_settings_controller_spec.rb b/spec/controllers/admin/application_settings_controller_spec.rb index 6ae9dc38016..4f223811be8 100644 --- a/spec/controllers/admin/application_settings_controller_spec.rb +++ b/spec/controllers/admin/application_settings_controller_spec.rb @@ -142,23 +142,12 @@ RSpec.describe Admin::ApplicationSettingsController do end describe 'verify panel actions' do - before do - stub_feature_flags(instance_level_integrations: false) - end - Admin::ApplicationSettingsController::VALID_SETTING_PANELS.each do |valid_action| it_behaves_like 'renders correct panels' do let(:action) { valid_action } end end end - end - - describe 'PATCH #integrations' do - before do - stub_feature_flags(instance_level_integrations: false) - sign_in(admin) - end describe 'EKS integration' do let(:application_setting) { ApplicationSetting.current } @@ -172,7 +161,7 @@ RSpec.describe Admin::ApplicationSettingsController do end it 'updates EKS settings' do - patch :integrations, params: { application_setting: settings_params } + put :update, params: { application_setting: settings_params } expect(application_setting.eks_integration_enabled).to be_truthy expect(application_setting.eks_account_id).to eq '123456789012' @@ -186,7 +175,7 @@ RSpec.describe Admin::ApplicationSettingsController do it 'does not update the secret key' do application_setting.update!(eks_secret_access_key: 'dummy secret key') - patch :integrations, params: { application_setting: settings_params } + put :update, params: { application_setting: settings_params } expect(application_setting.reload.eks_secret_access_key).to eq 'dummy secret key' end diff --git a/spec/controllers/admin/integrations_controller_spec.rb b/spec/controllers/admin/integrations_controller_spec.rb index 7e7b60db2dc..4a5d5ede728 100644 --- a/spec/controllers/admin/integrations_controller_spec.rb +++ b/spec/controllers/admin/integrations_controller_spec.rb @@ -10,16 +10,6 @@ RSpec.describe Admin::IntegrationsController do end describe '#edit' do - context 'when instance_level_integrations not enabled' do - it 'returns not_found' do - stub_feature_flags(instance_level_integrations: false) - - get :edit, params: { id: Service.available_services_names.sample } - - expect(response).to have_gitlab_http_status(:not_found) - end - end - Service.available_services_names.each do |integration_name| context "#{integration_name}" do it 'successfully displays the template' do diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb index 55f6a9930ff..f5b05c76e90 100644 --- a/spec/features/admin/admin_settings_spec.rb +++ b/spec/features/admin/admin_settings_spec.rb @@ -209,8 +209,7 @@ RSpec.describe 'Admin updates settings', :clean_gitlab_redis_shared_state, :do_n context 'Integrations page' do before do - stub_feature_flags(instance_level_integrations: false) - visit integrations_admin_application_settings_path + visit general_admin_application_settings_path end it 'Enable hiding third party offers' do diff --git a/spec/features/projects/clusters/gcp_spec.rb b/spec/features/projects/clusters/gcp_spec.rb index 2e6a366f77a..63e5546b43c 100644 --- a/spec/features/projects/clusters/gcp_spec.rb +++ b/spec/features/projects/clusters/gcp_spec.rb @@ -205,11 +205,10 @@ RSpec.describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do let(:admin) { create(:admin) } before do - stub_feature_flags(instance_level_integrations: false) stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') sign_in(admin) gitlab_enable_admin_mode_sign_in(admin) - visit integrations_admin_application_settings_path + visit general_admin_application_settings_path end it 'user does not see the offer' do diff --git a/spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb index 6ef4e852428..09743c20fba 100644 --- a/spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb @@ -72,7 +72,7 @@ RSpec.shared_examples 'Composer package creation' do |user_type, status, add_mem expect(response).to have_gitlab_http_status(status) end - it_behaves_like 'a gitlab tracking event', described_class.name, 'register_package' + it_behaves_like 'a gitlab tracking event', described_class.name, 'push_package' end end -- cgit v1.2.3