Search in sources :

Example 1 with DroitFonctionnalite

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite in project esup-ecandidat by EsupPortail.

the class DroitProfilController method getCandidatureFonctionnalite.

/**
 * @param typGestionCandidature
 * @param candidature
 * @return les fonctionnalites dont l'utilisateur a le droit pour une candidature
 */
public List<DroitFonctionnalite> getCandidatureFonctionnalite(final String typGestionCandidature, final Candidature candidature) {
    Authentication auth = userController.getCurrentAuthentication();
    /* Ce sera la liste d'action a renvoyer */
    List<DroitFonctionnalite> listeFoncToRet = new ArrayList<>();
    if ((userController.isGestionnaireCandidat(auth) || userController.isGestionnaireCandidatLS(auth))) {
        listeFoncToRet.add(new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_OPEN_CANDIDAT, applicationContext.getMessage("candidature.action.open", null, UI.getCurrent().getLocale()), 0, true));
    }
    /* Utilisateur ScolCentrale, on ajoute toutes les fonctionnalités */
    if (userController.isScolCentrale(auth)) {
        List<DroitFonctionnalite> listeFonc = cacheController.getListeDroitFonctionnaliteCandidature();
        /* On place tout les éléments en ecriture */
        listeFonc.forEach(e -> listeFoncToRet.add(new DroitFonctionnalite(e, false)));
    } else {
        List<DroitProfilFonc> listFonctionnalite = new ArrayList<>();
        /* On provient du menu centre de candidature-->on a accès au droits du profil du centre de candidature */
        if (MethodUtils.isGestionCandidatureCtrCand(typGestionCandidature)) {
            SecurityCentreCandidature scc = userController.getCentreCandidature(auth);
            if (scc != null) {
                listFonctionnalite = scc.getListFonctionnalite();
            }
        } else /* On provient du menu commission-->on a accès au droits du profil de la commission */
        if (MethodUtils.isGestionCandidatureCommission(typGestionCandidature)) {
            SecurityCommission sc = userController.getCommission(auth);
            if (sc != null) {
                listFonctionnalite = sc.getListFonctionnalite();
            }
        } else /* On provient du menu candidat-->on a accès au droits du profil de la commission et du centre de candidature */
        if (MethodUtils.isGestionCandidatureCandidat(typGestionCandidature)) {
            SecurityCentreCandidature scc = userController.getCentreCandidature(auth);
            if (scc != null && candidature != null && (scc.getIsGestAllCommission() || MethodUtils.isIdInListId(candidature.getFormation().getCommission().getIdComm(), scc.getListeIdCommission()))) {
                listFonctionnalite.addAll(scc.getListFonctionnalite());
            }
            SecurityCommission sc = userController.getCommission(auth);
            if (sc != null && candidature != null && sc.getIdComm().equals(candidature.getFormation().getCommission().getIdComm())) {
                listFonctionnalite.addAll(sc.getListFonctionnalite());
            }
            /* Il faut eviter les doublons et prendre les fonctionnalités en ecriture prioritairement-->on trie sur le temoin pour passer les readonly en dernier */
            listFonctionnalite.sort((d1, d2) -> d1.getTemReadOnly().compareTo(d2.getTemReadOnly()));
        }
        /* On traite la liste-->dédoublon + gestion du read only */
        listFonctionnalite.stream().filter(e -> e.getDroitFonctionnalite().getTemActionCandFonc() && (!e.getTemReadOnly() || (e.getTemReadOnly() && e.getDroitFonctionnalite().getCodFonc().equals(NomenclatureUtils.FONCTIONNALITE_GEST_POST_IT)) || (e.getTemReadOnly() && e.getDroitFonctionnalite().getCodFonc().equals(NomenclatureUtils.FONCTIONNALITE_VISU_HISTO_AVIS)))).forEach(f -> {
            listeFoncToRet.add(new DroitFonctionnalite(f.getDroitFonctionnalite(), f.getTemReadOnly()));
        });
    }
    /* On trie et on envoie */
    listeFoncToRet.sort((d1, d2) -> d1.getOrderFonc().compareTo(d2.getOrderFonc()));
    return listeFoncToRet.stream().distinct().collect(Collectors.toList());
}
Also used : DroitProfilRepository(fr.univlorraine.ecandidat.repositories.DroitProfilRepository) LocalDateTime(java.time.LocalDateTime) UI(com.vaadin.ui.UI) HashMap(java.util.HashMap) DroitProfilInd(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilInd) ArrayList(java.util.ArrayList) Value(org.springframework.beans.factory.annotation.Value) DroitFonctionnaliteRepository(fr.univlorraine.ecandidat.repositories.DroitFonctionnaliteRepository) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) SecurityCommission(fr.univlorraine.ecandidat.services.security.SecurityCommission) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) CommissionRepository(fr.univlorraine.ecandidat.repositories.CommissionRepository) ScolGestCandidatMasseWindow(fr.univlorraine.ecandidat.views.windows.ScolGestCandidatMasseWindow) PreferenceInd(fr.univlorraine.ecandidat.entities.ecandidat.PreferenceInd) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) Resource(javax.annotation.Resource) DroitProfilIndividuWindow(fr.univlorraine.ecandidat.views.windows.DroitProfilIndividuWindow) Collectors(java.util.stream.Collectors) ApplicationContext(org.springframework.context.ApplicationContext) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite) CentreCandidatureRepository(fr.univlorraine.ecandidat.repositories.CentreCandidatureRepository) Commission(fr.univlorraine.ecandidat.entities.ecandidat.Commission) List(java.util.List) Component(org.springframework.stereotype.Component) Type(com.vaadin.ui.Notification.Type) DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) DroitProfil(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil) Optional(java.util.Optional) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) AdminDroitProfilWindow(fr.univlorraine.ecandidat.views.windows.AdminDroitProfilWindow) Authentication(org.springframework.security.core.Authentication) Individu(fr.univlorraine.ecandidat.entities.ecandidat.Individu) DroitProfilIndRepository(fr.univlorraine.ecandidat.repositories.DroitProfilIndRepository) SimpleBeanPresentation(fr.univlorraine.ecandidat.utils.bean.presentation.SimpleBeanPresentation) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) Assert(org.springframework.util.Assert) DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) Authentication(org.springframework.security.core.Authentication) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) SecurityCommission(fr.univlorraine.ecandidat.services.security.SecurityCommission) ArrayList(java.util.ArrayList) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)

