From d371e784b2e4f3be512e2a90b02a8ff980006145 Mon Sep 17 00:00:00 2001 From: groovecoder Date: Mon, 26 Feb 2018 13:24:18 -0600 Subject: [PATCH] fix #579: use allauth messages for header --- codesy/base/middleware.py | 14 +++++++++++--- codesy/settings.py | 3 ++- codesy/templates/base.html | 2 +- codesy/urls.py | 2 -- requirements.txt | 2 +- static/css/codesy-home.css | 4 ++++ 6 files changed, 19 insertions(+), 8 deletions(-) diff --git a/codesy/base/middleware.py b/codesy/base/middleware.py index 342b4f5d..f12d3d0a 100644 --- a/codesy/base/middleware.py +++ b/codesy/base/middleware.py @@ -1,4 +1,4 @@ -AUTH_CHANGING_PATHS = ['/accounts/logout/', '/accounts/github/login/callback/'] +from django.contrib import messages class AuthChangedMiddleware(object): @@ -7,6 +7,14 @@ class AuthChangedMiddleware(object): """ def process_response(self, request, response): - if request.path in AUTH_CHANGING_PATHS: - response['x-codesy-auth-changed'] = 'true' + for message in messages.get_messages(request): + if ( + response.status_code == 200 and + ( + "Successfully signed in" in message.message or + "You have signed out" in message.message + ) + ): + response['x-codesy-auth-changed'] = 'true' + return response diff --git a/codesy/settings.py b/codesy/settings.py index a116110e..b91314bb 100644 --- a/codesy/settings.py +++ b/codesy/settings.py @@ -71,9 +71,9 @@ 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'codesy.base.middleware.AuthChangedMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'payments.middleware.IdentityVerificationMiddleware', - 'codesy.base.middleware.AuthChangedMiddleware' ) @@ -107,6 +107,7 @@ # OAuth2View uses this for the callback_url protocol ACCOUNT_DEFAULT_HTTP_PROTOCOL = config( 'ACCOUNT_DEFAULT_HTTP_PROTOCOL', default='http') +ACCOUNT_LOGOUT_REDIRECT_URL = '/' LOGIN_REDIRECT_URL = '/' SOCIALACCOUNT_ADAPTER = 'codesy.adapters.CodesySocialAccountAdapter' SOCIALACCOUNT_QUERY_EMAIL = True diff --git a/codesy/templates/base.html b/codesy/templates/base.html index 4cca5485..3d509e40 100644 --- a/codesy/templates/base.html +++ b/codesy/templates/base.html @@ -35,7 +35,7 @@
  • Credit Card
  • Bank Account

  • -
  • Sign out
  • +
  • {% csrf_token %}
  • {% endif %} diff --git a/codesy/urls.py b/codesy/urls.py index 39363f94..9289ef53 100644 --- a/codesy/urls.py +++ b/codesy/urls.py @@ -1,6 +1,5 @@ from django.conf.urls import include, url from django.contrib import admin -from django.contrib.auth.views import LogoutView from . import views @@ -12,7 +11,6 @@ url(r'^$', views.Home.as_view(), name='home'), url(r'^legal-info$', views.LegalInfo.as_view(), name='legal-info'), # allauth - url(r'^accounts/logout/$', LogoutView.as_view(), {'next_page': '/'}), url(r'^accounts/', include('allauth.urls')), # admin site diff --git a/requirements.txt b/requirements.txt index 770129f7..c0a55143 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ Django==1.11.5 PyGithub==1.26.0 dj-database-url==0.4.0 dj-static==0.0.6 -django-allauth==0.24.1 +django-allauth==0.32.0 django-csp==3.1 django-cors-headers==1.1.0 django-mailer==1.2.2 diff --git a/static/css/codesy-home.css b/static/css/codesy-home.css index dece42ea..ea987d8e 100644 --- a/static/css/codesy-home.css +++ b/static/css/codesy-home.css @@ -82,6 +82,10 @@ tr.total { background-color: #F5F5F5; } +.top-bar-dropdown-signout { + margin: 0 1rem 1rem; +} + img { border-width:0; }