Commit 181d0e46 by Martyn James

Reorganise reindexing operation

parent 847f56d1
......@@ -481,6 +481,9 @@ def course_index(request, course_key):
with modulestore().bulk_operations(course_key):
course_module = get_course_and_check_access(course_key, request.user, depth=None)
lms_link = get_lms_link_for_item(course_module.location)
reindex_link = None
if settings.FEATURES.get('ENABLE_COURSEWARE_INDEX', False):
reindex_link = "/course_search_index/{course_id}".format(course_id=unicode(course_key))
sections = course_module.get_children()
course_structure = _course_outline_json(request, course_module)
locator_to_show = request.REQUEST.get('show', None)
......@@ -504,7 +507,7 @@ def course_index(request, course_key):
'rerun_notification_id': current_action.id if current_action else None,
'course_release_date': course_release_date,
'settings_url': settings_url,
'reindex_button': settings.FEATURES.get('ENABLE_COURSEWARE_INDEX', False),
'reindex_link': reindex_link,
'notification_dismiss_url': reverse_course_url(
'course_notifications_handler',
current_action.course_key,
......
......@@ -329,8 +329,10 @@ define(["jquery", "js/common_helpers/ajax_helpers", "js/views/utils/view_utils",
var reindexSpy = spyOn(outlinePage, 'startReIndex').andCallThrough();
var successSpy = spyOn(outlinePage, 'onIndexSuccess').andCallThrough();
var reindexButton = outlinePage.$('.button.button-reindex');
var test_url = '/course_search_index/5';
reindexButton.attr('href', test_url)
reindexButton.trigger('click');
AjaxHelpers.expectJsonRequest(requests, 'GET', '/course_search_index/5');
AjaxHelpers.expectJsonRequest(requests, 'GET', test_url);
AjaxHelpers.respondWithJson(requests, createMockIndexJSON(true));
expect(reindexSpy).toHaveBeenCalled();
expect(successSpy).toHaveBeenCalled();
......@@ -340,8 +342,10 @@ define(["jquery", "js/common_helpers/ajax_helpers", "js/views/utils/view_utils",
createCourseOutlinePage(this, mockSingleSectionCourseJSON);
var reindexSpy = spyOn(outlinePage, 'startReIndex').andCallThrough();
var reindexButton = outlinePage.$('.button.button-reindex');
var test_url = '/course_search_index/5';
reindexButton.attr('href', test_url)
reindexButton.trigger('click');
AjaxHelpers.expectJsonRequest(requests, 'GET', '/course_search_index/5');
AjaxHelpers.expectJsonRequest(requests, 'GET', test_url);
AjaxHelpers.respondWithJson(requests, createMockIndexJSON(false));
expect(reindexSpy).toHaveBeenCalled();
});
......
......@@ -110,15 +110,14 @@ define(["jquery", "underscore", "gettext", "js/views/pages/base_page", "js/views
event.preventDefault();
var target = $(event.currentTarget);
target.css('cursor', 'wait');
this.startReIndex()
this.startReIndex(target.attr('href'))
.done(function() {self.onIndexSuccess();})
.always(function() {target.css('cursor', 'pointer');});
},
startReIndex: function() {
var locator = window.course.id;
startReIndex: function(reindex_url) {
return $.ajax({
url: '/course_search_index/' + locator,
url: reindex_url,
method: 'GET'
});
},
......
......@@ -68,9 +68,9 @@ from contentstore.utils import reverse_usage_url
<i class="icon fa fa-plus"></i>${_('New Section')}
</a>
</li>
%if reindex_button:
%if reindex_link:
<li class="nav-item">
<a href="#" class="button button-reindex" data-category="reindex" title="${_('Reindex current course')}">
<a href="${reindex_link}" class="button button-reindex" data-category="reindex" title="${_('Reindex current course')}">
<i class="icon-arrow-right"></i>${_('Reindex')}
</a>
</li>
......
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