Class: Gluttonberg::Admin::Content::PagesController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- BaseController
- Gluttonberg::Admin::Content::PagesController
- Defined in:
- app/controllers/gluttonberg/admin/content/pages_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #delete ⇒ Object
- #destroy ⇒ Object
- #duplicate ⇒ Object
- #edit_home ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #pages_list_for_tinymce ⇒ Object
- #show ⇒ Object
- #update_home ⇒ Object
Instance Method Details
#create ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 36 def create @page = Page.new(params["gluttonberg_page"]) @page.state = "draft" @page.published_at = nil @page.user_id = current_user.id if @page.save @page.create_default_template_file flash[:notice] = "The page was successfully created." default_localization = Gluttonberg::PageLocalization.find(:first , :conditions => { :page_id => @page.id , :locale_id => Gluttonberg::Locale.first_default.id } ) redirect_to edit_admin_page_page_localization_path( :page_id => @page.id, :id => default_localization.id) else prepare_to_edit render :new end end |
#delete ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 26 def delete default_localization = Gluttonberg::PageLocalization.find(:first , :conditions => { :page_id => @page.id , :locale_id => Gluttonberg::Locale.first_default.id } ) display_delete_confirmation( :title => "Delete “#{default_localization.name}” page?", :url => admin_page_url(@page), :return_url => admin_pages_path , :warning => "Children of this page will also be deleted." ) end |
#destroy ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 53 def destroy if @page.destroy flash[:notice] = "The page was successfully deleted." redirect_to admin_pages_path else flash[:error] = "There was an error deleting the page." redirect_to admin_pages_path end end |
#duplicate ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 85 def duplicate @page = Page.find(params[:id]) @duplicated_page = @page.duplicate @duplicated_page.user_id = current_user.id if @duplicated_page flash[:notice] = "The page was successfully duplicated." default_localization = Gluttonberg::PageLocalization.find(:first , :conditions => { :page_id => @duplicated_page.id , :locale_id => Gluttonberg::Locale.first_default.id } ) redirect_to edit_admin_page_page_localization_path( :page_id => @duplicated_page.id, :id => default_localization.id) else flash[:error] = "There was an error duplicating the page." redirect_to admin_pages_path end end |
#edit_home ⇒ Object
63 64 65 66 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 63 def edit_home @current_home_page_id = Page.home_page.id unless Page.home_page.blank? @pages = Page.all end |
#index ⇒ Object
13 14 15 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 13 def index @pages = Page.find(:all , :conditions => { :parent_id => nil } , :order => 'position' ) end |
#new ⇒ Object
20 21 22 23 24 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 20 def new @page = Page.new @page_localization = PageLocalization.new prepare_to_edit end |
#pages_list_for_tinymce ⇒ Object
80 81 82 83 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 80 def pages_list_for_tinymce @pages = Page.published.find(:all , :conditions => "not(description_name = 'top_level_page')" , :order => 'position' ) render :layout => false end |
#show ⇒ Object
17 18 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 17 def show end |
#update_home ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/controllers/gluttonberg/admin/content/pages_controller.rb', line 68 def update_home @new_home = Page.find(:first , :conditions => { :id => params[:home] }) unless @new_home.blank? @new_home.update_attributes(:home => true) else @old_home = Page.find(:first , :conditions => { :home => true }) @old_home.update_attributes(:home => false) end Gluttonberg::Feed.log(current_user,@new_home,@new_home.name , "set as home") render :text => "Home page is changed" end |