Projet

Général

Profil

Development #25346

Ne plus utiliser l'argument context_instance dans les méthodes render et render_to_response

Ajouté par Emmanuel Cazenave il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
18 juillet 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:


Fichiers


Demandes liées

Lié à Authentic 2 - Development #24868: Ne plus utiliser de fonctionnalités dépréciées en django 1.8Fermé28 juin 2018

Actions
Lié à Plugin FS FranceConnect - Development #25356: Ne plus utiliser addtoblockFermé19 juillet 2018

Actions
Bloqué par Authentic 2 - Development #25361: Supprimer le template tag 'addtoblock' Fermé19 juillet 2018

Actions

Révisions associées

Révision e87ba081 (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

misc: don't use addtoblock to add js_seconds_until.js (#25346)

Révision 64766b70 (diff)
Ajouté par Emmanuel Cazenave il y a plus de 5 ans

don't use context_instance in rendering functions (#25346)

Historique

#1

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

  • Description mis à jour (diff)
#2

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é
#3

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

Et aussi dans render_to_string.

#4

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.

#5

Mis à jour par Anonyme il y a presque 6 ans

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.

#6

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.

#7

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).

#8

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

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
#9

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. (?)

#10

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).

#11

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.

#12

Mis à jour par Frédéric Péters il y a presque 6 ans

Deux patchs qui retirent l'utilisation de addtoblock, dans authentic et authentic2-auth-fc. Je n'ai pas retiré le templatetag pour le moment.

#13

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

#14

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.

#15

Mis à jour par Frédéric Péters il y a presque 6 ans

(poussé)

#16

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

#17

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

#18

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

#19

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.

#20

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)
#21

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF