diff options
author | Andrea Lepori <alepori@student.ethz.ch> | 2022-01-10 18:40:12 +0100 |
---|---|---|
committer | Andrea Lepori <alepori@student.ethz.ch> | 2022-01-10 18:40:22 +0100 |
commit | 0d3883fc76751d70871743e3eeb3d83cfe458e39 (patch) | |
tree | 21b2f9cffd3270615460cf4501da124a78537a72 /accounts | |
parent | get version, commit_id and branch only at startup (diff) | |
download | scout-subs-0d3883fc76751d70871743e3eeb3d83cfe458e39.tar.gz scout-subs-0d3883fc76751d70871743e3eeb3d83cfe458e39.zip |
add option to disable oauth
Diffstat (limited to '')
-rw-r--r-- | accounts/templates/accounts/index.html | 58 | ||||
-rw-r--r-- | accounts/views.py | 15 |
2 files changed, 45 insertions, 28 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 @@ <div id="settings" class="row"> <div class="col l8 offset-l2 s12"> <div class="card-panel"> + {% if midata_enabled %} <div class="row"> <div class="col s12"> <h5>Collegamento con MiData</h5> </div> </div> - {% if midata_user %} - <div class="row"> - <div class="col s12"> - Il tuo utente è già connesso a MiData - </div> - <div class="col m6 s12"> - <a href={% url 'oauth_disconnect' %} style="width: 100%" class="btn waves-effect waves-light {{color}}"> - Scollega da MiData - </a> + {% if midata_user %} + <div class="row"> + <div class="col s12"> + Il tuo utente è già connesso a MiData + </div> + <div class="col m6 s12"> + <a href={% url 'oauth_disconnect' %} style="width: 100%" class="btn waves-effect waves-light {{color}}"> + Scollega da MiData + </a> + </div> </div> - </div> - {% else %} - <div class="row"> - <div class="col s12"> - 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 %} + <div class="row"> + <div class="col s12"> + 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. + </div> </div> - </div> - <div class="row"> - <div class="col m6 s12"> - <a href={% url 'oauth_connect' %} style="width: 100%; background-color: #99BF62" class="btn waves-effect waves-light"> - <div class="row"> - <div class="col s2"> - <img style="height: 30px; padding-top: 3px" src="{% static 'pbs_logo.svg' %}" alt="PBS Logo"> - </div> - <div class="col s10"> - Collega a MiData + <div class="row"> + <div class="col m6 s12"> + <a href={% url 'oauth_connect' %} style="width: 100%; background-color: #99BF62" class="btn waves-effect waves-light"> + <div class="row"> + <div class="col s2"> + <img style="height: 30px; padding-top: 3px" src="{% static 'pbs_logo.svg' %}" alt="PBS Logo"> + </div> + <div class="col s10"> + Collega a MiData + </div> </div> - </div> - </a> + </a> + </div> </div> - </div> + {% endif %} {% endif %} <div class="row"> <div class="col s12"> 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) |