Skip to content

Commit

Permalink
Add top-level UserApplicationPermissionPolicy
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisroos committed Nov 23, 2023
1 parent 46b3a00 commit b8b73e8
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions app/policies/user_application_permission_policy.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
class UserApplicationPermissionPolicy < BasePolicy
def index?
Pundit.policy(current_user, user).edit?
end

def remove_signin_permission?
user.has_access_to?(application) &&
(
current_user.govuk_admin? ||
current_user.publishing_manager? && application.signin_permission.delegatable?
)
end

def edit_permissions?
remove_signin_permission?
end

def view_permissions?
Pundit.policy(current_user, user).edit? &&
user.has_access_to?(application)
end

def delete?
edit_permissions?
end

def destroy?
delete?
end

def show?
view_permissions?
end

def edit?
edit_permissions?
end

def update?
edit_permissions?
end

private

Check failure on line 43 in app/policies/user_application_permission_policy.rb

View workflow job for this annotation

GitHub Actions / Lint Ruby / Run RuboCop

Layout/AccessModifierIndentation: Outdent access modifiers like `private`. (https://rubystyle.guide#indent-public-private-protected)

def user
record.user
end

def application
record.application
end
end

0 comments on commit b8b73e8

Please sign in to comment.