diff --git a/seahub/base/context_processors.py b/seahub/base/context_processors.py index 7814c254eb..b4b0efa3ea 100644 --- a/seahub/base/context_processors.py +++ b/seahub/base/context_processors.py @@ -110,6 +110,7 @@ def base(request): 'SITE_ROOT': SITE_ROOT, 'constance_enabled': dj_settings.CONSTANCE_ENABLED, 'FILE_SERVER_ROOT': file_server_root, + 'LOGIN_URL': dj_settings.LOGIN_URL, 'enable_thumbnail': ENABLE_THUMBNAIL, 'thumbnail_size_for_original': THUMBNAIL_SIZE_FOR_ORIGINAL, 'enable_guest_invitation': ENABLE_GUEST_INVITATION, diff --git a/seahub/templates/base_for_backbone.html b/seahub/templates/base_for_backbone.html index f0f4d4bffa..f5cb7de93e 100644 --- a/seahub/templates/base_for_backbone.html +++ b/seahub/templates/base_for_backbone.html @@ -119,6 +119,7 @@ var app = { config: { mediaUrl: '{{ MEDIA_URL }}', siteRoot: '{{ SITE_ROOT }}', + loginUrl: '{{ LOGIN_URL }}', fileServerRoot: '{{ FILE_SERVER_ROOT }}' } }; diff --git a/seahub/templates/sysadmin/sysadmin_backbone.html b/seahub/templates/sysadmin/sysadmin_backbone.html index faf48381c3..bdb72da96d 100644 --- a/seahub/templates/sysadmin/sysadmin_backbone.html +++ b/seahub/templates/sysadmin/sysadmin_backbone.html @@ -78,7 +78,8 @@ var app = { config: { mediaUrl: '{{ MEDIA_URL }}', - siteRoot: '{{ SITE_ROOT }}' + siteRoot: '{{ SITE_ROOT }}', + loginUrl: '{{ LOGIN_URL }}' } }; app["pageOptions"] = { diff --git a/static/scripts/common.js b/static/scripts/common.js index 7c015ec2b8..4d5edb80fb 100644 --- a/static/scripts/common.js +++ b/static/scripts/common.js @@ -454,10 +454,13 @@ define([ prepareCollectionFetchErrorMsg: function(collection, response, opts) { var err_msg; if (response.responseText) { - if (response['status'] == 401 || response['status'] == 403) { + if (response['status'] == 401) { err_msg = gettext("Permission error"); + } else if (response['status'] == 403) { + err_msg = gettext("Permission error"); + location.href = app.config.loginUrl + '?next=' + + encodeURIComponent(location.pathname + location.hash); } else { - //err_msg = gettext("Error"); err_msg = this.HTMLescape(JSON.parse(response.responseText).error_msg); } } else {