Newer
Older
dmpopidor / app / policies / usage_policy.rb
@Sam Rust Sam Rust on 17 Mar 2020 889 bytes Issue/2345 (#2427)
# frozen_string_literal: true

# Disabling this rubocop check because this is the recommended approach to having
# a policy that is not associated with a model (per the pundit README)
# rubocop:disable Style/StructInheritance
class UsagePolicy < Struct.new(:user, :usage)
  attr_reader :user

  def initialize(user, _usage)
    raise Pundit::NotAuthorizedError, "must be logged in" unless user

    @user = user
  end

  def index?
    @user.can_org_admin?
  end

  def plans_by_template?
    @user.can_org_admin?
  end

  def global_statistics?
    @user.can_super_admin?
  end

  def org_statistics?
    @user.can_org_admin?
  end

  def all_plans_by_template?
    @user.can_org_admin?
  end

  def yearly_users?
    @user.can_org_admin?
  end

  def yearly_plans?
    @user.can_org_admin?
  end

  def filter?
    @user.can_org_admin?
  end
end
# rubocop:enable Style/StructInheritance