Sha256: 36ccbbbff5b50cd1c891feb7e275f86198c5bb34a1860386414dc4a7dc6f98e1

Contents?: true

Size: 1.12 KB

Versions: 4

Compression:

Stored size: 1.12 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
        @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-0.0.4.beta10 app/controllers/admin/imports_controller.rb
locomotive_cms-0.0.4.beta9 app/controllers/admin/imports_controller.rb
locomotive_cms-0.0.4.beta8 app/controllers/admin/imports_controller.rb
locomotive_cms-0.0.4.beta7 app/controllers/admin/imports_controller.rb