mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 16:21:18 +08:00
Allow plugins to build topic lists
This commit is contained in:
24
lib/topic_list_responder.rb
Normal file
24
lib/topic_list_responder.rb
Normal file
@ -0,0 +1,24 @@
|
||||
# Helps us respond with a topic list from a controller
|
||||
module TopicListResponder
|
||||
|
||||
def respond_with_list(list)
|
||||
discourse_expires_in 1.minute
|
||||
|
||||
list.draft_key = Draft::NEW_TOPIC
|
||||
list.draft_sequence = DraftSequence.current(current_user, Draft::NEW_TOPIC)
|
||||
list.draft = Draft.get(current_user, list.draft_key, list.draft_sequence) if current_user
|
||||
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
@list = list
|
||||
store_preloaded(list.preload_key, MultiJson.dump(TopicListSerializer.new(list, scope: guardian)))
|
||||
render 'list'
|
||||
end
|
||||
format.json do
|
||||
render_serialized(list, TopicListSerializer)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
Reference in New Issue
Block a user