Welcome to mirror list, hosted at ThFree Co, Russian Federation.

packages_and_registries_controller.rb « settings « projects « controllers « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 5c352866c8dfd1df64a84ae5167f6ec104f9ba63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

module Projects
  module Settings
    class PackagesAndRegistriesController < Projects::ApplicationController
      layout 'project_settings'

      before_action :authorize_admin_project!
      before_action :packages_and_registries_settings_enabled!
      before_action :set_feature_flag_packages_protected_packages, only: :show

      feature_category :package_registry
      urgency :low

      def show
      end

      def cleanup_tags
        registry_settings_enabled!

        @hide_search_settings = true
      end

      private

      def packages_and_registries_settings_enabled!
        render_404 unless can?(current_user, :view_package_registry_project_settings, project)
      end

      def registry_settings_enabled!
        render_404 unless Gitlab.config.registry.enabled &&
          can?(current_user, :admin_container_image, project)
      end

      def set_feature_flag_packages_protected_packages
        push_frontend_feature_flag(:packages_protected_packages, project)
      end
    end
  end
end