Sha256: 55bbcd9e6ffcc4a0338a752c39ec27ba46bddc012ca0a5354f606939dc8ad6e4

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 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

1 entries across 1 versions & 1 rubygems

Version Path
comfortable_mexican_sofa-1.1.1 app/controllers/cms_admin/sites_controller.rb