Sha256: aa4e8b0cbf0ad9f8b8d9e1966a4e40db9312464f07cc3e56bf23958b174d9d6e
Contents?: true
Size: 867 Bytes
Versions: 4
Compression:
Stored size: 867 Bytes
Contents
# frozen_string_literal: true module Decidim module Admin # A Rails routes constraint to only allow access to an Organization admin to # the organization dashboard. class OrganizationDashboardConstraint # Initializes the contraint. # # request [Rack::Request] def initialize(request) @request = request end # Checks if the user can access the organization dashboard. # # Returns boolean. def matches? user.organization == organization && user.can?(:read, :admin_dashboard) end private attr_reader :request def organization request.env["decidim.current_organization"] end def user return unless request.env["warden"].authenticate!(scope: :user) @user ||= request.env["warden"].user("user") end end end end
Version data entries
4 entries across 4 versions & 2 rubygems