Projet

Général

Profil

Actions

Bug #3730

fermé

Popup Bad request lors de la modification de la liste des utlisateurs d'un groupe du domaine mixte

Ajouté par Ludovic Bertin il y a plus de 11 ans. Mis à jour il y a plus de 11 ans.

Statut:
Closed
Priorité:
High
Assigné à:
Catégorie:
Administration
Début:
24/09/2012
Echéance:
% réalisé:

100%

Temps estimé:
Temps passé:
Navigateur:
Internet Explorer 7
Votre version de Silverpeas:
5.10
Système d'exploitation:
Windows XP
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

Utilisateur et groupes / domaine mixte : > modifier les utilisateurs : "bad request" à l'ouverture de la page


Demandes liées 1 (0 ouverte1 fermée)

Duplique Silverpeas Core - Bug #3614: Message d'alerte "Internal Server Error" lors du choix d'un rôleClosedMiguel Moquillon10/08/2012

Actions

Mis à jour par Nicolas Eysseric il y a plus de 11 ans

  • Statut changé de New à Assigned
  • Assigné à mis à Miguel Moquillon
  • Version cible mis à Version 5.10.2

Reproduit sur l'intranoo avec IE7 et IE8 lors de la modification des utilisateurs d'un groupe du domaine mixte.
Pas de problème sous IE9, FF et Chrome...

Mis à jour par Nicolas Eysseric il y a plus de 11 ans

  • Sujet changé de Popup Bad request lors de la modification de la liste des utlisateurs d'un groupe du comaine mixte à Popup Bad request lors de la modification de la liste des utlisateurs d'un groupe du domaine mixte

Mis à jour par Nicolas Eysseric il y a plus de 11 ans

Une erreur 400 se produit lors de l'appel d'un service REST avec l'URL suivante :

 /silverpeas/services/profile/users/function(elt%20/*,%20from*/)%20%20%7B%20%20%20%20var%20len%20=%20this.length%20%3E%3E%3E%200;%20%20%20%20var%20from%20=%20Number(arguments[1])%20%7C%7C%200;%20%20%20%20from%20=%20(from%20%3C%200)%20%20%20%20%20%20%20%20%20?%20Math.ceil(from)%20%20%20%20%20%20%20%20%20:%20Math.floor(from);%20%20%20%20if%20(from%20<%200)%20%20%20%20%20%20from%20+=%20len;%20%20%20%20for%20(;%20from%20<%20len;%20from++)%20%20%20%20{%20%20%20%20%20%20if%20(from%20in%20this%20&&%20%20%20%20%20%20%20%20%20%20this[from]%20===%20elt)%20%20%20%20%20%20%20%20return%20from;%20%20%20%20}%20%20%20%20return%20-1;%20%20}&_=1348561228294 HTTP/1.1

Ce problème se produit aussi bien sur le domaine mixte que sur les autres domaines.

Mis à jour par Miguel Moquillon il y a plus de 11 ans

  • Statut changé de Assigned à In progress...

Mis à jour par Miguel Moquillon il y a plus de 11 ans

  • Statut changé de In progress... à Resolved
  • % réalisé changé de 0 à 100

Le problème vient d'un bogue des IE < 9 avec le javascript. Les tableaux dans les IE < 9 ne sont pas conformes au standard ECMA, en l’occurrence, il n'y a pas d'opération indexOf. Pour palier à ce manque, lorsque le navigateur détecté est IE < 9, la méthode indexOf est alors ajoutée au prototype objet des tableaux.

Or, dans certaines circonstances qui nous échappent, lorsque l'on parcours un tableau via le mot-clé in, la méthode ajoutée au prototype peut être considérée comme un élément du tableau (ce mot-clé sert aussi à parcourir les propriétés d'un objet) ! C'est pourquoi, lorsqu'il y a des utilisateurs présélectionnés dans le user panel, on parcours le tableau de leurs identifiant via le mot-clé in en vue de leur affichage et ... à la fin on tombe sur la méthode ajoutée indexOf. Comme on attend un identifiant, avec lequel l'URL d'accès au profil de l'utilisateur est construit, IE (c'est beau) convertit alors la méthode en chaîne de caractères ; c'est-à-dire qu'il sérialise le code de la méthode en string !!!! Et voilà le code de la méthode présent dans une URL !

Un palliatif à ce bogue dans l'interpréteur javascript de IE a été de remplacer le parcours de tableaux dans le user panel avec le mot-clé in par la vieille façon à-la C.

Mis à jour par Miguel Moquillon il y a plus de 11 ans

Je rajouterai aussi ceci : dans la mesure du possible, je recommande fortement aux utilisateurs sous Windows de changer de navigateur. S'ils ne peuvent passer à un navigateur moderne et plus fiable comme Firefox ou Chrome, alors passez à la dernier mouture d'IE (actuellement la 9).

Mis à jour par Nicolas Eysseric il y a plus de 11 ans

  • Statut changé de Resolved à Closed

OK. Validé et intégré.

Actions

Formats disponibles : Atom PDF