Class: BlogPostPortlet

Inherits:
Cms::Portlet
  • Object
show all
Defined in:
app/portlets/blog_post_portlet.rb

Instance Method Summary collapse

Instance Method Details

#create_commentObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/portlets/blog_post_portlet.rb', line 28

def create_comment
  work_around_cms_3_3_bug_where_current_user_is_not_correctly_set

  params[:blog_comment].merge! :ip => request.remote_ip
  blog_comment = BcmsBlog::BlogComment.new(params[:blog_comment])
  if blog_comment.valid? && blog_comment.save
    url_for_success
  else
    store_params_in_flash
    store_errors_in_flash(blog_comment.errors)
    url_for_failure
  end
end

#renderObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/portlets/blog_post_portlet.rb', line 5

def render
  scope = BcmsBlog::Blog.find(self.blog_id).posts
  if params[:blog_post_id]
    @blog_post = scope.find(params[:blog_post_id])
  elsif params[:slug]
    if params[:year]
      date = Date.new(params[:year].to_i, params[:month].to_i, params[:day].to_i)
      scope = scope.published_between(date, date + 1.day)
    end
    @blog_post = scope.find_by_slug!(params[:slug])
  else
    raise BcmsBlog::BlogPost::INCORRECT_PARAMETERS
  end

  make_page_title_use_blog_post_name(@blog_post)
 
  pmap = flash[instance_name] || params
  pmap[:blog_comment] ||= {}

  @blog_comment = @blog_post.comments.build pmap[:blog_comment]
  @blog_comment.errors.add_from_hash flash["#{instance_name}_errors"]
end