Use confirm dialogue.

This commit is contained in:
polesye
2014-06-23 18:24:53 +03:00
parent 2d8e1226c8
commit a52b25779d
2 changed files with 14 additions and 5 deletions

View File

@@ -628,13 +628,13 @@ def handle_xblock_callback(request, course_id, usage_id, handler, suffix=None):
- location -- the module location. Used to look up the XModule instance
- course_id -- defines the course context for this request.
Return 401 error if the user is not logged in. Raises Http404 if
Return 403 error if the user is not logged in. Raises Http404 if
the location and course_id do not identify a valid module, the module is
not accessible by the user, or the module raises NotFoundError. If the
module raises any other error, it will escape this function.
"""
if not request.user.is_authenticated():
return HttpResponse('Unauthorized', status=401)
return HttpResponse('Unauthenticated', status=403)
return _invoke_xblock_handler(request, course_id, usage_id, handler, suffix, request.user)

View File

@@ -1,6 +1,15 @@
$(document).ajaxError(function (event, jXHR) {
if (jXHR.status === 401) {
alert(gettext("You're logged out. Redirecting on login page."));
window.location.href = '/accounts/login?next=' + window.location.href;
if (jXHR.status === 403 && jXHR.responseText === 'Unauthenticated') {
var message = gettext(
'You have been logged out of your edX account. '+
'Click Okay to log in again now. '+
'Click Cancel to stay on this page '+
'(you must log in again to save your work).'
);
if (window.confirm(message)) {
var currentLocation = window.location.href;
window.location.href = '/accounts/login?next=' + currentLocation;
};
}
});