Commit 2e31ff8c by Greg Price

Recover from error loading forum thread list

When a user attempts to load more threads in the forum navigation
sidebar, reset the state of the world so the user can retry, and alert
the user appropriately.
parent a2f5e260
...@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes, ...@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected. the top. Include a label indicating the component affected.
LMS: Add error recovery when a user loads more threads in the forum sidebar.
LMS: Add a user-visible alert modal when a forums AJAX request fails. LMS: Add a user-visible alert modal when a forums AJAX request fails.
Blades: Add template for checkboxes response to studio. BLD-193. Blades: Add template for checkboxes response to studio. BLD-193.
......
...@@ -25,9 +25,8 @@ if Backbone? ...@@ -25,9 +25,8 @@ if Backbone?
@add model @add model
model model
retrieveAnotherPage: (mode, options={}, sort_options={})-> retrieveAnotherPage: (mode, options={}, sort_options={}, error=null)->
@current_page += 1 data = { page: @current_page + 1 }
data = { page: @current_page }
switch mode switch mode
when 'search' when 'search'
url = DiscussionUtil.urlFor 'search' url = DiscussionUtil.urlFor 'search'
...@@ -59,6 +58,7 @@ if Backbone? ...@@ -59,6 +58,7 @@ if Backbone?
@reset new_collection @reset new_collection
@pages = response.num_pages @pages = response.num_pages
@current_page = response.page @current_page = response.page
error: error
sortByDate: (thread) -> sortByDate: (thread) ->
# #
......
...@@ -156,7 +156,11 @@ if Backbone? ...@@ -156,7 +156,11 @@ if Backbone?
$(".post-list a").first()?.focus() $(".post-list a").first()?.focus()
) )
@collection.retrieveAnotherPage(@mode, options, {sort_key: @sortBy}) error = =>
@renderThreads()
DiscussionUtil.discussionAlert("Sorry", "We had some trouble loading more threads. Please try again.")
@collection.retrieveAnotherPage(@mode, options, {sort_key: @sortBy}, error)
renderThread: (thread) => renderThread: (thread) =>
content = $(_.template($("#thread-list-item-template").html())(thread.toJSON())) content = $(_.template($("#thread-list-item-template").html())(thread.toJSON()))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment