Development #25346
Ne plus utiliser l'argument context_instance dans les méthodes render et render_to_response
0%
Fichiers
Demandes liées
Révisions associées
don't use context_instance in rendering functions (#25346)
Historique
Mis à jour par Emmanuel Cazenave il y a presque 6 ans
- Lié à Development #24868: Ne plus utiliser de fonctionnalités dépréciées en django 1.8 ajouté
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Ça va péter la fonctionnalité des template tag renderblock / add_to_block, il faut trouver un remplacement.
C'est utilisé pour les blocs de connexion et de profil pour faire remonter du style ou des fichiers js dans le template global (c'est inspiré de django-cms je crois, je sais plus en fait).
Ça aura des répercussion dans authentic2 et dans authentic2-auth-fc, je ne crois pas qu'il y ait d'autres utilisateurs de ces template tags.
Mis à jour par Anonyme il y a presque 6 ans
- Fichier 0011-add-support-for-django-1.11-in-views-21489.patch 0011-add-support-for-django-1.11-in-views-21489.patch ajouté
- Patch proposed changé de Non à Oui
Benjamin Dauvergne a écrit :
Ça va péter la fonctionnalité des template tag renderblock / add_to_block, il faut trouver un
Je ne crois pas que ça pètera, on peut passer directement le dict context
en 3e argument. Enfin ou alors j'ai raté quelque chose.
(https://docs.djangoproject.com/en/1.10/releases/1.8/#dictionary-and-context-instance-arguments-of-rendering-functions).
Il s'agit en fait juste d'enlever le nom du paramètre "context_intance=", pour les 3 fonctions.
J'avais fait un boulot en ce sens, je le joins au cas où ça peut aider.
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Vérifie mais je pense que par exemple le code suivant:
src/authentic2/templates/authentic2/login_password_form.html:{% addtoblock "js-endpage" %}<script type="text/javascript" src="{% static "authentic2/js/js_seconds_until.js" %}"></script>{% endaddtoblock %}
ne doit plus marcher (sur une page de login avec ta modif, on ne doit plus voir js_seconds_until.js dans la liste des scripts chargés en fin de page).
Ça m'irait de prévoit qu'un front d'authentification peut fournir un objet media.
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
J'ai l'impression que désormais le contexte réel de rendu des templates est complètement caché (pour pouvoir supporter Jinja et l'ancien système je suppose).
Mis à jour par Emmanuel Cazenave il y a presque 6 ans
- Fichier 0001-don-t-use-context_instance-in-rendering-functions-25.patch 0001-don-t-use-context_instance-in-rendering-functions-25.patch ajouté
- Statut changé de En cours à Solution proposée
Un patch, tous les tests au vert.
J'ai fait ça sans bien comprendre les enjeux fonctionnels, exemple : avec ce patch pas de js_seconds_until.js sur une page de login ... mais même chose sur master chez moi, bref je suis dans le noir, il va falloir une deuxième paire d'yeux bien attentive.
Sur les plugins un grep context_instance
me donne un résultat pour :
- authentic2-auth-fc
- authentic2-auth-fedict
- authentic2-beid
- authentic2-pratic
- authentic2-auth-msp
- authentic2-auth-saml2
Mis à jour par Frédéric Péters il y a presque 6 ans
Un patch, tous les tests au vert.
Attention ça ne peint vraiment pas une image complète; au final pour basculer vers 1.11 il faudra regarder bien au-delà des tests unitaires.
J'ai fait ça sans bien comprendre les enjeux fonctionnels, exemple : avec ce patch pas de js_seconds_until.js sur une page de login ... mais même chose sur master chez moi, bref je suis dans le noir, il va falloir une deuxième paire d'yeux bien attentive.
Ça n'est pas utilisé dans Publik(-base-theme). (le modèle ne définit pas de bloc page-end et donc le addtoblock n'est jamais rencontré); c'est quelque chose qui pourrait être corrigé mais ce sera pour tout de suite être remplacé par autre chose que ce ticket doit inventer. (?)
Mis à jour par Frédéric Péters il y a presque 6 ans
remplacé par autre chose que ce ticket doit inventer
Et là-dessus, après avoir regardé les modules listés et vu que les deux seuls usages actuels réels sont ce js-endpage ici et l'ajout de fc.css dans authentic2-auth-fc, j'aurais suggestion de simplement s'en défaire, taper l'appel <script...>, ou <link...>, directement dans l'html du bloc rendu. (mais c'est bien sûr Benjamin qui a le dernier mot).
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Frédéric Péters a écrit :
remplacé par autre chose que ce ticket doit inventer
Et là-dessus, après avoir regardé les modules listés et vu que les deux seuls usages actuels réels sont ce js-endpage ici et l'ajout de fc.css dans authentic2-auth-fc, j'aurais suggestion de simplement s'en défaire, taper l'appel <script...>, ou <link...>, directement dans l'html du bloc rendu. (mais c'est bien sûr Benjamin qui a le dernier mot).
Oui oui.
Mis à jour par Frédéric Péters il y a presque 6 ans
- Fichier 0001-misc-don-t-use-addtoblock-to-add-js_seconds_until.js.patch 0001-misc-don-t-use-addtoblock-to-add-js_seconds_until.js.patch ajouté
- Fichier 0001-misc-don-t-use-addtoblock-to-insert-fc.css-25346.patch 0001-misc-don-t-use-addtoblock-to-insert-fc.css-25346.patch ajouté
Deux patchs qui retirent l'utilisation de addtoblock, dans authentic et authentic2-auth-fc. Je n'ai pas retiré le templatetag pour le moment.
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
- Lié à Development #25356: Ne plus utiliser addtoblock ajouté
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Frédéric Péters a écrit :
Deux patchs qui retirent l'utilisation de addtoblock, dans authentic et authentic2-auth-fc. Je n'ai pas retiré le templatetag pour le moment.
J'ai copié le patch pour authentic2-auth-fc dans le ticket #25536 que j'ai validé. Je valide l'autre patch pour a2 que tu peux pousser tout de suite.
Mis à jour par Emmanuel Cazenave il y a presque 6 ans
- Lié à Development #25361: Supprimer le template tag 'addtoblock' ajouté
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Lié à Development #25361: Supprimer le template tag 'addtoblock' supprimé
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Bloqué par Development #25361: Supprimer le template tag 'addtoblock' ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Ack. Doit venir avant #25361.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 64766b701607a642ad9f5fbc24a7414d67579711 (HEAD -> master) Author: Emmanuel Cazenave <ecazenave@entrouvert.com> Date: Wed Jul 18 19:48:42 2018 +0200 don't use context_instance in rendering functions (#25346)
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
misc: don't use addtoblock to add js_seconds_until.js (#25346)