[spip-dev] Bug à la création d'une nouvelle rubrique

Bonjour,

Il semble qu'avec SPIP 2.1 SVN une rubrique parente manuellement séléctionnée n'est pas prise en compte à la création d'une nouvelle sous-rubrique.

Pour reproduire :

- Aller dans n'importe quelle rubrique « A » et cliquer sur « Créer une sous-rubrique »

- Utiliser le sélécteur «À l'intérieur de la rubrique » pour choisir un autre parent «B» pour la nouvelle rubrique, et cliquer « Choisir »

- Lorsqu'on clique sur « Enregistrer » la nouvelle rubrique est créée, non pas dans « B », mais dans « A ».

Evidemment puisqu'il s'agit ici de créer une « sous-rubrique », on peut se dire qu'en fait il n'est pas logique de montrer le sélécteur de rubriques. Mais pour ce qui me concerne, c'est plus grave car c'est le même mechanisme qui est utilisé pour créer une traduction de rubrique (avec le plugin tradrub). Là aussi on ne peut pas actuellement créer une traduction là où on veut. Il faut d'abord le créer, ensuite la transférer.

Paolo

Rebonjour,

Est-ce que quelqu'un peut confirmer si cela se passe chez eux aussi ?
Si oui, et qu'on n'a pas le temps de s'en occuper tout-de-duite je veux bien faire un ticket.

Paolo

Salut Paolo,

Sur SPIP 2.1.0 SVN [15696] avec aucun plugin je ne reproduis pas en faisant ce qui suit :

-* je vais dans le secteur 2
-* je clique sur Créer une sous-rubrique
-* je donne un titre, je change de parent à la rubrique avec le sélecteur pour la passer dans le secteur 3
-* ma sous-rubrique est bien dans le secteur 2

Salut Paolo,

Sur SPIP 2.1.0 SVN [15696] avec aucun plugin je ne reproduis pas en
faisant ce qui suit :

-* je vais dans le secteur 2
-* je clique sur Créer une sous-rubrique
-* je donne un titre, je change de parent à la rubrique avec le
sélecteur pour la passer dans le secteur 3
-* ma sous-rubrique est bien dans le secteur 2

Euh... mais c'est justement ça qui ne va pas, non ?

> je change de parent à la rubrique avec le
> sélecteur pour la passer dans le secteur 3
> -* ma sous-rubrique est bien dans le secteur 2

Tu as séléctionné le *3* mais la nouvelle rubrique est créée dans le *2*.
Ou est-ce une logique gauloise que je n'ai pas encore assimilée ? :wink:

Paolo

non, non, non c'est *breton* ça comme "logique", pas gaulois! :stuck_out_tongue:

Héhé je me suis quand même relu avant de poster et j'ai réussi à dire le contraire de ce que je voulais ^^

Il fallait lire :

-* ma sous-rubrique est bien dans le secteur 3

Donc pas de bug chez moi.

Et si tu active Mediathèque (gestion_documents) le bug apparaît, n'est-ce pas ?

Paolo

Re Paolo,

Toujours pas de bug avec la médiathèque et bonux activés...

Est-ce que tu es sûr, Bruno ? Par ex. Vidé le cache, etc ?

Je viens de ressayer pas-à-pas avec un SPIP 2.1.0 SVN [15698], et les plugins Spip-Bonux + Médiathèque -- aussi SVN complètement à jour.

Le comportement change pour être celui que j'ai décrit dans mon premier message dès que Médiathèque est activé.

Paolo

Aha. Sur un autre site avec très peu de rubriques je n'ai pas ce problème. Mais le sélecteur de rubriques qui s'affiche est autre.

Est-ce que le sélecteur change à partir d'un certain nombre de rubriques ?

Si c'est le cas le problème apparaît peut-être seulement avec des sites assez grands pour avoir le sélecteur différent.

Paolo

Tiens, je viens de faire un essai sur les seuls autres sites grands qui me sont accessible, et qui ont tous les deux le « plongeur » pour sélectionner la rubrique :

spip.net (Médiathèque n'est pas installé) : pas de bug

programmer.spip.org (Médiathèque installé) : bug comme décrit dans mon premier message.

Paolo

Si, si. Tu peux voir ce bug et sur programmer.spip.org et sur spip-contrib.
J'ai fait un ticket :
http://trac.rezo.net/trac/spip/ticket/1943

Paolo

Ok Paolo j'ai mis la main sur un site avec une arbo profonde qui me permet de voir le bug. Après avoir logué dans tous les sens j'ai trouvé d'où vient le problème.

Quand on clique sur Choisir après avoir sélectionné une rubrique dans le plongeur on passe par la fonction aff_selection_titre dans layer.js avec ces variables :

titre = le titre de la rubrique sélectionnée
id = l'id_rubrique
idom = selection_rubrique
nid = id_parent

Et quand on passe dans t=findObj_forcer(nid); la fonction findObj_forcer() trouve d'abord l'inputname="id_parent" du bloc d'ajout de document de la médiathèque et du coup on n'agit que sur celui-ci et non celui du formulaire d'édition de la rubrique.

Je vais voir si je peux corriger ça.

Heureusement qu'il y a quelques uns ici qui arrivent à pénétrer jusqu'à dans le nid !

Paolo

Bon ça aura pas été facile (on dirait pas au vu du nombre de ligne du commit ^^) mais voilà qui règle le problème :

http://trac.rezo.net/trac/spip/changeset/15710

Faut vraiment qu'on recode tout ce truc en jQuery...

Tu es un héros ! Et cela résout en même temps le bug semblable lorsqu'avec TradRub on crée une traduction de rubrique.

merci bcp. Paolo