Projet

Général

Profil

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

Benjamin Dauvergne, 18 mars 2019 16:07

Télécharger (2,52 ko)

Voir les différences:

Subject: [PATCH 5/9] environment: factorize get_setting_variable from
 franceconnect (#29240)

 hobo/environment/utils.py   | 22 ++++++++++++++++++++++
 hobo/franceconnect/views.py | 15 ++++++---------
 2 files changed, 28 insertions(+), 9 deletions(-)
hobo/environment/utils.py
17 17
from django.conf import settings
18 18
from django.core.urlresolvers import reverse
19 19
from django.db import connection
20
from django.utils.encoding import force_text
20 21

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

  
......
79 80
            'value': settings.VARIABLE_SETTINGS_DEFAULTS.get(name) or ''
80 81
        })
81 82
    return variable
83

  
84

  
85
def get_setting_variable(setting_name, label=None, service=None):
86
    from .models import Variable, ContentType
87

  
88
    kwargs = {
89
        'name': 'SETTING_' + setting_name,
90
        'defaults': {
91
            'auto': True,
92
        }
93
    }
94
    if label:
95
        kwargs['defaults']['label'] = force_text(label)
96
    if service:
97
        kwargs['service_type'] = ContentType.objects.get_for_model(service)
98
        kwargs['service_pk'] = service.pk
99
    else:
100
        kwargs['service_type__isnull'] = True
101
        kwargs['service_pk__isnull'] = True
102
    variable, created = Variable.objects.get_or_create(**kwargs)
103
    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
-