diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-20 21:11:16 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-20 21:11:16 +0300 |
commit | 054c9f71bc79eea35d482c4c53bff34214c5deaa (patch) | |
tree | fc49821793e6c2d64ff022590b4b897da746d3e5 /app | |
parent | 78f02b73cf6b84de51b8f6381cb6746febd64141 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/pages/projects/shared/permissions/index.js | 3 | ||||
-rw-r--r-- | app/assets/javascripts/pages/shared/mount_badge_settings.js | 2 | ||||
-rw-r--r-- | app/controllers/projects_controller.rb | 7 | ||||
-rw-r--r-- | app/models/namespace_setting.rb | 1 | ||||
-rw-r--r-- | app/policies/project_policy.rb | 1 | ||||
-rw-r--r-- | app/views/groups/settings/_permissions.html.haml | 1 | ||||
-rw-r--r-- | app/views/projects/edit.html.haml | 7 |
7 files changed, 14 insertions, 8 deletions
diff --git a/app/assets/javascripts/pages/projects/shared/permissions/index.js b/app/assets/javascripts/pages/projects/shared/permissions/index.js index 4b4589dc46c..78dd456aad9 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/index.js +++ b/app/assets/javascripts/pages/projects/shared/permissions/index.js @@ -14,6 +14,9 @@ export default function initProjectPermissionsSettings() { const mountPoint = document.querySelector('.js-project-permissions-form'); const componentPropsEl = document.querySelector('.js-project-permissions-form-data'); + + if (!mountPoint) return null; + const componentProps = JSON.parse(componentPropsEl.innerHTML); const { diff --git a/app/assets/javascripts/pages/shared/mount_badge_settings.js b/app/assets/javascripts/pages/shared/mount_badge_settings.js index aeb9f2fb8d3..9c92d4f8f1e 100644 --- a/app/assets/javascripts/pages/shared/mount_badge_settings.js +++ b/app/assets/javascripts/pages/shared/mount_badge_settings.js @@ -5,6 +5,8 @@ import store from '~/badges/store'; export default (kind) => { const badgeSettingsElement = document.getElementById('badge-settings'); + if (!badgeSettingsElement) return null; + store.dispatch('loadBadges', { kind, apiEndpointUrl: badgeSettingsElement.dataset.apiEndpointUrl, diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 1152bdcf058..b997b2e0b6b 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -29,7 +29,7 @@ class ProjectsController < Projects::ApplicationController before_action :authorize_read_code!, only: [:refs] # Authorize - before_action :authorize_admin_project_or_custom_permissions!, only: :edit + before_action :authorize_view_edit_page!, only: :edit before_action :authorize_admin_project!, only: [:update, :housekeeping, :download_export, :export, :remove_export, :generate_new_export] before_action :authorize_archive_project!, only: [:archive, :unarchive] before_action :event_filter, only: [:show, :activity] @@ -612,11 +612,6 @@ class ProjectsController < Projects::ApplicationController def render_edit render 'edit' end - - # Overridden in EE - def authorize_admin_project_or_custom_permissions! - authorize_admin_project! - end end ProjectsController.prepend_mod_with('ProjectsController') diff --git a/app/models/namespace_setting.rb b/app/models/namespace_setting.rb index 0263942116d..ef2f4dc05d9 100644 --- a/app/models/namespace_setting.rb +++ b/app/models/namespace_setting.rb @@ -7,6 +7,7 @@ class NamespaceSetting < ApplicationRecord cascading_attr :delayed_project_removal cascading_attr :toggle_security_policy_custom_ci + cascading_attr :toggle_security_policies_policy_scope belongs_to :namespace, inverse_of: :namespace_settings diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb index 255538c538a..a26758974d6 100644 --- a/app/policies/project_policy.rb +++ b/app/policies/project_policy.rb @@ -914,6 +914,7 @@ class ProjectPolicy < BasePolicy rule { can?(:admin_project) }.policy do enable :read_usage_quotas + enable :view_edit_page end rule { can?(:project_bot_access) }.policy do diff --git a/app/views/groups/settings/_permissions.html.haml b/app/views/groups/settings/_permissions.html.haml index 4334c4996f2..375e5afea62 100644 --- a/app/views/groups/settings/_permissions.html.haml +++ b/app/views/groups/settings/_permissions.html.haml @@ -49,6 +49,7 @@ = render_if_exists 'groups/personal_access_token_expiration_policy', f: f, group: @group = render 'groups/settings/membership', f: f, group: @group = render_if_exists 'groups/settings/security_policies_custom_ci', f: f, group: @group + = render_if_exists 'groups/settings/security_policies_policy_scope', f: f, group: @group %h5= _('Customer relations') .form-group.gl-mb-3 diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml index 9269369c83e..90837a1a291 100644 --- a/app/views/projects/edit.html.haml +++ b/app/views/projects/edit.html.haml @@ -118,8 +118,11 @@ = render 'remove_fork', project: @project = render 'remove', project: @project -- elsif can?(current_user, :archive_project, @project) - = render_if_exists 'projects/settings/archive' +- else + - if can?(current_user, :archive_project, @project) + = render_if_exists 'projects/settings/archive' + - if can?(current_user, :remove_project, @project) + = render 'remove', project: @project .save-project-loader.hide .center |