Use confirm dialogue.
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user