Sha256: 0ef3f0f89093870eee3a340a61f9420003fb7762d4025fe452076cbbd95d9e83

Contents?: true

Size: 1.32 KB

Versions: 5

Compression:

Stored size: 1.32 KB

Contents

class CmsAdmin::SitesController < CmsAdmin::BaseController

  skip_before_filter :load_admin_cms_site

  before_filter :build_cms_site,  :only => [:new, :create]
  before_filter :load_cms_site,   :only => [:edit, :update, :destroy]

  def index
    return redirect_to :action => :new if Cms::Site.count == 0
    @cms_sites = Cms::Site.all
  end

  def new
    render
  end

  def edit
    render
  end

  def create
    @cms_site.save!
    flash[:notice] = 'Site created'
    redirect_to :action => :edit, :id => @cms_site
  rescue ActiveRecord::RecordInvalid
    flash.now[:error] = 'Failed to create site'
    render :action => :new
  end

  def update
    @cms_site.update_attributes!(params[:cms_site])
    flash[:notice] = 'Site updated'
    redirect_to :action => :edit, :id => @cms_site
  rescue ActiveRecord::RecordInvalid
    flash.now[:error] = 'Failed to update site'
    render :action => :edit
  end

  def destroy
    @cms_site.destroy
    flash[:notice] = 'Site deleted'
    redirect_to :action => :index
  end

protected

  def build_cms_site
    @cms_site = Cms::Site.new(params[:cms_site])
    @cms_site.hostname ||= request.host.downcase
  end

  def load_cms_site
    @cms_site = Cms::Site.find(params[:id])
  rescue ActiveRecord::RecordNotFound
    flash[:error] = 'Site not found'
    redirect_to :action => :index
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
comfortable_mexican_sofa-1.2.4 app/controllers/cms_admin/sites_controller.rb
comfortable_mexican_sofa-1.2.3 app/controllers/cms_admin/sites_controller.rb
comfortable_mexican_sofa-1.2.2 app/controllers/cms_admin/sites_controller.rb
comfortable_mexican_sofa-1.2.1 app/controllers/cms_admin/sites_controller.rb
comfortable_mexican_sofa-1.2.0 app/controllers/cms_admin/sites_controller.rb