Example 2 with DroitFonctionnalite

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite in project esup-ecandidat by EsupPortail.

the class CtrCandActionCandidatureWindow method majComponents.

/**
 * Met a jour les composants
 * @param listeCandidature
 */
private void majComponents() {
    final DroitFonctionnalite fonc = (DroitFonctionnalite) optionGroupAction.getValue();
    if (fonc == null) {
        formLayoutTypeTrait.setVisible(false);
        formLayoutTypeStatut.setVisible(false);
        layoutDecision.setVisible(false);
        formLayoutOpi.setVisible(false);
        hlTags.setVisible(false);
        formLayoutDatConfirm.setVisible(false);
        formLayoutDatRetour.setVisible(false);
        formLayoutMontant.setVisible(false);
    } else {
        final String codFonc = fonc.getCodFonc();
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_EDIT_TYPTRAIT)) {
            formLayoutTypeTrait.setVisible(true);
        } else {
            formLayoutTypeTrait.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_EDIT_STATUT_DOSSIER)) {
            formLayoutTypeStatut.setVisible(true);
            @SuppressWarnings("unchecked") final RequiredComboBox<TypeStatut> cbTypeStatut = (RequiredComboBox<TypeStatut>) fieldGroupTypeStatut.getField(Candidature_.typeStatut.getName());
            cbTypeStatut.setValue(tableRefController.getTypeStatutReceptionne());
            majStatutDossierComponent();
        } else {
            formLayoutTypeStatut.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_EDIT_AVIS)) {
            layoutDecision.setVisible(true);
            majAvisComponent();
        } else {
            layoutDecision.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_GEST_NUM_OPI)) {
            formLayoutOpi.setVisible(true);
        } else {
            formLayoutOpi.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_GEST_TAG)) {
            hlTags.setVisible(true);
        } else {
            hlTags.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_GEST_DAT_CONFIRM)) {
            formLayoutDatConfirm.setVisible(true);
        } else {
            formLayoutDatConfirm.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_GEST_DAT_RETOUR)) {
            formLayoutDatRetour.setVisible(true);
        } else {
            formLayoutDatRetour.setVisible(false);
        }
        if (codFonc.equals(NomenclatureUtils.FONCTIONNALITE_GEST_MONTANT)) {
            formLayoutMontant.setVisible(true);
        } else {
            formLayoutMontant.setVisible(false);
        }
    }
    center();
}
Also used : TypeStatut(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatut) RequiredComboBox(fr.univlorraine.ecandidat.vaadin.form.RequiredComboBox) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)

Example 3 with DroitFonctionnalite

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite in project esup-ecandidat by EsupPortail.

the class CandidatureController method openCandidatureCandidat.

/**
 * Ouvre la fenetre pour le candidat
 * @param candidature
 * @param listener
 */
public void openCandidatureCandidat(final Candidature candidature, final Boolean isArchive, final CandidatureCandidatViewListener listener) {
    if (candidature == null) {
        return;
    }
    final Authentication auth = userController.getCurrentAuthentication();
    final Candidature candidatureLoad = candidatureRepository.findOne(candidature.getIdCand());
    if (candidatureLoad == null || candidatureLoad.getDatAnnulCand() != null || (candidatureLoad.getCandidat().getCompteMinima().getCampagne().getDatArchivCamp() != null && !isArchive)) {
        Notification.show(applicationContext.getMessage("candidature.open.error", null, UI.getCurrent().getLocale()), Notification.Type.WARNING_MESSAGE);
        listener.candidatureCanceled(candidature);
        return;
    }
    candidatureLoad.setLastTypeDecision(getLastTypeDecisionCandidature(candidatureLoad));
    /* Si les valeurs ont changé entre temps, on update la vue candidat */
    final String libLastTypDecLoad = getLibLastTypeDecisionCandidature(candidatureLoad.getLastTypeDecision(), true);
    final String libLastTypDec = getLibLastTypeDecisionCandidature(candidature.getLastTypeDecision(), true);
    if ((!libLastTypDecLoad.equals(libLastTypDec)) || (!candidatureLoad.getTypeStatut().equals(candidature.getTypeStatut())) || /* Ajout des controle sur le type de traitement pour les gestionnaires */
    (userController.isGestionnaireCandidat(auth) && !candidatureLoad.getTypeTraitement().equals(candidature.getTypeTraitement())) || (userController.isGestionnaireCandidat(auth) && !candidatureLoad.getTemValidTypTraitCand().equals(candidature.getTemValidTypTraitCand()))) /* Fin Ajout des controle sur le type de traitement pour les gestionnaires */
    {
        Notification.show(applicationContext.getMessage("candidature.open.modify", null, UI.getCurrent().getLocale()), Notification.Type.TRAY_NOTIFICATION);
        listener.statutDossierModified(candidatureLoad);
    }
    /* Blocage ouverture-->verif des droits */
    Boolean blocage = true;
    if (isCandidatOfCandidature(candidature)) {
        blocage = false;
    } else if (userController.isAdmin(auth) || userController.isScolCentrale(auth)) {
        blocage = false;
    } else {
        final SecurityCentreCandidature scc = userController.getCentreCandidature(auth);
        final SecurityCommission sc = userController.getCommission(auth);
        if (hasRightToOpenCandidature(candidature, scc, sc)) {
            blocage = false;
        }
    }
    if (blocage) {
        Notification.show(applicationContext.getMessage("candidature.open.noright", null, UI.getCurrent().getLocale()), Notification.Type.WARNING_MESSAGE);
        return;
    }
    /* Verrou */
    Boolean locked = false;
    if (!lockCandidatController.getLockOrNotifyCandidature(candidatureLoad)) {
        locked = true;
    }
    /* L'utilisateur n'est pas bloqué */
    List<DroitFonctionnalite> listeDroitFonc = null;
    if (!userController.isCandidat()) {
        listeDroitFonc = droitProfilController.getCandidatureFonctionnalite(ConstanteUtils.TYP_GESTION_CANDIDATURE_CANDIDAT, candidatureLoad);
    }
    final CandidatureWindow window = new CandidatureWindow(candidatureLoad, locked, false, isArchive, listeDroitFonc);
    if (listener != null) {
        window.addCandidatureCandidatListener(listener);
    }
    window.addCloseListener(e -> lockCandidatController.releaseLockCandidature(candidatureLoad));
    UI.getCurrent().addWindow(window);
}
Also used : Authentication(org.springframework.security.core.Authentication) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) SecurityCommission(fr.univlorraine.ecandidat.services.security.SecurityCommission) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) ExportDossierCandidature(fr.univlorraine.ecandidat.utils.bean.export.ExportDossierCandidature) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite) CandidatureWindow(fr.univlorraine.ecandidat.views.windows.CandidatureWindow) CtrCandOdfCandidatureWindow(fr.univlorraine.ecandidat.views.windows.CtrCandOdfCandidatureWindow)

