Sha256: 02b43f9a7571a3df316b7d79440cf38ee83475b0e1fc7c1ed4f1c6c514e02e09

Contents?: true

Size: 1.17 KB

Versions: 29

Compression:

Stored size: 1.17 KB

Contents

class Backend::Content::DuplicateController < Backend::BaseController
  before_action :find_model

  def execute
    duplicate
    redirect_back_to_edit_translation
  end

  private

  def find_model
    begin
      @model = params[:model].to_s.camelcase.constantize.find(params[:id])
    rescue
      redirect_to backend_path
    end
  end

  def source_locale
    if Udongo.config.i18n.app.locales.include?(params[:source_locale].to_s)
      params[:source_locale].to_s
    else
      raise "No valid source locale provided (#{params[:source_locale]})"
    end
  end

  def destination_locale
    if Udongo.config.i18n.app.locales.include?(params[:destination_locale].to_s)
      params[:destination_locale].to_s
    else
      raise "No valid destination locale provided (#{params[:destination_locale]})"
    end
  end

  def duplicate
    Udongo::FlexibleContent::DuplicateLocale.new(
      @model,
      source_locale,
      destination_locale
    ).execute!
  end

  def redirect_back_to_edit_translation
    path = "edit_translation_backend_#{@model.class.name.downcase}_path"
    redirect_to send(path, @model, destination_locale), notice: t('b.msg.flexible_content.duplicated')
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
udongo-7.9.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.8.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.8.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.7.2 app/controllers/backend/content/duplicate_controller.rb
udongo-7.7.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.7.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.6.2 app/controllers/backend/content/duplicate_controller.rb
udongo-7.6.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.6.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.5.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.5.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.4.2 app/controllers/backend/content/duplicate_controller.rb
udongo-7.4.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.4.0 app/controllers/backend/content/duplicate_controller.rb
udongo-7.3.5 app/controllers/backend/content/duplicate_controller.rb
udongo-7.3.4 app/controllers/backend/content/duplicate_controller.rb
udongo-7.3.3 app/controllers/backend/content/duplicate_controller.rb
udongo-7.3.2 app/controllers/backend/content/duplicate_controller.rb
udongo-7.3.1 app/controllers/backend/content/duplicate_controller.rb
udongo-7.2.1 app/controllers/backend/content/duplicate_controller.rb