Sha256: 0a08a5f2dfb9a7f90f1881119a05687c0eb384ee6bded00616096d744f038470

Contents?: true

Size: 1.04 KB

Versions: 17

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Decidim
  # This class deals with uploading hero images to ParticipatoryProcesses.
  class ImageUploader < ApplicationUploader
    def validable_dimensions
      true
    end

    def content_type_allowlist
      extension_allowlist.map { |ext| MiniMime.lookup_by_extension(ext).content_type }.uniq
    end

    # Fetches info about different variants, their processors and dimensions
    def dimensions_info
      return if variants.blank?

      variants.transform_values do |variant|
        {
          processor: variant.keys.first,
          dimensions: variant.values.first
        }
      end
    end

    # Add a white list of extensions which are allowed to be uploaded.
    # For images you might use something like this:
    def extension_allowlist
      Decidim.organization_settings(model).upload_allowed_file_extensions_image
    end

    def max_image_height_or_width
      3840
    end

    private

    def maximum_upload_size
      Decidim.organization_settings(model).upload_maximum_file_size
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc2 app/uploaders/decidim/image_uploader.rb
decidim-core-0.30.0.rc1 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.2 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.5 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.1 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.4 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.0 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.3 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.0.rc4 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.0.rc3 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.0.rc2 app/uploaders/decidim/image_uploader.rb
decidim-core-0.29.0.rc1 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.2 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.1 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.0 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.0.rc5 app/uploaders/decidim/image_uploader.rb
decidim-core-0.28.0.rc4 app/uploaders/decidim/image_uploader.rb