Example 4 with DroitFonctionnalite

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite in project esup-ecandidat by EsupPortail.

the class NomenclatureController method nomenclatureDroits.

/**
 * Met à jours les droits
 * @param locale
 */
private void nomenclatureDroits(final Locale locale) {
    /* DroitProfil */
    majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_ADMIN, applicationContext.getMessage("nomenclature.droitProfil.admin", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_ADM, false, true));
    majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_SCOL_CENTRALE, applicationContext.getMessage("nomenclature.droitProfil.scolcentrale", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_ADM, false, true));
    final DroitProfil profilCtrCand = majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_CENTRE_CANDIDATURE, applicationContext.getMessage("nomenclature.droitProfil.centrecand", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_GESTIONNAIRE, false, true));
    final DroitProfil profilCommission = majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_COMMISSION, applicationContext.getMessage("nomenclature.droitProfil.commission", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_COMMISSION, false, true));
    majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_GESTION_CANDIDAT, applicationContext.getMessage("nomenclature.droitProfil.gestCand", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_GEST_CANDIDAT, false, true));
    majDroitProfil(new DroitProfil(NomenclatureUtils.DROIT_PROFIL_GESTION_CANDIDAT_LS, applicationContext.getMessage("nomenclature.droitProfil.gestCandLs", null, locale), NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.USER_NOMENCLATURE, NomenclatureUtils.TYP_DROIT_PROFIL_GEST_CANDIDAT_LS, false, true));
    /* Fonctionnalites */
    /* Accès aux menus */
    majDroitProfilFonc(profilCtrCand, profilCommission, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_PARAM, applicationContext.getMessage("nomenclature.fonctionnalite.param.lib", null, locale), true, 1, false));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_STATS, applicationContext.getMessage("nomenclature.fonctionnalite.stats.lib", null, locale), 2, false));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_COMMISSION, applicationContext.getMessage("nomenclature.fonctionnalite.gestCommission.lib", null, locale), 3, false));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_PJ, applicationContext.getMessage("nomenclature.fonctionnalite.gestPj.lib", null, locale), 4, false));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_FORMULAIRE, applicationContext.getMessage("nomenclature.fonctionnalite.gestFormulaire.lib", null, locale), 5, false));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_FORMATION, applicationContext.getMessage("nomenclature.fonctionnalite.gestFormation.lib", null, locale), 6, false));
    majDroitProfilFonc(profilCtrCand, profilCommission, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_CANDIDATURE, applicationContext.getMessage("nomenclature.fonctionnalite.gestCand.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.gestCand.lib", null, locale), true, 7, false));
    /* Accès aux menus surchargés Scol centrale */
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_PARAM_CC, applicationContext.getMessage("nomenclature.fonctionnalite.gestParamDec.lib", null, locale), 8, false));
    /* Accès aux actions */
    majDroitProfilFonc(profilCtrCand, profilCommission, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_FENETRE_CAND, applicationContext.getMessage("nomenclature.fonctionnalite.gestFenetreCand.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.gestFenetreCand.lib", null, locale), true, 10, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_POST_IT, applicationContext.getMessage("nomenclature.fonctionnalite.gestPostIt.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.gestPostIt.lic", null, locale), true, 11, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_EDIT_TYPTRAIT, applicationContext.getMessage("nomenclature.fonctionnalite.editTypTrait.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editTypTrait.lic", null, locale), true, 12, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_VALID_TYPTRAIT, applicationContext.getMessage("nomenclature.fonctionnalite.validTypTrait.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.validTypTrait.lic", null, locale), true, 13, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_EDIT_STATUT_DOSSIER, applicationContext.getMessage("nomenclature.fonctionnalite.editStatutDossier.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editStatutDossier.lic", null, locale), true, 14, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_EDIT_AVIS, applicationContext.getMessage("nomenclature.fonctionnalite.editAvis.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editAvis.lic", null, locale), true, 15, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_VALID_AVIS, applicationContext.getMessage("nomenclature.fonctionnalite.validAvis.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.validAvis.lic", null, locale), true, 16, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_VISU_HISTO_AVIS, applicationContext.getMessage("nomenclature.fonctionnalite.visuHistoAvis.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.visuHistoAvis.lic", null, locale), true, 17, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_NUM_OPI, applicationContext.getMessage("nomenclature.fonctionnalite.editCodOpi.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editCodOpi.lic", null, locale), true, 18, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_TAG, applicationContext.getMessage("nomenclature.fonctionnalite.editTag.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editTag.lic", null, locale), true, 19, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_DAT_CONFIRM, applicationContext.getMessage("nomenclature.fonctionnalite.editDatConfirm.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editDatConfirm.lic", null, locale), true, 20, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_DAT_RETOUR, applicationContext.getMessage("nomenclature.fonctionnalite.editDatRetour.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editDatRetour.lic", null, locale), true, 21, true));
    majDroitProfilFonc(profilCtrCand, null, new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_MONTANT, applicationContext.getMessage("nomenclature.fonctionnalite.editMontant.lib", null, locale), applicationContext.getMessage("nomenclature.fonctionnalite.editMontant.lic", null, locale), true, 22, true));
}
Also used : DroitProfil(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)

Example 5 with DroitFonctionnalite

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite in project esup-ecandidat by EsupPortail.

the class CandidatureViewTemplate method init.

/**
 * Initialise la vue
 */
/**
 * @param modeModification
 * @param typGestionCandidature
 * @param isCanceled
 * @param isArchived
 */
