Project

General

Profile

Actions

Bug #3730

closed

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

Added by Ludovic Bertin almost 12 years ago. Updated almost 12 years ago.

Status:
Closed
Priority:
High
Category:
Administration
Start date:
09/24/2012
Due date:
% Done:

100%

Estimated time:
Spent time:
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


Related issues 1 (0 open1 closed)

Is duplicate of Silverpeas Core - Bug #3614: Message d'alerte "Internal Server Error" lors du choix d'un rôleClosedMiguel Moquillon08/10/2012

Actions
Actions #1

Updated by Nicolas Eysseric almost 12 years ago

  • Status changed from New to Assigned
  • Assignee set to Miguel Moquillon
  • Target version set to 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...

Actions #2

Updated by Nicolas Eysseric almost 12 years ago

  • Subject changed from Popup Bad request lors de la modification de la liste des utlisateurs d'un groupe du comaine mixte to Popup Bad request lors de la modification de la liste des utlisateurs d'un groupe du domaine mixte
Actions #3

Updated by Nicolas Eysseric almost 12 years ago

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.

Actions #4

Updated by Miguel Moquillon almost 12 years ago

  • Status changed from Assigned to In progress...
Actions #5

Updated by Miguel Moquillon almost 12 years ago

  • Status changed from In progress... to Resolved
  • % Done changed from 0 to 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.

Actions #6

Updated by Miguel Moquillon almost 12 years ago

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

Actions #7

Updated by Nicolas Eysseric almost 12 years ago

  • Status changed from Resolved to Closed

OK. Validé et intégré.

Actions

Also available in: Atom PDF