écran de configuration de l’apparence par défaut des pages de login/authz (#75139) #35
No reviewers
Labels
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/authentic#35
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/75139-neutral-authz-theme-bo-config"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1d0c49a61e
toe80fdbe1e0
e80fdbe1e0
toa32c8f8402
a32c8f8402
to1a99c7a53a
1a99c7a53a
toa3b58adccf
WIP: wip/75139-neutral-authz-theme-bo-configto écran de configuration de l’apparence par défaut des pages de login/authz (#75139)Sur le salon tech a été discutée la pertinence d’avoir un nouveau modèle juste pour ça, alors qu’on pourrait imaginer cela géré directement dans les options d’apparence de l’OU par défaut.
Ma réponse à cette objection :
· dans le cas général (et notamment si l’on se rapproche de ce qui existe coté GLC) les services tiers raccordés disposent chacun de leur OU propre. Le fallback sur l’apparence de l’OU par défaut ne fonctionnerait pas dans ce cas général ;
· l’idée est que ce modèle RuntimeSetting nouvellement introduit serve par ailleurs dans les écrans BO a2 (dans le ticket dont s’origine cette PR il est question d’avoir des écrans de gestion des options de complexité des mots de passe etc).
@ -0,0 +8,4 @@
if RuntimeSetting.objects.filter(key__startswith='sso:').count() == 4:
return
settings_init_data = (
Je ne mettrai pas ça en base, je ferai plutôt un dictionnaire global avec la déclaration des settings disponibles.
Un peu comme les types d'attributs, on devrait d'ailleurs essayer de partager quelque chose ici à terme, mais là pour 4 attributs de type url, string et couleur on s'en passera.
Plutôt une liste quand même si on veut être certain que l'ordre soit conservé (les dicos sont ordonnées depuis python 3.x mais bon je ne mettrai pas ma main à couper que ça ne changera pas, je ne sais pas si on peut vraiment en dépendre), une liste de :
par exemple.
On peut vraiment en dépendre.
Changed in version 3.7: Dictionary order is guaranteed to be insertion order. This behavior was an implementation detail of CPython from 3.6. -- https://docs.python.org/3/library/stdtypes.html#dict
Va pour le dico alors.
@ -845,1 +845,4 @@
return cls.objects.create(kind=kind, phone=phone, expires=expires)
class RuntimeSetting(models.Model):
Appeler ça setting ou config j'ai déjà mal aux doigts de devoir écrire Runtime :)
@ -846,0 +850,4 @@
key = models.CharField(verbose_name=_('key'), max_length=128, unique=True)
value = JSONField(verbose_name=_('value'), blank=True)
setting_type = models.CharField(verbose_name=_('type'), null=True, blank=True, max_length=128)
widget = models.CharField(verbose_name=_('widget'), null=True, blank=True, max_length=128)
name, setting_type et widget sont dans le registre global, pas la peine de les reprendre ici.
a3b58adccf
tofd606f1929
fd606f1929
to536f608c66
536f608c66
to1f28b7d60c
88dfc80857
tof118ca37ff
Ok, c’est modifié dans la branche.
@ -1355,0 +1371,4 @@
'sso:default_service_name': {
'name': _('Default service name'),
'value': '',
'setting_type': None,
La différence setting_type/widget ne me paraît pas utile à ce stade, on peu se contenter d'un champ type avec trois valeurs url, colour et text, text étant la valeur par défaut si c'est None / absent.
Ok, j’ai fait la modif.
f118ca37ff
to4fda95dffd
Ok.