summaryrefslogtreecommitdiff
path: root/app/services/namespace_settings/update_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/namespace_settings/update_service.rb')
-rw-r--r--app/services/namespace_settings/update_service.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/services/namespace_settings/update_service.rb b/app/services/namespace_settings/update_service.rb
index 3c9b7b637ac..c6c04b63690 100644
--- a/app/services/namespace_settings/update_service.rb
+++ b/app/services/namespace_settings/update_service.rb
@@ -13,12 +13,25 @@ module NamespaceSettings
end
def execute
+ validate_resource_access_token_creation_allowed_param
+
if group.namespace_settings
group.namespace_settings.attributes = settings_params
else
group.build_namespace_settings(settings_params)
end
end
+
+ private
+
+ def validate_resource_access_token_creation_allowed_param
+ return if settings_params[:resource_access_token_creation_allowed].nil?
+
+ unless can?(current_user, :admin_group, group)
+ settings_params.delete(:resource_access_token_creation_allowed)
+ group.namespace_settings.errors.add(:resource_access_token_creation_allowed, _('can only be changed by a group admin.'))
+ end
+ end
end
end