mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-09 22:44:54 +03:00
Add setting to hide the intermediary logout page
This commit is contained in:
parent
65d2ce07fb
commit
f872b4f468
|
@ -2,6 +2,11 @@
|
||||||
All enhancements and patches to Cookiecutter Django will be documented in this file.
|
All enhancements and patches to Cookiecutter Django will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
## [2019-01-31]
|
||||||
|
### Added
|
||||||
|
- Added `DJANGO_ACCOUNT_HIDE_INTERMEDIARY_LOGOUT` environment variable to hide the intermediary logout form and instead auto-submit via JavaScript
|
||||||
|
|
||||||
|
|
||||||
## [2018-02-16]
|
## [2018-02-16]
|
||||||
### Changed
|
### Changed
|
||||||
- Upgraded to Django 2.0 (@epicwhale)
|
- Upgraded to Django 2.0 (@epicwhale)
|
||||||
|
|
|
@ -57,3 +57,5 @@ Other Environment Settings
|
||||||
|
|
||||||
DJANGO_ACCOUNT_ALLOW_REGISTRATION (=True)
|
DJANGO_ACCOUNT_ALLOW_REGISTRATION (=True)
|
||||||
Allow enable or disable user registration through `django-allauth` without disabling other characteristics like authentication and account management. (Django Setting: ACCOUNT_ALLOW_REGISTRATION)
|
Allow enable or disable user registration through `django-allauth` without disabling other characteristics like authentication and account management. (Django Setting: ACCOUNT_ALLOW_REGISTRATION)
|
||||||
|
DJANGO_ACCOUNT_HIDE_INTERMEDIARY_LOGOUT (=False)
|
||||||
|
Hide the intermediary logout form and instead auto-submit via JavaScript. This degrades back to using the form in case JavaScript is disabled. (Django Setting: ACCOUNT_ALLOW_REGISTRATION)
|
||||||
|
|
|
@ -195,6 +195,7 @@ TEMPLATES = [
|
||||||
'django.template.context_processors.static',
|
'django.template.context_processors.static',
|
||||||
'django.template.context_processors.tz',
|
'django.template.context_processors.tz',
|
||||||
'django.contrib.messages.context_processors.messages',
|
'django.contrib.messages.context_processors.messages',
|
||||||
|
'{{cookiecutter.project_slug}}.users.context_processors.expose_settings',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -275,6 +276,11 @@ ACCOUNT_ADAPTER = '{{cookiecutter.project_slug}}.users.adapters.AccountAdapter'
|
||||||
# https://django-allauth.readthedocs.io/en/latest/configuration.html
|
# https://django-allauth.readthedocs.io/en/latest/configuration.html
|
||||||
SOCIALACCOUNT_ADAPTER = '{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter'
|
SOCIALACCOUNT_ADAPTER = '{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter'
|
||||||
|
|
||||||
|
# Configuration options
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# https://cookiecutter-django.readthedocs.io/en/latest/settings.html#other-environment-settings
|
||||||
|
ACCOUNT_HIDE_INTERMEDIARY_LOGOUT = env.bool('DJANGO_ACCOUNT_HIDE_INTERMEDIARY_LOGOUT', False)
|
||||||
|
|
||||||
{% if cookiecutter.use_compressor == 'y' -%}
|
{% if cookiecutter.use_compressor == 'y' -%}
|
||||||
# django-compressor
|
# django-compressor
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
|
@ -5,11 +5,17 @@
|
||||||
{% block head_title %}{% trans "Sign Out" %}{% endblock %}
|
{% block head_title %}{% trans "Sign Out" %}{% endblock %}
|
||||||
|
|
||||||
{% block inner %}
|
{% block inner %}
|
||||||
|
|
||||||
|
{% if ACCOUNT_HIDE_INTERMEDIARY_LOGOUT %}
|
||||||
|
{# Hide form - prevents user confusion by seeing an auto-submitting form #}
|
||||||
|
<script>document.getElementsByClassName('container')[0].style.display = 'none';</script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<h1>{% trans "Sign Out" %}</h1>
|
<h1>{% trans "Sign Out" %}</h1>
|
||||||
|
|
||||||
<p>{% trans 'Are you sure you want to sign out?' %}</p>
|
<p>{% trans 'Are you sure you want to sign out?' %}</p>
|
||||||
|
|
||||||
<form method="post" action="{% url 'account_logout' %}">
|
<form id="form-logout" method="post" action="{% url 'account_logout' %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{% if redirect_field_value %}
|
{% if redirect_field_value %}
|
||||||
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
|
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
|
||||||
|
@ -17,6 +23,10 @@
|
||||||
<button class="btn btn-danger" type="submit">{% trans 'Sign Out' %}</button>
|
<button class="btn btn-danger" type="submit">{% trans 'Sign Out' %}</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
{% if ACCOUNT_HIDE_INTERMEDIARY_LOGOUT %}
|
||||||
|
{# submit form automatically #}
|
||||||
|
<script>document.getElementById('form-logout').submit();</script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
|
def expose_settings(request):
|
||||||
|
# expose any necessary settings
|
||||||
|
return {
|
||||||
|
'ACCOUNT_HIDE_INTERMEDIARY_LOGOUT': settings.ACCOUNT_HIDE_INTERMEDIARY_LOGOUT
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user