Mailman: split the django_fedora module

Some imports need to read the config file, which creates a import loop.
This commit is contained in:
Aurélien Bompard 2017-07-21 09:05:04 +00:00
parent a7a67a72ef
commit f40ce9d969
4 changed files with 24 additions and 23 deletions

View file

@ -13,19 +13,3 @@ def exclude_useless_errors(record):
if isinstance(exc_value, excluded_class):
return False
return True
# Disable local signup
from allauth.account.adapter import DefaultAccountAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
class NoLocalSignUpAdapter(DefaultAccountAdapter):
def is_open_for_signup(self, request):
return False
class SignUpEnabledSocialAdapter(DefaultSocialAccountAdapter):
def is_open_for_signup(self, request, sociallogin):
return True

View file

@ -0,0 +1,14 @@
# Disable local signup
from allauth.account.adapter import DefaultAccountAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
class NoLocalSignUpAdapter(DefaultAccountAdapter):
def is_open_for_signup(self, request):
return False
class SignUpEnabledSocialAdapter(DefaultSocialAccountAdapter):
def is_open_for_signup(self, request, sociallogin):
return True

View file

@ -267,10 +267,13 @@
- config
- mailman
- name: install the django_fedora module
copy: src=django_fedora.py
dest="{{ mailman_webui_confdir }}/django_fedora.py"
- name: install the fedora-specific modules
copy: src={{ item }}.py
dest="{{ mailman_webui_confdir }}/{{ item }}.py"
owner=root group=root mode=0644
with_items:
- django_fedora
- django_fedora_nosignup
tags:
- config
- mailman

View file

@ -6,6 +6,8 @@ Django settings for HyperKitty + Postorius
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
import django_fedora
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '{{ mailman_hyperkitty_cookie_key }}'
@ -240,8 +242,8 @@ ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_DEFAULT_HTTP_PROTOCOL = "https"
ACCOUNT_UNIQUE_EMAIL = True
# Disable local signup
ACCOUNT_ADAPTER = "django_fedora.NoLocalSignUpAdapter"
SOCIALACCOUNT_ADAPTER = "django_fedora.SignUpEnabledSocialAdapter"
ACCOUNT_ADAPTER = "django_fedora_nosignup.NoLocalSignUpAdapter"
SOCIALACCOUNT_ADAPTER = "django_fedora_nosignup.SignUpEnabledSocialAdapter"
SOCIALACCOUNT_PROVIDERS = {
'openid': {
@ -337,8 +339,6 @@ REST_FRAMEWORK = {
}
import django_fedora
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.