Skip to content

Commit

Permalink
Refactor based on PR review
Browse files Browse the repository at this point in the history
  • Loading branch information
stage-rl committed Dec 3, 2023
1 parent 5922070 commit 24d8bf4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
7 changes: 5 additions & 2 deletions app/policies/admin/group_membership_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,17 @@ def resolve
end

def create?
return false if !@user.site_admin? && !@user.admin?
return false unless @user.site_admin? || @user.admin?
return false unless @group_membership.group.tenant == Current.tenant
return false unless @group_membership.user.tenant == Current.tenant

true
end

def destroy?
(@user.site_admin? || @user.admin?) && !(@group_membership.user == @user && @group_membership.group.type == 'AdminGroup')
return false unless @user.site_admin? || @user.admin?
return true unless @group_membership.user == @user && @group_membership.group.type == 'AdminGroup'

false
end
end
21 changes: 12 additions & 9 deletions app/policies/admin/user_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,49 @@
class Admin::UserPolicy < ApplicationPolicy
attr_reader :user

def initialize(user_logged_in, user_to_authorize)
@user = user_logged_in
def initialize(actor, user_to_authorize)
@actor = actor
@user_to_authorize = user_to_authorize
end

class Scope < Scope
def resolve
if @user.site_admin?
if @actor.site_admin?
scope.all
else
scope.where(tenant_id: @user.tenant_id)
scope.where(tenant_id: @actor.tenant_id)
end
end
end

def index?
@user.site_admin? || @user.admin?
@actor.site_admin? || @actor.admin?
end

def show?
@user.site_admin? || @user.admin?
@actor.site_admin? || @actor.admin?
end

def create?
@user.site_admin? || @user.admin?
@actor.site_admin? || @actor.admin?
end

def new?
create?
end

def update?
@user.site_admin? || @user.admin?
@actor.site_admin? || @actor.admin?
end

def edit?
update?
end

def destroy?
(@user.site_admin? || @user.admin?) && @user_to_authorize != @user
return false unless @actor.site_admin? || @actor.admin?
return true unless @user_to_authorize != @actor

false
end
end

0 comments on commit 24d8bf4

Please sign in to comment.