Bug : Si un utilisateur a les permissions pour l'administration de site mais qu'il n'a pas la permission Webmaster global. Il va modifier la liste des sites de tous les utilisateurs par les sites sur lesquelles il a les permissions.
Dans les faits on récupère du cache la liste de tous les sites ligne 2 et si l'utilisateur est pas webmaster on filtre directement sur la liste sans la copier ligne 4.
protected void listerInfosSite() throws Exception { final Collection<InfosSite> listeInfosSites = serviceInfosSite.getListeTousInfosSites(); if (!autorisations.isWebMaster()) { CollectionUtils.filter(listeInfosSites, new Predicate() { @Override public boolean evaluate(final Object object) { final InfosSite siteCourant = (InfosSite) object; return possedePermissionGestionPourSite(siteCourant) || possedePermissionModificationPourSite(siteCourant); } }); } final Map<String, TemplateSite> templatesParCodesTemplates = new HashMap<>(); @SuppressWarnings("unchecked") final Collection<String> codesTemplate = CollectionUtils.collect(listeInfosSites, new Transformer() { @Override public String transform(final Object input) { return ((InfosSite) input).getCodeTemplate(); } }); for (final String codeTemplate : codesTemplate) { templatesParCodesTemplates.put(codeTemplate, serviceTemplateSite.getTemplateSiteParCode(codeTemplate)); } infoBean.set(INFOBEAN_IS_GESTIONNAIRE_SITE, isGestionnaireSite()); infoBean.set(INFOBEAN_VALEURS_LISTE_TEMPLATES_INFOSSITE, templatesParCodesTemplates); infoBean.set(INFOBEAN_LISTE_INFOSSITES, listeInfosSites); }
1.
|
Report 6.7 - CORE-4974 | Fini | Automate |