From 17a7fc96319df515f8957ec6c94b366b3ab841fc Mon Sep 17 00:00:00 2001 From: cest Date: Wed, 12 Sep 2012 16:25:51 +0000 Subject: [PATCH] fin de la correction de la TMA-3411 (la redirection vers les services externes se fait apres un passage dans l'action) git-svn-id: http://10.83.199.175/svn/trunk/ent@18946 7aca092c-bad2-11dd-b7cb-bdc45c3e6652 --- .../viescolaire/actions/ServiceAction.java | 98 ++++++++++++++++--- .../utils/ConstantesVieScolaire.java | 4 +- .../main/webapp/jsp/jspf/popup_profil.jspf | 2 +- .../src/main/webapp/jsp/service.jsp | 34 ++++--- 4 files changed, 110 insertions(+), 28 deletions(-) diff --git a/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/actions/ServiceAction.java b/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/actions/ServiceAction.java index bf12a06002..3150a7ca15 100644 --- a/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/actions/ServiceAction.java +++ b/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/actions/ServiceAction.java @@ -93,6 +93,11 @@ public class ServiceAction extends Action { /** service (externe) sur lequel on doit être redirigé */ private String serviceExterneARedirect = ""; + + private String idEtablissement = ""; + + private String profilSelectionne = ""; + /** url du service externe */ private String urlServiceExterne = ""; @@ -117,6 +122,9 @@ public class ServiceAction extends Action { String roleStr = UtilisateurUtils.getUtilisateurConnecteType(); String codePorteurStr = UtilisateurUtils.getCodePorteurConnecte(); + PorteurDto porteurDto = etablissementBusiness.getPorteurDto(codePorteurStr); + urlCasStr = porteurDto.getUrlAccesEnt() + (String) configAppli.getProprieteStr("URL_CAS"); + PersonneDto personneDto = personnePortailBusiness.getPersonneDto(utilisaterIdLg, codePorteurStr); serviceAccessibleDtoList = serviceBusiness.getRessourceAccessibleDtoList(utilisaterIdLg, roleStr, @@ -137,20 +145,62 @@ public class ServiceAction extends Action { ressourceDto.setUrlStr(urlRedirectionNotes); } else if (org.lilie.socle.api.admin.utils.Constantes.CODE_RESSOURCE_PRONOTE.equals(ressourceDto.getCodeStr())) { + // init de la map des profil si multiprofil, sinon maj des urlAbo avec le profil initSuffixeProfilPourPronote2009(ressourceDto, personneDto); - } else if (org.lilie.socle.api.admin.utils.Constantes.CODE_RESSOURCE_OMT.equals(ressourceDto.getCodeStr())) { - // TODO faire pareil pour tous les services ? avec les param viaCas ou ulrModifiable en param, pour pouvoir construire l'url + // si serviceExterneARedirect n'est pas vide, alors on a cliqué sur le service + // et on veut construire urlServiceExterne avec les infos de la ressource + if (serviceExterneARedirect != null && !serviceExterneARedirect.equals("")) { + if (serviceExterneARedirect.contains(org.lilie.socle.api.admin.utils.Constantes.CODE_RESSOURCE_PRONOTE)) { + + if(ressourceDto.isViaCasBln()){ + urlServiceExterne = urlCasStr; + } + if (ressourceDto.isUrlModifiableBln()){ + for (AbonnementDto aboDto : ressourceDto.getAbonnementDtoList()) { + if(aboDto.getIdEtablissementLg().equals(new Long(idEtablissement))) { + // NB si un seul profil alors l'urlAbo a deja été complete avec le profil + urlServiceExterne += aboDto.getUrlAbonnementStr(); + } + } + } else { + urlServiceExterne += ressourceDto.getUrlPorteurStr(); + } + + // cas particulier, pour les multi profils, on a du selectionnne un profil dans la jsp + urlServiceExterne += profilSelectionne; + + // reinit des param + serviceExterneARedirect = ""; + profilSelectionne = ""; + } + } + } else { + + // si serviceExterneARedirect n'est pas vide, alors on a cliqué sur un service + // et on veut construire urlServiceExterne avec lers infos de la ressource + if (serviceExterneARedirect != null && !serviceExterneARedirect.equals("")) { + if (serviceExterneARedirect.contains(ressourceDto.getCodeStr())){ - // si serviceExterneARedirect = omt ou omtmode=ras, cad si on a clique sur le service - // alors on construit urlServiceExterne avec urlPorteur de la ressource omt - if (serviceExterneARedirect != null) { - // service OMT = vieScolaire.net - if (serviceExterneARedirect.contains(org.lilie.socle.api.admin.utils.Constantes.CODE_RESSOURCE_OMT)){ - urlServiceExterne = ressourceDto.getUrlPorteurStr(); - if (serviceExterneARedirect.contains(ConstantesVieScolaire.MODE_REINIT_OMT)) { + if(ressourceDto.isViaCasBln()){ + urlServiceExterne = urlCasStr; + } + if (ressourceDto.isUrlModifiableBln()){ + for (AbonnementDto aboDto : ressourceDto.getAbonnementDtoList()) { + if(aboDto.getIdEtablissementLg().equals(new Long(idEtablissement))){ + urlServiceExterne += aboDto.getUrlAbonnementStr(); + } + } + } else { + urlServiceExterne += ressourceDto.getUrlPorteurStr(); + } + + // cas particulier + if (serviceExterneARedirect.equals(ConstantesVieScolaire.MODE_REINIT_OMT)) { urlServiceExterne += ConstantesVieScolaire.PARAM_REINIT_OMT; } + + // reinit du param serviceExterneARedirect = ""; } } @@ -167,8 +217,6 @@ public class ServiceAction extends Action { urlRedirectionService = RedirectionServiceServlet.genereURLRedirection(ServiceEnum.SERVICE_NOTES_ABSENCES, new String("index.action?serviceExterneARedirect=")); - PorteurDto porteurDto = etablissementBusiness.getPorteurDto(codePorteurStr); - urlCasStr = porteurDto.getUrlAccesEnt() + (String) configAppli.getProprieteStr("URL_CAS"); return SUCCESS; } catch (ServiceFonctionnelleException sfe) { @@ -366,4 +414,32 @@ public class ServiceAction extends Action { public void setUrlRedirectionService(String urlRedirectionService) { this.urlRedirectionService = urlRedirectionService; } + + /** + * @return the profilSelectionne + */ + public String getProfilSelectionne() { + return profilSelectionne; + } + + /** + * @param profilSelectionne the profilSelectionne to set + */ + public void setProfilSelectionne(String profilSelectionne) { + this.profilSelectionne = profilSelectionne; + } + + /** + * @return the idEtablissement + */ + public String getIdEtablissement() { + return idEtablissement; + } + + /** + * @param idEtablissement the idEtablissement to set + */ + public void setIdEtablissement(String idEtablissement) { + this.idEtablissement = idEtablissement; + } } diff --git a/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/utils/ConstantesVieScolaire.java b/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/utils/ConstantesVieScolaire.java index 46ff6a8456..ccfba87ea8 100644 --- a/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/utils/ConstantesVieScolaire.java +++ b/services/services-initiaux-web/web-viescolaire/src/main/java/org/lilie/services/viescolaire/utils/ConstantesVieScolaire.java @@ -74,12 +74,12 @@ public final class ConstantesVieScolaire { public static final String SUFFIXE_PERSONNEL = "entreprise.html"; /** Suffixe acces_eleve */ public static final String SUFFIXE_AUTRE = "viescolaire.html"; - + /** param reinit compte omt vieScolaire.net */ public static final String PARAM_REINIT_OMT = "&mode=raz"; /** param reinit compte omt vieScolaire.net */ - public static final String MODE_REINIT_OMT = "RAZ"; + public static final String MODE_REINIT_OMT = "omtRAZ"; /** Map utilisé pour relier les profils des utilisateurs connectés aux suffixes à ajouter aux urls. */ public static final HashMap < String, String > MAPPING_SUFFIXE_PN_PROFIL = new HashMap < String, String >(); diff --git a/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/jspf/popup_profil.jspf b/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/jspf/popup_profil.jspf index aec48170c3..f75e86fad2 100644 --- a/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/jspf/popup_profil.jspf +++ b/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/jspf/popup_profil.jspf @@ -30,7 +30,7 @@ />

diff --git a/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/service.jsp b/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/service.jsp index 490ce6902a..1347fa64a1 100644 --- a/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/service.jsp +++ b/services/services-initiaux-web/web-viescolaire/src/main/webapp/jsp/service.jsp @@ -48,25 +48,31 @@ - - " - target="_top" title="" style="color:white;"> - - - - +<%-- --%> +<%-- " --%> +<%-- target="_top" title="" style="color:white;"> --%> +<%-- --%> + +<%-- --%> - - - - - - - " + %26idEtablissement%3D" target="_top" title="" style="color:white;"> + +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- " --%> +<%-- target="_top" title="" style="color:white;"> --%> +<%-- --%> + +<%-- --%> " style="color:white;"> -- 2.17.1