Projet

Général

Profil

Bug #49872

media js chargés dans le mauvais ordre

Ajouté par Frédéric Péters il y a plus de 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
05 janvier 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

En local (peut-être parce que python 3.9 ?, ou parce que django 2.2 ?), je me trouve sur la page d'un rôle avec :

<script type="text/javascript" src="/manage/jsi18n/"></script>
<script type="text/javascript" src="/static/xstatic/select2.min.js"></script>
<script type="text/javascript" src="/static/xstatic/jquery.js"></script>

et le select2.min.js arrivant avant jquery, ça foire.

Authentic ne prend volontairement pas le jquery.js que proposerait gadjo, cf src/authentic2/manager/templates/authentic2/manager/base.html

{% block gadjo-js %}{% endblock %}
Django-Select2==5.11.1
XStatic-Select2==4.0.3.1

XStatic-jQuery==1.12.4.1
XStatic-jquery-ui==1.12.1.1

(je serais assez favorable à ce qu'authentic considère juste que gadjo et publik-base-theme fournissent jquery, plutôt qu'y avoir une gestion manuelle) (cf aussi #26277#note-6).


Fichiers

0001-manager-load-jquery-first-49872.patch (967 octets) 0001-manager-load-jquery-first-49872.patch Frédéric Péters, 26 janvier 2021 21:22

Révisions associées

Révision ab7d3db5 (diff)
Ajouté par Frédéric Péters il y a environ 3 ans

manager: load jquery first (#49872)

Historique

#1

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

Ça vient de la nouvelle implémentation de Media.__add__() dans Django 2.2, est-ce que tu pourrais voir si :

diff --git a/src/authentic2/manager/views.py b/src/authentic2/manager/views.py
index aacdbfff..76c691c4 100644
--- a/src/authentic2/manager/views.py
+++ b/src/authentic2/manager/views.py
@@ -72,8 +72,8 @@ class MediaMixin(object):
     '''Expose needed CSS and JS files as a media object'''
     class Media:
         js = (
-            reverse_lazy('a2-manager-javascript-catalog'),
             xstatic('jquery.js', 'jquery.min.js'),
+            reverse_lazy('a2-manager-javascript-catalog'),
             xstatic('jquery-ui.js', 'jquery-ui.min.js'),
             'js/gadjo.js',
             'jquery/js/jquery.form.js',

corrige le souci localement chez toi ? Ça utilise un tri soit disant stable mais ça n'est pas vraiment le cas (le widget select2 ne déclare pas sa dépendance sur jquery.min.js alors il se permet de réordonner jquery.min.js parce que celui-ci dépend implicitement de a2-manage-javascript-catalog et et pas select2).

#2

Mis à jour par Frédéric Péters il y a plus de 3 ans

Oui le patch appliqué, ça donne cet ordre :

<script type="text/javascript" src="/static/xstatic/jquery.js"></script>
<script type="text/javascript" src="/static/xstatic/select2.min.js"></script>
<script type="text/javascript" src="/manage/jsi18n/"></script>
#3

Mis à jour par Frédéric Péters il y a environ 3 ans

Je retombe en local sur ce bug et je vois qu'il n'y avait pas eu de patch etc; donc voilà.

#4

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée
#5

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit ab7d3db5efb58816e0762ce2bf2d940b696042f6
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jan 26 21:21:49 2021 +0100

    manager: load jquery first (#49872)
#6

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF