Bug #2928
ferméErreur de redirection sur des espaces ayant des looks différents
70%
Description
Quand on a un look personnalisé (<lookClient>) de l'application et que l'on créé un espace avec un look natif (SilverpeasV5 ou SilverpeasLight), il y a une erreur de redirection au niveau de l'application.
En effet, lorsqu'on clique sur un espace n'ayant pas le look actuel, l'adresse de redirection devient http://localhost/<lookClient>/jsp/MainFrame<LookClient>.jsp
Après quelques tests, nous avons vu qu'il y avait un problème de cohérence entre la redirection faite par la méthode javascript openSpace et le contenu de la page MainFrameSilverpeasV5.jsp
En effet, on trouve ceci dans navigation.js :
try { mainFrame = getMainFrame(); if (!mainFrame.startsWith('/')) { mainFrame = '/admin/jsp/' + mainFrame; } } catch(err) { mainFrame = "/admin/jsp/MainFrameSilverpeasV5.jsp"; } if (spaceLook != currentLook) { top.location = getContext() + mainFrame + "?RedirectToSpaceId=" + spaceId; // le contexte a été rajouté }
et dans MainFrameSilverpeasV5.jsp :
if (!"MainFrameSilverpeasV5.jsp".equalsIgnoreCase(helper.getMainFrame())) { session.setAttribute("RedirectToSpaceId", spaceIdFromRedirect); %> <script type="text/javascript"> top.location="<%=helper.getMainFrame()%>"; // la redirection se fait sans contexte </script> <% }
Lorsqu'on rajoute le contexte au niveau de top.location, cela semble se corriger mais pas entièrement.
De plus, nous n'avons pas trouvé la fonction javascript getMainFrame() dans le code et l'ajouter dans la page MainFrame<LookClient>.jsp ne semble pas résoudre le problème.