Sha256: 0938a150929bd9ded7601719ce246971d1c7327e2b964daf7cced78cc6ff9876

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

module Admin
  class ImportsController < BaseController

    sections 'settings', 'site'

    actions :show, :new, :create

    def show
      @job = Delayed::Job.where({ :job_type => 'import', :site_id => current_site.id }).last

      respond_to do |format|
        format.html do
          redirect_to new_admin_import_url if @job.nil?
        end
        format.json { render :json => {
          :step => @job.nil? ? 'done' : @job.step,
          :failed => @job && @job.last_error.present?
        } }
      end
    end

    def new; end

    def create
      begin
        Locomotive::Import::Job.run!(params[:zipfile], current_site, {
          :samples  => Boolean.set(params[:samples]),
          :reset    => Boolean.set(params[:reset])
        })

        flash[:notice] = t("flash.admin.imports.create.#{Locomotive.config.delayed_job ? 'notice' : 'done'}")

        redirect_to Locomotive.config.delayed_job ? admin_import_url : new_admin_import_url
      rescue Exception => e
        logger.error "[Locomotive import] #{e.message}"

        @error = t('errors.messages.invalid_theme_file')
        flash[:alert] = t('flash.admin.imports.create.alert')

        render 'new'
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
locomotive_cms-1.0.0.beta.2 app/controllers/admin/imports_controller.rb
locomotive_cms-1.0.0.beta app/controllers/admin/imports_controller.rb
locomotive_cms-0.0.4.beta12 app/controllers/admin/imports_controller.rb
locomotive_cms-0.0.4.beta11 app/controllers/admin/imports_controller.rb