Sha256: 55ea6e6c7b894ed7e19739f8131a7f42b80c48318164fd5336484ff9296848ad

Contents?: true

Size: 1.42 KB

Versions: 24

Compression:

Stored size: 1.42 KB

Contents

class Backend::Content::Rows::PicturesController < Backend::BaseController
  include Concerns::Backend::ContentTypeController
  before_action :redirect_unless_has_asset, only: [:edit, :update]
  before_action :redirect_if_has_asset, only: [:link_or_upload, :link, :upload]
  before_action :prepare_upload, only: [:link_or_upload, :upload]

  model ContentPicture
  allowed_params :caption, :url

  def link
    @model.asset = Asset.find params[:asset_id]
    @model.save!

    redirect_to edit_backend_content_picture_path
  end

  def upload
    @asset.filename = params[:asset][:filename]
    @asset.description = params[:asset][:description]

    if @asset.filename && @asset.filename.content_type.to_s.include?('image') && @asset.save
      @model.asset = @asset
      @model.save

      redirect_to edit_backend_content_picture_path(@model)
    else
      @asset.errors.add :filename, t('b.msg.please_select_a_valid_image')
      render :link_or_upload
    end
  end

  private

  def redirect_unless_has_asset
    unless @model.asset
      redirect_to link_or_upload_backend_content_picture_path(@model)
    end
  end

  def redirect_if_has_asset
    if @model.asset
      redirect_to edit_backend_content_picture_path(@model)
    end
  end

  def prepare_upload
    @asset = Asset.new
    @search = Asset.ransack params[:q]
    @assets = @search.result(distinct: true).image.where.not(id: @model.asset_id).order('id DESC').limit(30)
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
udongo-7.1.3 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.1.2 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.1.1 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.1.0 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.0.4 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.0.3 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.0.2 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.0.1 app/controllers/backend/content/rows/pictures_controller.rb
udongo-7.0.0 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.6.3 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.6.2 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.6.1 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.6.0 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.5.2 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.5.1 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.5.0 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.4.1 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.4.0 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.3.2 app/controllers/backend/content/rows/pictures_controller.rb
udongo-6.3.1 app/controllers/backend/content/rows/pictures_controller.rb