aboutsummaryrefslogtreecommitdiffstats
path: root/accounts
diff options
context:
space:
mode:
authorAndrea Lepori <alepori@student.ethz.ch>2022-01-10 18:40:12 +0100
committerAndrea Lepori <alepori@student.ethz.ch>2022-01-10 18:40:22 +0100
commit0d3883fc76751d70871743e3eeb3d83cfe458e39 (patch)
tree21b2f9cffd3270615460cf4501da124a78537a72 /accounts
parentget version, commit_id and branch only at startup (diff)
downloadscout-subs-0d3883fc76751d70871743e3eeb3d83cfe458e39.tar.gz
scout-subs-0d3883fc76751d70871743e3eeb3d83cfe458e39.zip
add option to disable oauth
Diffstat (limited to 'accounts')
-rw-r--r--accounts/templates/accounts/index.html58
-rw-r--r--accounts/views.py15
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)