Skip to content
Snippets Groups Projects
Commit a4b564b6 authored by Michael Kozono's avatar Michael Kozono
Browse files

Refactor based on code review

parent f25b5b7f
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -46,7 +46,7 @@ class Namespace < ActiveRecord::Base
 
before_create :sync_share_with_group_lock_with_parent
before_update :sync_share_with_group_lock_with_parent, if: :parent_changed?
after_commit :force_share_with_group_lock_on_descendants, on: :update, if: -> { previous_changes.key?('share_with_group_lock') && share_with_group_lock? }
after_update :force_share_with_group_lock_on_descendants, if: -> { share_with_group_lock_changed? && share_with_group_lock? }
 
# Legacy Storage specific hooks
 
Loading
Loading
@@ -225,7 +225,7 @@ class Namespace < ActiveRecord::Base
end
 
def sync_share_with_group_lock_with_parent
if has_parent? && parent.share_with_group_lock?
if parent&.share_with_group_lock?
self.share_with_group_lock = true
end
end
Loading
Loading
Loading
Loading
@@ -15,7 +15,7 @@ class GroupPolicy < BasePolicy
 
condition(:nested_groups_supported, scope: :global) { Group.supports_nested_groups? }
 
condition(:parent_share_locked) { @subject.has_parent? && @subject.parent.share_with_group_lock? }
condition(:parent_share_locked, scope: :subject) { @subject.parent&.share_with_group_lock? }
condition(:can_change_parent_share_with_group_lock) { @subject.has_parent? && can?(:change_share_with_group_lock, @subject.parent) }
 
condition(:has_projects) do
Loading
Loading
module UpdateVisibilityLevel
def visibility_level_allowed?(target, new_visibility)
def valid_visibility_level_change?(target, new_visibility)
# check that user is allowed to set specified visibility_level
if new_visibility && new_visibility.to_i != target.visibility_level
unless can?(current_user, :change_visibility_level, target) &&
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ module Groups
def execute
reject_parent_id!
 
return false unless visibility_level_allowed?(group, params[:visibility_level])
return false unless valid_visibility_level_change?(group, params[:visibility_level])
 
return false unless valid_share_with_group_lock_change?
 
Loading
Loading
Loading
Loading
@@ -3,7 +3,7 @@ module Projects
include UpdateVisibilityLevel
 
def execute
unless visibility_level_allowed?(project, params[:visibility_level])
unless valid_visibility_level_change?(project, params[:visibility_level])
return error('New visibility level not allowed!')
end
 
Loading
Loading
Loading
Loading
@@ -433,7 +433,7 @@ describe Namespace do
let!(:subgroup) { create(:group, parent: root_group )}
 
it 'the subgroup share lock becomes enabled' do
root_group.update(share_with_group_lock: true)
root_group.update!(share_with_group_lock: true)
 
expect(subgroup.reload.share_with_group_lock).to be_truthy
end
Loading
Loading
@@ -446,7 +446,7 @@ describe Namespace do
let(:subgroup) { create(:group, parent: root_group, share_with_group_lock: true )}
 
it 'the subgroup share lock does not change' do
root_group.update(share_with_group_lock: false)
root_group.update!(share_with_group_lock: false)
 
expect(subgroup.reload.share_with_group_lock).to be_truthy
end
Loading
Loading
@@ -456,7 +456,7 @@ describe Namespace do
let(:subgroup) { create(:group, parent: root_group )}
 
it 'the subgroup share lock does not change' do
root_group.update(share_with_group_lock: false)
root_group.update!(share_with_group_lock: false)
 
expect(subgroup.reload.share_with_group_lock?).to be_falsey
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment