Sha256: 67b2621d97e1e87674e8976edb2b9204aa0b216acb696e8c5bd0d0232aad3934

Contents?: true

Size: 870 Bytes

Versions: 6

Compression:

Stored size: 870 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module DecidimAwesome
    class Permissions < Decidim::DefaultPermissions
      def permissions
        return permission_action unless user

        return Decidim::DecidimAwesome::Admin::Permissions.new(user, permission_action, context).permissions if permission_action.scope == :admin

        editor_image_action?

        permission_action
      end

      def editor_image_action?
        return unless permission_action.subject == :editor_image

        config = context.fetch(:awesome_config, {})

        return allow! if user.admin?
        return allow! if config[:allow_images_in_proposals]
        return allow! if config[:allow_images_in_small_editor]
        return allow! if config[:allow_images_in_full_editor]
        return allow! if config[:allow_images_in_markdown_editor]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-decidim_awesome-0.10.3 app/permissions/decidim/decidim_awesome/permissions.rb
decidim-decidim_awesome-0.10.2 app/permissions/decidim/decidim_awesome/permissions.rb
decidim-decidim_awesome-0.10.1 app/permissions/decidim/decidim_awesome/permissions.rb
decidim-decidim_awesome-0.10.0 app/permissions/decidim/decidim_awesome/permissions.rb
decidim-decidim_awesome-0.9.3 app/permissions/decidim/decidim_awesome/permissions.rb
decidim-decidim_awesome-0.9.1 app/permissions/decidim/decidim_awesome/permissions.rb