From 0d3883fc76751d70871743e3eeb3d83cfe458e39 Mon Sep 17 00:00:00 2001 From: Andrea Lepori Date: Mon, 10 Jan 2022 18:40:12 +0100 Subject: add option to disable oauth --- accounts/templates/accounts/index.html | 58 ++++++++++++++++++---------------- accounts/views.py | 15 +++++++++ client/views.py | 2 -- manager/settings.py | 2 ++ templates/registration/login.html | 26 ++++++++------- version.txt | 2 +- 6 files changed, 62 insertions(+), 43 deletions(-) diff --git a/accounts/templates/accounts/index.html b/accounts/templates/accounts/index.html index ea9c160..2a21cbe 100644 --- a/accounts/templates/accounts/index.html +++ b/accounts/templates/accounts/index.html @@ -317,43 +317,45 @@
+ {% if midata_enabled %}
Collegamento con MiData
- {% if midata_user %} -
-
- Il tuo utente è già connesso a MiData -
-
- - Scollega da MiData - + {% if midata_user %} +
+
+ Il tuo utente è già connesso a MiData +
+
-
- {% else %} -
-
- Collega il tuo account con MiData per avere un login unico. Attenzione una volta collegato il - tuo account i dati presenti su MiData dovranno essere modificati sulla piattaforma stessa. + {% else %} +
+
+ Collega il tuo account con MiData per avere un login unico. Attenzione una volta collegato il + tuo account i dati presenti su MiData dovranno essere modificati sulla piattaforma stessa. +
-
-
-
- - + {% endif %} {% endif %}
diff --git a/accounts/views.py b/accounts/views.py index 2455d73..cd17552 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -30,6 +30,7 @@ from pdf2image.exceptions import ( oauth = OAuth() hitobito = oauth.register(name="hitobito") api_url = settings.AUTHLIB_OAUTH_CLIENTS["hitobito"]["api_url"] +MIDATA_ENABLED = settings.OAUTH_ENABLED # override to remove help text class RegisterForm(UserCreationForm): @@ -96,9 +97,13 @@ def copy_from_midata(request, usercode): class CustomLoginView(LoginView): form_class = AuthForm + extra_context = {'midata_enabled': MIDATA_ENABLED} # send to hitobito request to get token def oauth_login(request): + if not MIDATA_ENABLED: + return None + redirect_uri = request.build_absolute_uri(reverse('auth')) # forward next page requested by user @@ -111,6 +116,9 @@ def oauth_login(request): # callback after acquiring token def auth(request): + if not MIDATA_ENABLED: + return None + token = hitobito.authorize_access_token(request) # request data from user account @@ -152,6 +160,9 @@ def auth(request): # send to hitobito request to get token @login_required def oauth_connect(request): + if not MIDATA_ENABLED: + return None + redirect_uri = request.build_absolute_uri(reverse('auth_connect')) return hitobito.authorize_redirect(request, redirect_uri) @@ -171,6 +182,9 @@ def oauth_disconnect(request): # callback after acquiring token @login_required def auth_connect(request): + if not MIDATA_ENABLED: + return None + token = hitobito.authorize_access_token(request) # request data from user account @@ -603,6 +617,7 @@ def personal_wrapper(request, errors): 'usable_password': usable_password, 'settings_active': settings_active, 'personal_active': personal_active, + 'midata_enabled': MIDATA_ENABLED, } return render(request, 'accounts/index.html', context) diff --git a/client/views.py b/client/views.py index 992f7dd..0f1bfaa 100644 --- a/client/views.py +++ b/client/views.py @@ -331,7 +331,5 @@ def about(request): if version.startswith("0"): version = "Beta " + version - # get commitid using git command, a bit hacky but works - context = {"version": version, "commitid": settings.COMMIT_ID} return render(request, 'client/about.html', context) diff --git a/manager/settings.py b/manager/settings.py index 7649631..3432ae0 100644 --- a/manager/settings.py +++ b/manager/settings.py @@ -52,6 +52,8 @@ with open("version.txt", 'r') as f: BRANCH = check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"]).decode() COMMIT_ID = check_output(["git", "rev-parse", "HEAD"]).decode() +OAUTH_ENABLED = True + # Application definition INSTALLED_APPS = [ diff --git a/templates/registration/login.html b/templates/registration/login.html index 9ed5ac4..c9b5362 100644 --- a/templates/registration/login.html +++ b/templates/registration/login.html @@ -39,20 +39,22 @@




-