public void init(final Boolean modeModification, final String typGestionCandidature, final Boolean isCanceled, final Boolean isArchived) {
    modeModif = modeModification;
    /* Style */
    setSizeFull();
    layout.setMargin(true);
    layout.setSpacing(true);
    layout.setSizeFull();
    addComponent(layout);
    /* Titre */
    final HorizontalLayout hlTitle = new HorizontalLayout();
    hlTitle.setWidth(100, Unit.PERCENTAGE);
    hlTitle.setSpacing(true);
    titleView.setSizeUndefined();
    titleView.addStyleName(StyleConstants.VIEW_TITLE);
    hlTitle.addComponent(titleView);
    /* PopUp Légende */
    pvLegende = new PopupView(applicationContext.getMessage("legend.popup.link", null, UI.getCurrent().getLocale()), null);
    pvLegende.setVisible(false);
    hlTitle.addComponent(pvLegende);
    hlTitle.setComponentAlignment(pvLegende, Alignment.MIDDLE_LEFT);
    final Label spacer1 = new Label();
    spacer1.setWidth(100, Unit.PERCENTAGE);
    hlTitle.addComponent(spacer1);
    hlTitle.setExpandRatio(spacer1, 1);
    /* Label du nombre de candidatures */
    nbCandidatureLabel.setSizeUndefined();
    nbCandidatureLabel.addStyleName(ValoTheme.LABEL_COLORED);
    nbCandidatureLabel.addStyleName(StyleConstants.LABEL_ITALIC);
    hlTitle.addComponent(nbCandidatureLabel);
    hlTitle.setComponentAlignment(nbCandidatureLabel, Alignment.BOTTOM_RIGHT);
    final Label labelSpaceNb = new Label(" - ");
    labelSpaceNb.setSizeUndefined();
    labelSpaceNb.addStyleName(ValoTheme.LABEL_COLORED);
    labelSpaceNb.addStyleName(StyleConstants.LABEL_ITALIC);
    hlTitle.addComponent(labelSpaceNb);
    hlTitle.setComponentAlignment(labelSpaceNb, Alignment.BOTTOM_RIGHT);
    nbCandidatureLabelSelected.setSizeUndefined();
    nbCandidatureLabelSelected.addStyleName(ValoTheme.LABEL_COLORED);
    nbCandidatureLabelSelected.addStyleName(StyleConstants.LABEL_MORE_BOLD);
    nbCandidatureLabelSelected.addStyleName(StyleConstants.LABEL_ITALIC);
    hlTitle.addComponent(nbCandidatureLabelSelected);
    hlTitle.setComponentAlignment(nbCandidatureLabelSelected, Alignment.BOTTOM_RIGHT);
    layout.addComponent(hlTitle);
    /* Les droits sur les candidatures */
    final List<DroitFonctionnalite> listeDroitFonc = droitProfilController.getCandidatureFonctionnalite(typGestionCandidature, null);
    Boolean droitOpenCandidature = false;
    final Authentication auth = userController.getCurrentAuthentication();
    if (MethodUtils.isGestionCandidatureCtrCand(typGestionCandidature)) {
        /* Récupération du centre de candidature en cours */
        securityCtrCandFonc = userController.getCtrCandFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_CANDIDATURE, auth);
        if (securityCtrCandFonc.hasNoRight()) {
            return;
        }
        /* Verification que l'utilisateur a le droit d'ouvrir la candidature */
        final SecurityCtrCandFonc openCandidatureFonc = userController.getCtrCandFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_FENETRE_CAND, auth);
        if (!openCandidatureFonc.hasNoRight()) {
            droitOpenCandidature = true;
        }
        /* Chooser de commissions */
        final List<Commission> liste = commissionController.getCommissionsEnServiceByCtrCand(securityCtrCandFonc.getCtrCand(), securityCtrCandFonc.getIsGestAllCommission(), securityCtrCandFonc.getListeIdCommission(), isArchived);
        liste.sort(Comparator.comparing(Commission::getGenericLibelleAlternatif));
        cbCommission.setWidth(500, Unit.PIXELS);
        cbCommission.setItemCaptionPropertyId(ConstanteUtils.GENERIC_LIBELLE_ALTERNATIF);
        cbCommission.setTextInputAllowed(true);
        cbCommission.filterListValue(liste);
        cbCommission.setFilteringMode(FilteringMode.CONTAINS);
        cbCommission.setItemCaptionMode(ItemCaptionMode.PROPERTY);
        cbCommission.setPageLength(25);
        if (liste.size() > 0) {
            final Integer idCommEnCours = preferenceController.getPrefCandIdComm();
            if (idCommEnCours != null) {
                if (!cbCommission.setCommissionValue(idCommEnCours)) {
                    cbCommission.setValue(liste.get(0));
                }
            } else {
                cbCommission.setValue(liste.get(0));
            }
        }
        cbCommission.addValueChangeListener(e -> {
            majContainer();
            preferenceController.setPrefCandIdComm(getCommission());
        });
        /* Filtrage */
        final Panel panelCommission = new Panel();
        panelCommission.setWidth(100, Unit.PERCENTAGE);
        final HorizontalLayout filtreLayout = new HorizontalLayout();
        filtreLayout.setMargin(true);
        layout.addComponent(panelCommission);
        filtreLayout.setSpacing(true);
        final Label labelFiltre = new Label(applicationContext.getMessage("candidature.change.commission", null, UI.getCurrent().getLocale()));
        filtreLayout.addComponent(labelFiltre);
        filtreLayout.setComponentAlignment(labelFiltre, Alignment.MIDDLE_LEFT);
        filtreLayout.addComponent(cbCommission);
        filtreLayout.setComponentAlignment(cbCommission, Alignment.BOTTOM_LEFT);
        // popup astuce
        final PopupView pvAstuce = new PopupView(createPopUpAstuce());
        filtreLayout.addComponent(pvAstuce);
        filtreLayout.setComponentAlignment(pvAstuce, Alignment.MIDDLE_LEFT);
        panelCommission.setContent(filtreLayout);
    } else if (MethodUtils.isGestionCandidatureCommission(typGestionCandidature)) {
        /* Récupération de la commission en cours en cours */
        securityCommissionFonc = userController.getCommissionFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_CANDIDATURE, auth);
        if (securityCommissionFonc.hasNoRight()) {
            return;
        }
        /* Verification que l'utilisateur a le droit d'ouvrir la candidature */
        final SecurityCommissionFonc openCandidatureFonc = userController.getCommissionFonctionnalite(NomenclatureUtils.FONCTIONNALITE_GEST_FENETRE_CAND, auth);
        if (!openCandidatureFonc.hasNoRight()) {
            droitOpenCandidature = true;
        }
    }
    /* Mise a jour des listes utilisées */
    listeAlertesSva = alertSvaController.getAlertSvaEnService();
    listeTags = tagController.getTagEnServiceByCtrCand(getCentreCandidature());
    final Boolean droitOpenCandidatureFinal = droitOpenCandidature;
    /* Boutons */
    final HorizontalLayout buttonsLayout = new HorizontalLayout();
    buttonsLayout.setWidth(100, Unit.PERCENTAGE);
    buttonsLayout.setSpacing(true);
    layout.addComponent(buttonsLayout);
    /* Bouton d'ouverture de candidature */
    btnOpen.setCaption(applicationContext.getMessage("btnOpen", null, UI.getCurrent().getLocale()));
    btnOpen.setEnabled(false);
    btnOpen.addClickListener(e -> {
        final Candidature candidature = getCandidatureSelected();
        if (droitOpenCandidatureFinal && candidature != null) {
            candidatureController.openCandidatureGestionnaire(candidature, isCanceled, isArchived, listeDroitFonc);
        }
    });
    buttonsLayout.addComponent(btnOpen);
    buttonsLayout.setComponentAlignment(btnOpen, Alignment.MIDDLE_LEFT);
    if (modeModif && listeDroitFonc.stream().filter(e -> !e.getCodFonc().equals(NomenclatureUtils.FONCTIONNALITE_GEST_FENETRE_CAND)).count() > 0) {
        /* Bouton d'action */
        btnAction.setCaption(applicationContext.getMessage("btnAction", null, UI.getCurrent().getLocale()));
        btnAction.setEnabled(false);
        btnAction.addClickListener(e -> {
            final List<Candidature> listeCheck = getListeCandidatureSelected();
            if (listeCheck.size() == 0) {
                Notification.show(applicationContext.getMessage("candidature.noselected", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
            } else if (listeCheck.size() > ConstanteUtils.SIZE_MAX_EDITION_MASSE) {
                Notification.show(applicationContext.getMessage("candidature.toomuchselected", new Object[] { ConstanteUtils.SIZE_MAX_EDITION_MASSE }, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                return;
            } else {
                candidatureCtrCandController.editActionCandidatureMasse(listeCheck, listeDroitFonc, getCentreCandidature(), this);
            }
        });
        buttonsLayout.addComponent(btnAction);
        buttonsLayout.setComponentAlignment(btnAction, Alignment.MIDDLE_CENTER);
    }
    /* Les options */
    final HorizontalLayout hlOption = new HorizontalLayout();
    hlOption.setSpacing(true);
    buttonsLayout.addComponent(hlOption);
    buttonsLayout.setComponentAlignment(hlOption, Alignment.MIDDLE_RIGHT);
    /* Export de la liste de candidature */
    btnExport.setDescription(applicationContext.getMessage("btnExport", null, UI.getCurrent().getLocale()));
    btnExport.addClickListener(e -> {
        @SuppressWarnings("unchecked") final List<Candidature> listeCand = (List<Candidature>) candidatureGrid.getContainerDataSource().getItemIds();
        if (listeCand.size() == 0) {
            return;
        }
        final CtrCandExportWindow window = new CtrCandExportWindow(getCommission(), listeCand);
        UI.getCurrent().addWindow(window);
    });
    hlOption.addComponent(btnExport);
    /* Filtres de comboBox perso */
    final String libFilterNull = applicationContext.getMessage("filter.null", null, UI.getCurrent().getLocale());
    final String libFilterExceptAtt = applicationContext.getMessage("filter.except.attente", null, UI.getCurrent().getLocale());
    final List<ComboBoxFilterPresentation> listeCbFilter = new ArrayList<>();
    /* Filtre de tag */
    listeCbFilter.add(new ComboBoxFilterPresentation(Candidature_.tags.getName(), getComboBoxFilterTag(), getNullTag(), TypeFilter.LIST_CONTAINS));
    /* Les filtres sur les Strings */
    listeCbFilter.add(new ComboBoxFilterPresentation(Candidature_.typeStatut.getName() + "." + TypeStatut_.libTypStatut.getName(), libFilterExceptAtt, tableRefController.getTypeStatutEnAttente().getLibTypStatut(), getComboBoxTypStatut(libFilterExceptAtt)));
    listeCbFilter.add(new ComboBoxFilterPresentation(Candidature_.typeTraitement.getName() + "." + TypeTraitement_.libTypTrait.getName(), libFilterExceptAtt, tableRefController.getTypeTraitementEnAttente().getLibTypTrait(), getComboBoxTypTrait(libFilterExceptAtt)));
    listeCbFilter.add(new ComboBoxFilterPresentation(LAST_TYPE_DECISION_PREFIXE + TypeDecisionCandidature_.typeDecision.getName() + "." + TypeDecision_.libTypDec.getName(), getComboBoxTypDec(libFilterNull), libFilterNull, TypeFilter.EQUALS));
    listeCbFilter.add(new ComboBoxFilterPresentation(Candidature_.siScolCatExoExt.getName() + "." + SiScolCatExoExt.DISPLAY_LIB_FIELD, getComboBoxCatExoExt(libFilterNull), libFilterNull, TypeFilter.EQUALS));
    /* La colonne de tag n'est plus automatiquement visibles si aucun tags en service */
    final String[] fieldsOrderVisibletoUse = (listeTags.size() != 0) ? FIELDS_ORDER_VISIBLE : (String[]) ArrayUtils.removeElement(FIELDS_ORDER_VISIBLE, Candidature_.tags.getName());
    /* Les préférences */
    final Integer frozen = preferenceController.getPrefCandFrozenColonne(1);
    final String[] visibleColonne = preferenceController.getPrefCandColonnesVisible(fieldsOrderVisibletoUse, FIELDS_ORDER);
    final String[] orderColonne = preferenceController.getPrefCandColonnesOrder(FIELDS_ORDER);
    final List<SortOrder> sortColonne = preferenceController.getPrefCandSortColonne(FIELDS_ORDER);
    /* Bouton de modification de preferences */
    final OneClickButton btnPref = new OneClickButton(FontAwesome.COG);
    btnPref.setDescription(applicationContext.getMessage("preference.view.btn", null, UI.getCurrent().getLocale()));
    btnPref.addClickListener(e -> {
        final CtrCandPreferenceViewWindow window = new CtrCandPreferenceViewWindow(candidatureGrid.getColumns(), candidatureGrid.getFrozenColumnCount(), FIELDS_ORDER.length, candidatureGrid.getSortOrder());
        window.addPreferenceViewListener(new PreferenceViewListener() {

            @Override
            public void saveInSession(final String valeurColonneVisible, final String valeurColonneOrder, final Integer frozenCols, final List<SortOrder> listeSortOrder) {
                preferenceController.savePrefCandInSession(valeurColonneVisible, valeurColonneOrder, frozenCols, listeSortOrder, true);
                candidatureGrid.setFrozenColumnCount(frozenCols);
                candidatureGrid.sort(listeSortOrder);
            }

            @Override
            public void saveInDb(final String valeurColonneVisible, final String valeurColonneOrder, final Integer frozenCols, final List<SortOrder> listeSortOrder) {
                preferenceController.savePrefCandInDb(valeurColonneVisible, valeurColonneOrder, frozenCols, listeSortOrder);
                candidatureGrid.setFrozenColumnCount(frozenCols);
                candidatureGrid.sort(listeSortOrder);
            }

            @Override
            public void initPref() {
                preferenceController.initPrefCand();
                candidatureGrid.setFrozenColumnCount(1);
                candidatureGrid.initColumn(FIELDS_ORDER, FIELDS_ORDER_VISIBLE, FIELDS_ORDER, "candidature.table.", preferenceController.getDefaultSortOrder(), listeCbFilter);
                candidatureGrid.sort();
            }
        });
        UI.getCurrent().addWindow(window);
    });
    /* Download du dossier */
    btnDownload.setEnabled(false);
    final Integer nb = parametreController.getNbDownloaMultipliedMax();
    if (nb.equals(1)) {
        btnDownload.setDescription(applicationContext.getMessage("candidature.download.btn", null, UI.getCurrent().getLocale()));
    } else {
        btnDownload.setDescription(applicationContext.getMessage("candidature.download.multiple.btn", new Object[] { nb }, UI.getCurrent().getLocale()));
    }
    new OnDemandFileDownloader(new OnDemandStreamFile() {

        @Override
        public OnDemandFile getOnDemandFile() {
            final OnDemandFile file = candidatureController.downlaodMultipleDossier(getListeCandidatureSelected(), getCommission());
            if (file != null) {
                btnDownload.setEnabled(true);
                return file;
            }
            btnDownload.setEnabled(true);
            return null;
        }
    }, btnDownload);
    /* Download des PJ */
    btnDownloadPj.setEnabled(false);
    btnDownloadPj.setDescription(applicationContext.getMessage("candidature.download.pj.btn", new Object[] { nb }, UI.getCurrent().getLocale()));
    btnDownloadPj.addClickListener(e -> {
        UI.getCurrent().addWindow(new CtrCandDownloadPJWindow(getCommission(), getListeCandidatureSelected()));
    });
    hlOption.addComponent(btnExport);
    hlOption.addComponent(btnDownload);
    hlOption.addComponent(btnDownloadPj);
    hlOption.addComponent(btnPref);
    /* Grid des candidatures */
    candidatureGrid.initColumn(FIELDS_ORDER, visibleColonne, orderColonne, "candidature.table.", sortColonne, listeCbFilter);
    /* Ajout des colonnes gelées */
    candidatureGrid.setFrozenColumnCount(frozen);
    /* Ajout du flag */
    candidatureGrid.setColumnConverter(Candidature_.tags.getName(), new TagsToHtmlSquareConverter());
    candidatureGrid.setColumnRenderer(Candidature_.tags.getName(), new HtmlRenderer());
    /* Formatage monnétaire */
    candidatureGrid.setColumnConverter(Candidature_.mntChargeCand.getName(), new BigDecimalMonetaireToStringConverter());
    candidatureGrid.setColumnRenderer(Candidature_.mntChargeCand.getName(), new HtmlRenderer());
    /* Mise a jour des données lors du filtre */
    candidatureGrid.addFilterListener(() -> {
        deselectFilter();
    });
    /* Mode de selection de la grid */
    if (modeModif) {
        candidatureGrid.setSelectionMode(SelectionMode.MULTI);
        final MultiSelectionModel selection = (MultiSelectionModel) candidatureGrid.getSelectionModel();
        selection.setSelectionLimit(ConstanteUtils.SIZE_MAX_EDITION_MASSE);
        candidatureGrid.addSelectionListener(e -> {
            if (candidatureGrid.getSelectedRows().size() == ConstanteUtils.SIZE_MAX_EDITION_MASSE) {
                Notification.show(applicationContext.getMessage("candidature.maxselected", new Object[] { ConstanteUtils.SIZE_MAX_EDITION_MASSE }, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
            }
        });
    } else {
        candidatureGrid.setSelectionMode(SelectionMode.SINGLE);
    }
    /* Selection de la grid */
    candidatureGrid.addSelectionListener(e -> {
        setButtonState(droitOpenCandidatureFinal, listeDroitFonc);
        majNbCandidatures();
    });
    /* CLique sur un item */
    candidatureGrid.addItemClickListener(e -> {
        /* Suivant le mode de slection de la grid on fait un traitement */
        if (modeModif) {
            final MultiSelectionModel selection = (MultiSelectionModel) candidatureGrid.getSelectionModel();
            selection.deselectAll();
            try {
                selection.select(e.getItemId());
            } catch (final Exception e1) {
                Notification.show(applicationContext.getMessage("candidature.select.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                majContainer();
                return;
            }
            setButtonState(droitOpenCandidatureFinal, listeDroitFonc);
            if (droitOpenCandidatureFinal && e.isDoubleClick()) {
                if (e.getItemId() instanceof Candidature) {
                    candidatureController.openCandidatureGestionnaire((Candidature) e.getItemId(), isCanceled, isArchived, listeDroitFonc);
                }
            }
            majNbCandidatures();
        } else {
            final SingleSelectionModel selection = (SingleSelectionModel) candidatureGrid.getSelectionModel();
            try {
                selection.select(e.getItemId());
            } catch (final Exception e1) {
                Notification.show(applicationContext.getMessage("candidature.select.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                majContainer();
                return;
            }
            setButtonState(droitOpenCandidatureFinal, listeDroitFonc);
            if (e.isDoubleClick()) {
                if (droitOpenCandidatureFinal && e.getItemId() instanceof Candidature) {
                    candidatureController.openCandidatureGestionnaire((Candidature) e.getItemId(), isCanceled, isArchived, listeDroitFonc);
                }
            }
            majNbCandidatures();
        }
    });
    /* Ajustement de la taille de colonnes */
    candidatureGrid.setColumnWidth(Candidature_.candidat.getName() + "." + Candidat_.compteMinima.getName() + "." + CompteMinima_.numDossierOpiCptMin.getName(), 120);
    candidatureGrid.setColumnWidth(Candidature_.candidat.getName() + "." + Candidat_.nomPatCandidat.getName(), 130);
    candidatureGrid.setColumnWidth(Candidature_.candidat.getName() + "." + Candidat_.prenomCandidat.getName(), 120);
    candidatureGrid.setColumnWidth(Candidature_.formation.getName() + "." + Formation_.codForm.getName(), 130);
    candidatureGrid.setColumnWidth(Candidature_.formation.getName() + "." + Formation_.libForm.getName(), 200);
    candidatureGrid.setColumnWidth(LAST_TYPE_DECISION_PREFIXE + TypeDecisionCandidature_.commentTypeDecCand.getName(), 120);
    candidatureGrid.setColumnWidth(LAST_TYPE_DECISION_PREFIXE + TypeDecisionCandidature_.motivationAvis.getName() + "." + MotivationAvis_.libMotiv.getName(), 120);
    candidatureGrid.setColumnWidth(Candidature_.typeStatut.getName() + "." + TypeStatut_.libTypStatut.getName(), 145);
    candidatureGrid.setColumnWidth(Candidature_.typeTraitement.getName() + "." + TypeTraitement_.libTypTrait.getName(), 157);
    candidatureGrid.setColumnWidth(Candidature_.temAcceptCand.getName(), 151);
    candidatureGrid.setColumnWidth(Candidature_.tags.getName(), 100);
    candidatureGrid.setColumnWidth(Candidature_.datNewConfirmCand.getName(), 210);
    candidatureGrid.setColumnWidth(Candidature_.datNewRetourCand.getName(), 180);
    layout.addComponent(candidatureGrid);
    layout.setExpandRatio(candidatureGrid, 1);
    candidatureGrid.setSizeFull();
    /* Ajoute les alertes SVA */
    addAlertSva(isCanceled, isArchived);
    /* Ajoute la légende */
    addLegend();
}
Also used : Panel(com.vaadin.ui.Panel) CommissionController(fr.univlorraine.ecandidat.controllers.CommissionController) PreferenceController(fr.univlorraine.ecandidat.controllers.PreferenceController) Opi_(fr.univlorraine.ecandidat.entities.ecandidat.Opi_) CtrCandExportWindow(fr.univlorraine.ecandidat.views.windows.CtrCandExportWindow) OnDemandStreamFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFileUtils.OnDemandStreamFile) CandidatureController(fr.univlorraine.ecandidat.controllers.CandidatureController) Alignment(com.vaadin.ui.Alignment) UI(com.vaadin.ui.UI) PreferenceViewListener(fr.univlorraine.ecandidat.views.windows.CtrCandPreferenceViewWindow.PreferenceViewListener) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) Map(java.util.Map) Page(com.vaadin.server.Page) CompteMinima_(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima_) GridFormatting(fr.univlorraine.ecandidat.vaadin.components.GridFormatting) ItemCaptionMode(com.vaadin.ui.AbstractSelect.ItemCaptionMode) ValoTheme(com.vaadin.ui.themes.ValoTheme) OnDemandFileDownloader(fr.univlorraine.ecandidat.vaadin.components.OnDemandFileDownloader) PopupView(com.vaadin.ui.PopupView) Candidature_(fr.univlorraine.ecandidat.entities.ecandidat.Candidature_) ConstanteUtils(fr.univlorraine.ecandidat.utils.ConstanteUtils) Position(com.vaadin.shared.Position) FilteringMode(com.vaadin.shared.ui.combobox.FilteringMode) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) SecurityCtrCandFonc(fr.univlorraine.ecandidat.services.security.SecurityCtrCandFonc) TypeDecisionCandidature_(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature_) Resource(javax.annotation.Resource) StyleConstants(fr.univlorraine.ecandidat.StyleConstants) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) RowStyleGenerator(com.vaadin.ui.Grid.RowStyleGenerator) TypeTraitement_(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement_) BeanItemContainer(com.vaadin.data.util.BeanItemContainer) SingleSelectionModel(com.vaadin.ui.Grid.SingleSelectionModel) List(java.util.List) Type(com.vaadin.ui.Notification.Type) TagsToHtmlSquareConverter(fr.univlorraine.ecandidat.vaadin.components.GridConverter.TagsToHtmlSquareConverter) OnDemandFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFile) TypeDecisionController(fr.univlorraine.ecandidat.controllers.TypeDecisionController) LocalDate(java.time.LocalDate) TypeFilter(fr.univlorraine.ecandidat.utils.bean.presentation.ComboBoxFilterPresentation.TypeFilter) AdresseController(fr.univlorraine.ecandidat.controllers.AdresseController) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) SortOrder(com.vaadin.data.sort.SortOrder) UserController(fr.univlorraine.ecandidat.controllers.UserController) Authentication(org.springframework.security.core.Authentication) SelectionMode(com.vaadin.ui.Grid.SelectionMode) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) DroitProfilController(fr.univlorraine.ecandidat.controllers.DroitProfilController) TypeDecision_(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision_) StreamResource(com.vaadin.server.StreamResource) ContentMode(com.vaadin.shared.ui.label.ContentMode) BeanItem(com.vaadin.data.util.BeanItem) VerticalLayout(com.vaadin.ui.VerticalLayout) ComboBox(com.vaadin.ui.ComboBox) TableRefController(fr.univlorraine.ecandidat.controllers.TableRefController) HashMap(java.util.HashMap) AlertSva(fr.univlorraine.ecandidat.entities.ecandidat.AlertSva) BigDecimalMonetaireToStringConverter(fr.univlorraine.ecandidat.vaadin.components.GridConverter.BigDecimalMonetaireToStringConverter) Content(com.vaadin.ui.PopupView.Content) Tag_(fr.univlorraine.ecandidat.entities.ecandidat.Tag_) CtrCandDownloadPJWindow(fr.univlorraine.ecandidat.views.windows.CtrCandDownloadPJWindow) ArrayList(java.util.ArrayList) FontAwesome(com.vaadin.server.FontAwesome) CacheController(fr.univlorraine.ecandidat.controllers.CacheController) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) Formation_(fr.univlorraine.ecandidat.entities.ecandidat.Formation_) Label(com.vaadin.ui.Label) Candidat_(fr.univlorraine.ecandidat.entities.ecandidat.Candidat_) CtrCandPreferenceViewWindow(fr.univlorraine.ecandidat.views.windows.CtrCandPreferenceViewWindow) SiScolCatExoExt(fr.univlorraine.ecandidat.entities.ecandidat.SiScolCatExoExt) MotivationAvis_(fr.univlorraine.ecandidat.entities.ecandidat.MotivationAvis_) CandidatureMasseListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatureMasseListener) TypeStatut_(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatut_) RowReference(com.vaadin.ui.Grid.RowReference) TagController(fr.univlorraine.ecandidat.controllers.TagController) TagImageSource(fr.univlorraine.ecandidat.vaadin.components.TagImageSource) Tag(fr.univlorraine.ecandidat.entities.ecandidat.Tag) ComboBoxCommission(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxCommission) ApplicationContext(org.springframework.context.ApplicationContext) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite) Commission(fr.univlorraine.ecandidat.entities.ecandidat.Commission) ParametreController(fr.univlorraine.ecandidat.controllers.ParametreController) ChronoUnit(java.time.temporal.ChronoUnit) AlertSvaController(fr.univlorraine.ecandidat.controllers.AlertSvaController) HorizontalLayout(com.vaadin.ui.HorizontalLayout) CandidatureCtrCandController(fr.univlorraine.ecandidat.controllers.CandidatureCtrCandController) SecurityCommissionFonc(fr.univlorraine.ecandidat.services.security.SecurityCommissionFonc) CandidaturePieceController(fr.univlorraine.ecandidat.controllers.CandidaturePieceController) HtmlRenderer(com.vaadin.ui.renderers.HtmlRenderer) ComboBoxFilterPresentation(fr.univlorraine.ecandidat.utils.bean.presentation.ComboBoxFilterPresentation) Comparator(java.util.Comparator) ArrayUtils(org.apache.commons.lang.ArrayUtils) Component(com.vaadin.ui.Component) MultiSelectionModel(com.vaadin.ui.Grid.MultiSelectionModel) OnDemandStreamFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFileUtils.OnDemandStreamFile) SingleSelectionModel(com.vaadin.ui.Grid.SingleSelectionModel) MultiSelectionModel(com.vaadin.ui.Grid.MultiSelectionModel) Label(com.vaadin.ui.Label) ComboBoxCommission(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxCommission) Commission(fr.univlorraine.ecandidat.entities.ecandidat.Commission) ArrayList(java.util.ArrayList) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) OnDemandFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFile) SecurityCommissionFonc(fr.univlorraine.ecandidat.services.security.SecurityCommissionFonc) HorizontalLayout(com.vaadin.ui.HorizontalLayout) CtrCandDownloadPJWindow(fr.univlorraine.ecandidat.views.windows.CtrCandDownloadPJWindow) CtrCandExportWindow(fr.univlorraine.ecandidat.views.windows.CtrCandExportWindow) CtrCandPreferenceViewWindow(fr.univlorraine.ecandidat.views.windows.CtrCandPreferenceViewWindow) List(java.util.List) ArrayList(java.util.ArrayList) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) OnDemandFileDownloader(fr.univlorraine.ecandidat.vaadin.components.OnDemandFileDownloader) PopupView(com.vaadin.ui.PopupView) SortOrder(com.vaadin.data.sort.SortOrder) PreferenceViewListener(fr.univlorraine.ecandidat.views.windows.CtrCandPreferenceViewWindow.PreferenceViewListener) ComboBoxFilterPresentation(fr.univlorraine.ecandidat.utils.bean.presentation.ComboBoxFilterPresentation) Panel(com.vaadin.ui.Panel) BigDecimalMonetaireToStringConverter(fr.univlorraine.ecandidat.vaadin.components.GridConverter.BigDecimalMonetaireToStringConverter) Authentication(org.springframework.security.core.Authentication) TagsToHtmlSquareConverter(fr.univlorraine.ecandidat.vaadin.components.GridConverter.TagsToHtmlSquareConverter) HtmlRenderer(com.vaadin.ui.renderers.HtmlRenderer) SecurityCtrCandFonc(fr.univlorraine.ecandidat.services.security.SecurityCtrCandFonc) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)

Aggregations

DroitFonctionnalite (fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)5 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)3 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)3 Authentication (org.springframework.security.core.Authentication)3 Notification (com.vaadin.ui.Notification)2 Type (com.vaadin.ui.Notification.Type)2 UI (com.vaadin.ui.UI)2 TypeDecisionCandidature (fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature)2 SortOrder (com.vaadin.data.sort.SortOrder)1 BeanItem (com.vaadin.data.util.BeanItem)1 BeanItemContainer (com.vaadin.data.util.BeanItemContainer)1 FontAwesome (com.vaadin.server.FontAwesome)1 Page (com.vaadin.server.Page)1 StreamResource (com.vaadin.server.StreamResource)1 Position (com.vaadin.shared.Position)1 FilteringMode (com.vaadin.shared.ui.combobox.FilteringMode)1 ContentMode (com.vaadin.shared.ui.label.ContentMode)1 ItemCaptionMode (com.vaadin.ui.AbstractSelect.ItemCaptionMode)1 Alignment (com.vaadin.ui.Alignment)1 ComboBox (com.vaadin.ui.ComboBox)1