Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions app/policies/ach_transfer_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,28 @@ def index?
end

def new?
admin_or_user?
admin_or_user
end

def create?
user_who_can_transfer? && !record.event.demo_mode
user_who_can_transfer && !record.event.demo_mode
end

def show?
# Semantically, this should be admin_or_manager?, right?
is_public? || user_who_can_transfer?
# Semantically, this should be admin_or_manager, right?
is_public || user_who_can_transfer
end

def view_account_routing_numbers?
admin_or_manager?
admin_or_manager
end

def cancel?
user_who_can_transfer?
user_who_can_transfer
end

def transfer_confirmation_letter?
user_who_can_transfer?
user_who_can_transfer
end

def start_approval?
Expand All @@ -48,19 +48,19 @@ def toggle_speed?

private

def user_who_can_transfer?
def user_who_can_transfer
EventPolicy.new(user, record.event).create_transfer?
end

def admin_or_user?
def admin_or_user
user&.admin? || record.event.users.include?(user)
end

def admin_or_manager?
def admin_or_manager
user&.admin? || OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

def is_public?
def is_public
record.event.is_public?
end

Expand Down
16 changes: 8 additions & 8 deletions app/policies/announcement/block_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
class Announcement
class BlockPolicy < ApplicationPolicy
def create?
admin_or_manager?
admin_or_manager
end

def show?
admin_or_manager?
admin_or_manager
end

def refresh?
admin_or_manager?
admin_or_manager
end

def edit?
(manager? && record.announcement.author == user) || admin?
(manager && record.announcement.author == user) || admin
end

def update?
Expand All @@ -24,15 +24,15 @@ def update?

private

def admin_or_manager?
admin? || manager?
def admin_or_manager
admin? || manager
end

def admin?
def admin
user&.admin?
end

def manager?
def manager
OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

Expand Down
28 changes: 14 additions & 14 deletions app/policies/announcement_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,59 +2,59 @@

class AnnouncementPolicy < ApplicationPolicy
def new?
admin_or_manager? && !record.event.demo_mode?
admin_or_manager && !record.event.demo_mode?
end

def create?
admin_or_manager? && !record.event.demo_mode?
admin_or_manager && !record.event.demo_mode?
end

def show?
record.published? || auditor_or_reader?
record.published? || auditor_or_reader
end

def edit?
# Some announcements (prompted & monthly) are generated by HCB -
# any manager should be allowed to make the inital edit on these announcements
(manager? && (record.author == user || record.author == User.system_user)) || admin?
(manager && (record.author == user || record.author == User.system_user)) || admin
end

def update?
edit?
end

def destroy?
admin_or_manager?
admin_or_manager
end

def publish?
admin_or_manager?
admin_or_manager
end

private

def admin?
def admin
user&.admin?
end

def auditor?
user&.auditor?
user&.auditor
end

def manager?
def manager
OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

def reader?
def reader
OrganizerPosition.role_at_least?(user, record.event, :reader)
end

def admin_or_manager?
admin? || manager?
def admin_or_manager
admin || manager
end

def auditor_or_reader?
auditor? || reader?
def auditor_or_reader
auditor || reader
end

end
14 changes: 7 additions & 7 deletions app/policies/card_grant/pre_authorization_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@
class CardGrant
class PreAuthorizationPolicy < ApplicationPolicy
def show?
user&.auditor? || record.user == user || user_in_event?
user&.auditor? || record.user == user || user_in_event
end

def update?
user&.admin? || record.user == user || user_in_event?
user&.admin? || record.user == user || user_in_event
end

def clear_screenshots?
user&.auditor? || record.user == user || user_in_event?
user&.auditor? || record.user == user || user_in_event
end

def organizer_approve?
user&.admin? || manager_in_event?
user&.admin? || manager_in_event
end

def organizer_reject?
user&.admin? || manager_in_event?
user&.admin? || manager_in_event
end

private

def user_in_event?
def user_in_event
record.event.users.include?(user)
end

def manager_in_event?
def manager_in_event
OrganizerPosition.role_at_least?(user, record.event, :manager)
end

Expand Down
10 changes: 5 additions & 5 deletions app/policies/card_grant_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ def create?
end

def show?
user&.auditor? || record.user == user || user_in_event?
user&.auditor? || record.user == user || user_in_event
end

def spending?
record.event.is_public? || user&.auditor? || user_in_event?
record.event.is_public? || user&.auditor? || user_in_event
end

def edit_actions?
Expand Down Expand Up @@ -46,7 +46,7 @@ def edit_withdraw?
end

def activate?
user&.admin? || (record.user == user && authorized_to_activate?)
user&.admin? || (record.user == user && authorized_to_activate)
end

def cancel?
Expand Down Expand Up @@ -97,11 +97,11 @@ def sender_admin_or_manager?

private

def user_in_event?
def user_in_event
record.event.users.include?(user)
end

def authorized_to_activate?
def authorized_to_activate
record.pre_authorization.nil? || record.pre_authorization.approved? || record.pre_authorization.fraudulent?
end

Expand Down
26 changes: 11 additions & 15 deletions app/policies/check_deposit_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

class CheckDepositPolicy < ApplicationPolicy
def index?
auditor_or_user? && check_deposits_enabled?
auditor_or_member && check_deposits_enabled
end

def create?
Expand All @@ -16,41 +16,37 @@ def view_image?
# - You're a manager of the event
# - You're an organizer of the event (e.g. reader, member, etc.), but ALSO
# was the person who uploaded the check deposit.
auditor_or_manager? || (user? && record.created_by == user)
auditor_or_manager || (member && record.created_by == user)
end

def toggle_fronted?
admin?
admin
end

private

def admin?
def admin
user&.admin?
end

def auditor?
def auditor
user&.auditor?
end

def user?
def member
record.event.users.include?(user)
end

def check_deposits_enabled?
def check_deposits_enabled
record.event.plan.check_deposits_enabled?
end

def auditor_or_user?
auditor? || user?
def auditor_or_member
auditor || member
end

def auditor_or_manager?
user&.admin? || OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

def user_who_can_transfer?
EventPolicy.new(user, record.event).create_transfer?
def auditor_or_manager
auditor || OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

end
4 changes: 2 additions & 2 deletions app/policies/column/account_number_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
module Column
class AccountNumberPolicy < ApplicationPolicy
def create?
admin_or_manager?
admin_or_manager
end

def update?
Expand All @@ -12,7 +12,7 @@ def update?

private

def admin_or_manager?
def admin_or_manager
user&.admin? || OrganizerPosition.find_by(user:, event: record.event)&.manager?
end

Expand Down
4 changes: 2 additions & 2 deletions app/policies/disbursement_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def create?
end

def transfer_confirmation_letter?
auditor_or_user?
auditor_or_user
end

def edit?
Expand Down Expand Up @@ -64,7 +64,7 @@ def set_transaction_categories?

private

def auditor_or_user?
def auditor_or_user
user&.auditor? || record.event.users.include?(user)
end

Expand Down
10 changes: 5 additions & 5 deletions app/policies/event/scoped_tag_policy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
class Event
class ScopedTagPolicy < ApplicationPolicy
def create?
admin_or_manager?
admin_or_manager
end

def update?
admin_or_manager?
admin_or_manager
end

def destroy?
admin_or_manager?
admin_or_manager
end

def toggle_tag?
admin_or_manager?
admin_or_manager
end

private

def admin_or_manager?
def admin_or_manager
user&.admin? || OrganizerPosition.role_at_least?(user, record.parent_event, :manager)
end

Expand Down
Loading
Loading