environment: factorize get_setting_variable from franceconnect (#29240)
This commit is contained in:
parent
12ea459888
commit
9635e4c8f5
|
@ -18,6 +18,7 @@ from django.conf import settings
|
|||
from django.core.urlresolvers import reverse
|
||||
from django.db import connection
|
||||
from django.utils.six.moves.urllib.parse import urlparse
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
from hobo.middleware.utils import StoreRequestMiddleware
|
||||
|
||||
|
@ -81,6 +82,7 @@ def get_variable(name):
|
|||
})
|
||||
return variable
|
||||
|
||||
|
||||
def create_base_url(hostname, service):
|
||||
"""
|
||||
Distinguish mutualised domains (matching a "-" in the first part of the netloc)
|
||||
|
@ -93,3 +95,24 @@ def create_base_url(hostname, service):
|
|||
else:
|
||||
netloc = '%s.%s' % (service, '.'.join(parts[1:]))
|
||||
return '%s://%s' % (ph.scheme, netloc)
|
||||
|
||||
|
||||
def get_setting_variable(setting_name, label=None, service=None):
|
||||
from .models import Variable, ContentType
|
||||
|
||||
kwargs = {
|
||||
'name': 'SETTING_' + setting_name,
|
||||
'defaults': {
|
||||
'auto': True,
|
||||
}
|
||||
}
|
||||
if label:
|
||||
kwargs['defaults']['label'] = force_text(label)
|
||||
if service:
|
||||
kwargs['service_type'] = ContentType.objects.get_for_model(service)
|
||||
kwargs['service_pk'] = service.pk
|
||||
else:
|
||||
kwargs['service_type__isnull'] = True
|
||||
kwargs['service_pk__isnull'] = True
|
||||
variable, created = Variable.objects.get_or_create(**kwargs)
|
||||
return variable
|
||||
|
|
|
@ -17,18 +17,15 @@
|
|||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.views.generic import FormView
|
||||
|
||||
from hobo.environment.models import Variable, Authentic
|
||||
from hobo.environment.models import Authentic
|
||||
from hobo.environment.utils import get_setting_variable
|
||||
from .forms import SettingsForm, EnableForm
|
||||
|
||||
|
||||
def get_variable(name):
|
||||
variable, created = Variable.objects.get_or_create(
|
||||
name='SETTING_' + name,
|
||||
defaults={
|
||||
'auto': True,
|
||||
'service': Authentic.objects.get(secondary=False),
|
||||
})
|
||||
return variable
|
||||
def get_variable(setting_name):
|
||||
return get_setting_variable(
|
||||
setting_name,
|
||||
service=Authentic.objects.get(secondary=False))
|
||||
|
||||
|
||||
class HomeView(FormView):
|
||||
|
|
Loading…
Reference in New Issue