Class: Thredded::ThemePreviewsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/thredded/theme_previews_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#signed_in?

Instance Method Details

#current_page ⇒ Object



37
38
39
# File 'app/controllers/thredded/theme_previews_controller.rb', line 37

def current_page
  1
end

#messageboard ⇒ Object



27
28
29
# File 'app/controllers/thredded/theme_previews_controller.rb', line 27

def messageboard
  @messageboard ||= Messageboard.first
end

#preference ⇒ Object



31
32
33
34
35
# File 'app/controllers/thredded/theme_previews_controller.rb', line 31

def preference
  @preference ||= NotificationPreference
    .where(messageboard_id: messageboard.id, user_id: user.id)
    .first_or_create!
end

#show ⇒ Object



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

def show
  @messageboard = messageboard
  @messageboards = Messageboard.where(closed: false).decorate
  @topics = messageboard.topics.on_page(current_page).limit(3)
  @decorated_topics = UserTopicDecorator.decorate_all(user, @topics)
  @decorated_private_topics = Thredded::UserPrivateTopicDecorator
    .decorate_all(thredded_current_user, user.thredded_private_topics)
  @topic = @topics.find { |t| t.posts.present? } || @topics.first ||
    @messageboard.topics.build(title: 'Hello', slug: 'hello', user: user)
  @user_topic = UserTopicDecorator.new(user, @topic)
  @posts = @topic.posts.first(3)
  @post = @posts.first || @messageboard.posts.build(id: 1337, postable: @topic, content: 'Hello world', user: user)
  @new_post = @messageboard.posts.build(postable: @topic)
  @new_topic = TopicForm.new(messageboard: messageboard, user: Thredded::NullUser.new)
  @new_private_topic = PrivateTopicForm.new(user: user)
  @private_topic = PrivateTopic.all.first || PrivateTopic.new(id: 1337, title: 'Hello', user: user, last_user: user,
                                                              users: [user])
  @private_post = PrivatePost.first ||
    @private_topic.posts.build(id: 1337, postable: @private_topic, content: 'A private hello world', user: user)
  @preference = preference
end