Class: SimpleDiscussion::ForumPostsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/simple_discussion/forum_posts_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#is_moderator?, #is_moderator_or_owner?, #page_number, #require_mod_or_author_for_post!, #require_mod_or_author_for_thread!

Instance Method Details

#createObject



8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 8

def create
  @forum_post = @forum_thread.forum_posts.new(forum_post_params)
  @forum_post.user_id = current_user.id

  if @forum_post.save
    SimpleDiscussion::ForumPostNotificationJob.perform_later(@forum_post)
    redirect_to simple_discussion.forum_thread_path(@forum_thread, anchor: "forum_post_#{@forum_post.id}")
  else
    render template: "simple_discussion/forum_threads/show"
  end
end

#destroyObject



31
32
33
34
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 31

def destroy
  @forum_post.destroy!
  redirect_to simple_discussion.forum_thread_path(@forum_thread)
end

#editObject



20
21
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 20

def edit
end

#solvedObject



36
37
38
39
40
41
42
43
44
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 36

def solved
  @forum_post = @forum_thread.forum_posts.find(params[:id])

  @forum_thread.forum_posts.update_all(solved: false)
  @forum_post.update_column(:solved, true)
  @forum_thread.update_column(:solved, true)

  redirect_to simple_discussion.forum_thread_path(@forum_thread, anchor: ActionView::RecordIdentifier.dom_id(@forum_post))
end

#unsolvedObject



46
47
48
49
50
51
52
53
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 46

def unsolved
  @forum_post = @forum_thread.forum_posts.find(params[:id])

  @forum_thread.forum_posts.update_all(solved: false)
  @forum_thread.update_column(:solved, false)

  redirect_to simple_discussion.forum_thread_path(@forum_thread, anchor: ActionView::RecordIdentifier.dom_id(@forum_post))
end

#updateObject



23
24
25
26
27
28
29
# File 'app/controllers/simple_discussion/forum_posts_controller.rb', line 23

def update
  if @forum_post.update(forum_post_params)
    redirect_to simple_discussion.forum_thread_path(@forum_thread)
  else
    render action: :edit
  end
end