Projet

Général

Profil

0006-environment-factorize-get_setting_variable-from-fran.patch

Benjamin Dauvergne, 19 septembre 2019 15:25

Télécharger (2,81 ko)

Voir les différences:

Subject: [PATCH 06/10] environment: factorize get_setting_variable from
 franceconnect (#29240)

 hobo/environment/utils.py   | 23 +++++++++++++++++++++++
 hobo/franceconnect/views.py | 15 ++++++---------
 2 files changed, 29 insertions(+), 9 deletions(-)
hobo/environment/utils.py
18 18
from django.core.urlresolvers import reverse
19 19
from django.db import connection
20 20
from django.utils.six.moves.urllib.parse import urlparse
21
from django.utils.encoding import force_text
21 22

  
22 23
from hobo.middleware.utils import StoreRequestMiddleware
23 24

  
......
81 82
        })
82 83
    return variable
83 84

  
85

  
84 86
def create_base_url(hostname, service):
85 87
    """
86 88
    Distinguish mutualised domains (matching a "-" in the first part of the netloc)
......
93 95
    else:
94 96
        netloc = '%s.%s' % (service, '.'.join(parts[1:]))
95 97
    return '%s://%s' % (ph.scheme, netloc)
98

  
99

  
100
def get_setting_variable(setting_name, label=None, service=None):
101
    from .models import Variable, ContentType
102

  
103
    kwargs = {
104
        'name': 'SETTING_' + setting_name,
105
        'defaults': {
106
            'auto': True,
107
        }
108
    }
109
    if label:
110
        kwargs['defaults']['label'] = force_text(label)
111
    if service:
112
        kwargs['service_type'] = ContentType.objects.get_for_model(service)
113
        kwargs['service_pk'] = service.pk
114
    else:
115
        kwargs['service_type__isnull'] = True
116
        kwargs['service_pk__isnull'] = True
117
    variable, created = Variable.objects.get_or_create(**kwargs)
118
    return variable
hobo/franceconnect/views.py
17 17
from django.core.urlresolvers import reverse_lazy
18 18
from django.views.generic import FormView
19 19

  
20
from hobo.environment.models import Variable, Authentic
20
from hobo.environment.models import Authentic
21
from hobo.environment.utils import get_setting_variable
21 22
from .forms import SettingsForm, EnableForm
22 23

  
23 24

  
24
def get_variable(name):
25
    variable, created = Variable.objects.get_or_create(
26
            name='SETTING_' + name,
27
            defaults={
28
                'auto': True,
29
                'service': Authentic.objects.get(secondary=False),
30
            })
31
    return variable
25
def get_variable(setting_name):
26
    return get_setting_variable(
27
        setting_name,
28
        service=Authentic.objects.get(secondary=False))
32 29

  
33 30

  
34 31
class HomeView(FormView):
35
-