Development #36584
Support MIDDLEWARE nouveau style dans debian_config_common.py
0%
Description
Sinon les briques qui se mettent à utiliser MIDDLEWARE n'auront pas les middleware venant de hobo et django-mellon (Version, CORS, PassiveAuthentication, TenantMiddleware.
Fichiers
Demandes liées
Révisions associées
dj111: use user.is_authenticated as a boolean (#36584)
tox: fix envlist (#36584)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Bloque Development #36331: compat django 2.2 ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Fichier 0001-debian-use-MIDDLEWARE-in-debian_config_common.py-365.patch 0001-debian-use-MIDDLEWARE-in-debian_config_common.py-365.patch ajouté
- Tracker changé de Support à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Je vais réfléchir à un test, mais déjà je vois si ça tourne.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Bloque Development #36608: Django2 & RemovedInDjango20Warning ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Je suis bloqué par #30497 pour les tests (pour utiliser MIDDLEWARE dans tests_multitenant).
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Bloqué par Development #30497: PassiveAuthenticationMiddleware ne devrait rien faire sur les images et le js ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Bloqué par Development #30497: PassiveAuthenticationMiddleware ne devrait rien faire sur les images et le js supprimé
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Bloqué par Development #36509: rendre PassiveAuthenticationMiddleware compatible avec Django 2.2 ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Pour capter l'idée,
-if not 'MIDDLEWARE_CLASSES' in globals(): - MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES +if 'MIDDLEWARE' not in globals(): + MIDDLEWARE = global_settings.MIDDLEWARE
dans globals(), soit il y a eu MIDDLEWARE_CLASSES défini en amont (legacy), soit MIDDLEWARE (module mis à jour), soit rien, ce qui correspond au module qui ne définissait pas de middleware, qu'on "migre" alors ainsi vers MIDDLEWARE.
C'est ok, jusqu'au moment où on aurait la combinaison d'un module ne définissant pas MIDDLEWARE_CLASSES mais où une installation l'exploiterait dans un fichier posé dans settings.d/. Mais d'un rapide coup d'œil, je ne vois pas de module qui ne définirait pas MIDDLEWARE_CLASSES.
Et du git blame, on arrive à #7038, qui semble avoir traité MIDDLEWARE_CLASSES en bonus, sans réel usage, donc à mon avis, pas de soucis.
Ensuite, c'est juste dupliquer ce qu'on avait pour l'avoir à la fois dans le cas MIDDLEWARE_CLASSES et dans le cas MIDDLEWARE, et il y aurait sans doute eu du code un peu bizarre pour gérer tout ça sans duplication, ça me va bien ainsi.
Mis à jour par Lauréline Guérin il y a plus de 4 ans
- Bloque Development #36608: Django2 & RemovedInDjango20Warning supprimé
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit fb3f38288bdfaeb93e4324c41f6fe4a0d49ef6f3 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Oct 5 10:30:04 2019 +0200 dj111: use user.is_authenticated as a boolean (#36584) commit c178320985623e745e0230c78d00772e02d4ba74 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Oct 1 16:24:01 2019 +0200 debian: use MIDDLEWARE in debian_config_common.py (#36584)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à En cours
Il y a eu des modifs tox qui passent pas, genre il essaie un job "coverage-multitenant{" ?
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de En cours à Solution déployée
Ça a été corrigé derrière via tox: fix envlist (#36584).
debian: use MIDDLEWARE in debian_config_common.py (#36584)