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