From 24cb58dc125a083d68a1ba07215c7afc427f75c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norman=20J=C3=A4ckel?= Date: Thu, 10 Dec 2015 00:02:16 +0100 Subject: [PATCH 1/2] Added guest enabled info to WhoAmI view. --- openslides/core/static/templates/index.html | 4 ++-- openslides/users/static/js/users/site.js | 4 ++-- openslides/users/views.py | 6 +++--- tests/integration/users/test_views.py | 8 ++++++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/openslides/core/static/templates/index.html b/openslides/core/static/templates/index.html index bb6934f01..bcb471bb3 100644 --- a/openslides/core/static/templates/index.html +++ b/openslides/core/static/templates/index.html @@ -171,8 +171,8 @@ - - + + diff --git a/openslides/users/static/js/users/site.js b/openslides/users/static/js/users/site.js index 9e19f8338..8f08d537f 100644 --- a/openslides/users/static/js/users/site.js +++ b/openslides/users/static/js/users/site.js @@ -139,9 +139,9 @@ angular.module('OpenSlidesApp.users.site', ['OpenSlidesApp.users']) // Put the operator into the root scope $http.get('/users/whoami/').success(function(data) { operator.setUser(data.user_id); - if (data.user_id == null) { + if (data.user_id === null) { // redirect to login dialog if use is not logged in - $state.go('login'); + $state.go('login', {guest_enabled: data.guest_enabled}); } }); $rootScope.operator = operator; diff --git a/openslides/users/views.py b/openslides/users/views.py index 85bef6add..905f600ce 100644 --- a/openslides/users/views.py +++ b/openslides/users/views.py @@ -229,12 +229,12 @@ class WhoAmIView(APIView): def get_context_data(self, **context): """ - Appends the user id to the context. - - Uses None for the anonymous user. + Appends the user id to the context. Uses None for the anonymous + user. Appends also a flag if guest users are enabled in the config. """ return super().get_context_data( user_id=self.request.user.pk, + guest_enabled=config['general_system_enable_anonymous'], **context) diff --git a/tests/integration/users/test_views.py b/tests/integration/users/test_views.py index 97d3b2bb0..97a7678be 100644 --- a/tests/integration/users/test_views.py +++ b/tests/integration/users/test_views.py @@ -12,7 +12,9 @@ class TestWhoAmIView(TestCase): response = self.client.get(self.url) self.assertEqual(response.status_code, 200) - self.assertEqual(response.content, b'{"user_id":null}') + self.assertEqual( + json.loads(response.content.decode('utf-8')), + {'user_id': None, 'guest_enabled': False}) def test_get_authenticated_user(self): self.client.login(username='admin', password='admin') @@ -20,7 +22,9 @@ class TestWhoAmIView(TestCase): response = self.client.get(self.url) self.assertEqual(response.status_code, 200) - self.assertEqual(response.content, b'{"user_id":1}') + self.assertEqual( + json.loads(response.content.decode('utf-8')), + {'user_id': 1, 'guest_enabled': False}) def test_post(self): response = self.client.post(self.url) From 5d29af5f523248fcdc4519d6df5238d2580492a4 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Thu, 10 Dec 2015 08:35:56 +0100 Subject: [PATCH 2/2] Improved login form. - Add redirect after aborting login. (Fixes #1762) - Use new state paramater 'guest_enabled' for login form. --- .../core/static/templates/core/login-form.html | 2 +- openslides/users/static/js/users/site.js | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/openslides/core/static/templates/core/login-form.html b/openslides/core/static/templates/core/login-form.html index 91ecc11f7..75898a658 100644 --- a/openslides/core/static/templates/core/login-form.html +++ b/openslides/core/static/templates/core/login-form.html @@ -17,7 +17,7 @@ placeholder="{{ 'Password' | translate }}">
-