Sha256: f913f038303559963c284c7763b127794ab798a9c7c9866b0dd26e95e08a53d3

Contents?: true

Size: 822 Bytes

Versions: 3

Compression:

Stored size: 822 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module FileAuthorizationHandler
    module Admin
      # Defines the abilities related to surveys for a logged in admin user.
      class Permissions < Decidim::DefaultPermissions
        def permissions
          return permission_action if permission_action.scope != :admin

          if user.organization.available_authorizations.include?("file_authorization_handler") &&
             permission_action_in?(:show, :create, :destroy) &&
             permission_action.subject == Decidim::FileAuthorizationHandler::CensusDatum
            allow!
          end
          permission_action
        end

        private

        def permission_action_in?(*actions)
          actions.any? { |action| permission_action.action == action }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-file_authorization_handler-0.27.1.7 app/permissions/decidim/file_authorization_handler/admin/permissions.rb
decidim-file_authorization_handler-0.27.1.6 app/permissions/decidim/file_authorization_handler/admin/permissions.rb
decidim-file_authorization_handler-0.27.1.5 app/permissions/decidim/file_authorization_handler/admin/permissions.rb