app/controllers/admin/posts_controller.rb in tb_blog-1.1.3 vs app/controllers/admin/posts_controller.rb in tb_blog-1.2.0

- old
+ new

@@ -1,42 +1,39 @@ class Admin::PostsController < Admin::ApplicationController + include BlogUrlHelpers respond_to :html, :xml, :json - before_filter :find_post, :only => [:show, :edit, :update, :destroy] - add_breadcrumb 'Blog Posts', :admin_posts_path - belongs_to_spud_app :blog_posts + before_action :load_blog + before_action :find_post, :only => [:show, :edit, :update, :destroy] def index - @posts = SpudPost.where(:is_news => false).order('published_at desc').includes(:pending_comments, :author).paginate(:page => params[:page], :per_page => 15) + @posts = SpudPost.for_blog(params[:blog_key]).ordered.includes(:pending_comments, :author).paginate(:page => params[:page], :per_page => 15) respond_with @posts end def edit - @categories = SpudPostCategory.ordered respond_with @post end def update - @categories = SpudPostCategory.ordered - params[:spud_post][:spud_site_ids] ||= [] params[:spud_post][:updated_at] = Time.now() if @post.update_attributes(post_params) flash[:notice] = 'Post was successfully updated.' end respond_with @post, :location => admin_posts_path end def new @categories = SpudPostCategory.ordered - @post = SpudPost.new(:published_at => Time.zone.now, :spud_user_id => current_user.id, :spud_site_ids => [session[:admin_site] || 0]) + @post = SpudPost.new(:published_at => Time.zone.now, :spud_user_id => current_user.id) respond_with @post end def create @categories = SpudPostCategory.ordered - params[:spud_post][:spud_site_ids] ||= [] @post = SpudPost.new(post_params) + @post.blog_key = params[:blog_key] if @post.save flash[:notice] = 'Post was successfully created.' end respond_with @post, :location => admin_posts_path end @@ -57,13 +54,23 @@ redirect_to admin_posts_path and return false end end def post_params - permitted = [:published_at, :title, :content, :spud_user_id, :url_name, :visible, :comments_enabled, :meta_keywords, :meta_description, :content_format, :category_ids => [], :spud_site_ids => []] + permitted = [:published_at, :title, :content, :spud_user_id, :url_name, :visible, :comments_enabled, :meta_keywords, :meta_description, :content_format, :category_ids => []] if Spud::Blog.permitted_attributes.present? permitted = permitted + Spud::Blog.permitted_attributes end params.require(:spud_post).permit(permitted) end + def load_blog + @config = SpudBlogConfig.find(params[:blog_key]) + if @config.blank? + redirect_to admin_root_path + return false + else + self.class.belongs_to_spud_app "#{@config.name} Posts".parameterize.underscore.to_sym + add_breadcrumb "#{@config.name} Posts", admin_posts_path(blog_key: @config.key) + end + end end