Class: Cmtool::PagesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- Cmtool::PagesController
- Defined in:
- app/controllers/cmtool/pages_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /pages POST /pages.xml.
-
#destroy ⇒ Object
DELETE /pages/1 DELETE /pages/1.xml.
-
#edit ⇒ Object
GET /pages/1/edit.
- #generate_name ⇒ Object
-
#index ⇒ Object
GET /pages GET /pages.xml.
-
#new ⇒ Object
GET /pages/new GET /pages/new.xml.
- #preview ⇒ Object
-
#show ⇒ Object
GET /pages/1 GET /pages/1.xml.
-
#update ⇒ Object
PUT /pages/1 PUT /pages/1.xml.
Methods included from ControllerGlue
Instance Method Details
#create ⇒ Object
POST /pages POST /pages.xml
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'app/controllers/cmtool/pages_controller.rb', line 43 def create @page = ::Page.new(page_params) respond_to do |format| if @page.save format.html { redirect_to(cmtool.pages_path, :notice => I18n.t('cmtool.action.create.successful', :model => ::Page.model_name.human)) } format.xml { render :xml => @page, :status => :created, :location => @page } else format.html { render :action => "new" } format.xml { render :xml => @page.errors, :status => :unprocessable_entity } end end end |
#destroy ⇒ Object
DELETE /pages/1 DELETE /pages/1.xml
75 76 77 78 79 80 81 82 83 |
# File 'app/controllers/cmtool/pages_controller.rb', line 75 def destroy @page = ::Page.find(params[:id]) @page.destroy respond_to do |format| format.html { redirect_to(cmtool.pages_path) } format.xml { head :ok } end end |
#edit ⇒ Object
GET /pages/1/edit
37 38 39 |
# File 'app/controllers/cmtool/pages_controller.rb', line 37 def edit @page = ::Page.find(params[:id]) end |
#generate_name ⇒ Object
84 85 86 87 88 89 90 91 92 93 |
# File 'app/controllers/cmtool/pages_controller.rb', line 84 def generate_name @page = ::Page.find(params[:id]) if params[:id] render(:js => "alert('Wel eerst een titel invullen')") and return if params[:name].blank? # Strategy, # make name lowercase # strip all non word charachters from front and end # then replace non word characters with a dash @generated_name = ::Page.generate_name(params[:name]) @has_template = @page && @page.name != @generated_name ? template_exists?("pages/#{@page.name}") : nil end |
#index ⇒ Object
GET /pages GET /pages.xml
5 6 7 8 9 10 11 12 |
# File 'app/controllers/cmtool/pages_controller.rb', line 5 def index #@pages = ::Page.all.sort_by{|p| "#{p.parent.presence.try(:reverse) || p.name}#{p.position.to_s.rjust(6, "0")}" } respond_to do |format| format.html # index.html.erb format.xml { render :xml => @pages } end end |
#new ⇒ Object
GET /pages/new GET /pages/new.xml
27 28 29 30 31 32 33 34 |
# File 'app/controllers/cmtool/pages_controller.rb', line 27 def new @page = ::Page.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @page } end end |
#preview ⇒ Object
95 96 97 98 99 100 101 102 103 |
# File 'app/controllers/cmtool/pages_controller.rb', line 95 def preview if request.post? session[:preview_page] = params[:page].to_hash head :ok else @page = ::Page.new session[:preview_page] render "pages/show", layout: @page.layout end end |
#show ⇒ Object
GET /pages/1 GET /pages/1.xml
16 17 18 19 20 21 22 23 |
# File 'app/controllers/cmtool/pages_controller.rb', line 16 def show @page = ::Page.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @page } end end |
#update ⇒ Object
PUT /pages/1 PUT /pages/1.xml
59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/controllers/cmtool/pages_controller.rb', line 59 def update @page = ::Page.find(params[:id]) respond_to do |format| if @page.update_attributes(page_params) format.html { redirect_to(cmtool.pages_path, :notice => I18n.t('cmtool.action.update.successful', :model => ::Page.model_name.human)) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @page.errors, :status => :unprocessable_entity } end end end |