Sha256: 63d43503e382d82c1f24a8908f35274c679262373d2fd2a30ae9e90d209b59d1

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

class PagesController < ApplicationController
  
  layout "pages", :except => :edit
  
  scaffold :page, :suffix => true
  scaffold :content, :suffix => true
  
  in_place_edit_for :page, :title
  
  def index
  end
  
  def list
    @pages = Page.find_all
  end
  
  def create
    @page = Page.create(:title => "New Page ("<<( Page.find(:all).last.id + 1 ).to_s<< ")",
                        :theme_name => Page.available_themes.first )
    if @page.save
      render :update do |page|
        page.insert_html :bottom, 'pages_listed', :partial=>'page_listed'
        page["page_"<< @page.id.to_s].hide
        page["page_"<< @page.id.to_s].visual_effect :slide_down
      end
    else
      render :update do |page|
        page.replace_html 'flash_error', "The page title you've chosen is unavailable, please try with a diferent title."
      end
    end
  end
  
  def destroy
    @page = Page.find(params[:id])
    @page.destroy
    render :update do |page|
      page['page_'+params[:id]].visual_effect :drop_out
    end
  end
  
  def edit
    @page = Page.find(params[:id])
  end
  
  def select_theme
    @page = Page.find(params[:id])
    render :update do |page|
      page.insert_html :bottom, "change_theme", :partial => "select_theme"
    end
  end
  
  def save_theme
    @page = Page.find(params[:id])
    @page.update_attribute :theme_name, params[:page][:theme_name]
    
    redirect_to :action=>"edit", :id=>params[:id]
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
compages-0.4.0 app/controllers/pages_controller.rb