class Admin::PagesController < ApplicationController layout "content" before_filter :authenticate_user! before_filter :find_parent_item before_filter :is_admin? before_filter :set_current_item def show @item = Page.find(params[:id]) respond_to do |format| format.html { render 'admin/items/index' } format.js {} end end def new @item = Page.new @item.is_published = true @item.parent_id = @parent_item.id rescue nil end def edit @item = Page.find(params[:id]) @item.content = parse_content(@item.content, {:locale => 'show'}) @i18n_variable = @item.i18n_variable end def create @item = Page.new(params[:page]) @item.content = parse_content(@item.content, {:locale => 'create'}) if @item.save flash[:notice] = t('admin.create_success_page') redirect_to admin_items_url( :parent_id => @item.parent_id ) else render :action => "new" end end def update @item = Page.find(params[:id]) parse_content(@item.content, {:locale => 'destroy'}) if @item.update_attributes(params[:page]) @item.content = parse_content(@item.content, {:locale => 'create'}) @item.save! flash[:notice] = t('admin.update_success_page') redirect_to admin_items_url( :parent_id => @item.parent_id ) else render :action => "edit" end end def destroy @item = Page.find(params[:id]) @item.destroy @item.destroy_i18n_variable redirect_to admin_items_url( :parent_id => @item.parent_id ) end end