Sha256: cd8a1bba686ee662102549489cc40128fbb9ad845a0a012e7d98afe10b0707a8

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 KB

Contents

module Locomotive
  class PagesController < BaseController

    sections 'contents'

    localized

    before_filter :back_to_default_site_locale, :only => %w(new create)

    respond_to    :json, :only => [:show, :create, :update, :sort, :get_path]

    def index
      @pages = current_site.all_pages_in_once
      respond_with(@pages)
    end

    def show
      @page = current_site.pages.find(params[:id])
      respond_with @page
    end

    def new
      @page = current_site.pages.build
      respond_with @page
    end

    def create
      @page = current_site.pages.create(params[:page])
      respond_with @page, :location => edit_page_url(@page._id)
    end

    def edit
      @page = current_site.pages.find(params[:id])
      respond_with @page
    end

    def update
      @page = current_site.pages.find(params[:id])
      @page.update_attributes(params[:page])
      respond_with @page, :location => edit_page_url(@page._id)
    end

    def destroy
      @page = current_site.pages.find(params[:id])
      @page.destroy
      respond_with @page
    end

    def sort
      @page = current_site.pages.find(params[:id])
      @page.sort_children!(params[:children])
      respond_with @page
    end

    def get_path
      page = current_site.pages.build(:parent => current_site.pages.find(params[:parent_id]), :slug => params[:slug].permalink)
      page.send(:build_fullpath)
      render :json => { :url => public_page_url(page), :slug => page.slug }
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc2 app/controllers/locomotive/pages_controller.rb
locomotive_cms-2.0.0.rc1 app/controllers/locomotive/pages_controller.rb