Search in sources :

Example 1 with TypeDecision

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

the class NomenclatureController method majTypeDec.

/**
 * Met a jour un type de decision
 * @param typeDec
 */
private void majTypeDec(final TypeDecision typeDec) {
    final TypeDecision typeDecLoad = typeDecisionRepository.findByCodTypDec(typeDec.getCodTypDec());
    if (typeDecLoad == null) {
        final TypeTraduction typeTrad = typeTraductionRepository.findOne(NomenclatureUtils.TYP_TRAD_TYP_DEC_LIB);
        final I18n i18n = i18nRepository.saveAndFlush(new I18n(typeTrad));
        final I18nTraduction trad = new I18nTraduction(typeDec.getLibTypDec(), i18n, cacheController.getLangueDefault());
        i18nTraductionRepository.saveAndFlush(trad);
        typeDec.setI18nLibTypDec(i18n);
        typeDecisionRepository.saveAndFlush(typeDec);
    }
}
Also used : TypeDecision(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n)

Example 2 with TypeDecision

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

the class TypeDecisionController method editNewTypeDecision.

/**
 * Ouvre une fenêtre d'édition d'un nouveau typeDecision.
 */
public void editNewTypeDecision(final CentreCandidature ctrCand) {
    TypeDecision typ = new TypeDecision(userController.getCurrentUserLogin());
    typ.setTesTypDec(true);
    typ.setCentreCandidature(ctrCand);
    typ.setI18nLibTypDec(new I18n(i18nController.getTypeTraduction(NomenclatureUtils.TYP_TRAD_TYP_DEC_LIB)));
    UI.getCurrent().addWindow(new TypeDecisionWindow(typ, ctrCand));
}
Also used : TypeDecision(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision) TypeDecisionWindow(fr.univlorraine.ecandidat.views.windows.TypeDecisionWindow) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n)

Example 3 with TypeDecision

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

the class TypeDecisionViewTemplate method init.

/**
 * Initialise la vue
 */
@PostConstruct
public void init() {
    /* Style */
    setSizeFull();
    setMargin(true);
    setSpacing(true);
    /* Titre */
    titleParam.addStyleName(StyleConstants.VIEW_TITLE);
    addComponent(titleParam);
    /* Boutons */
    buttonsLayout.setWidth(100, Unit.PERCENTAGE);
    buttonsLayout.setSpacing(true);
    addComponent(buttonsLayout);
    btnNew.setCaption(applicationContext.getMessage("typeDec.btnNouveau", null, UI.getCurrent().getLocale()));
    btnNew.setEnabled(true);
    buttonsLayout.addComponent(btnNew);
    buttonsLayout.setComponentAlignment(btnNew, Alignment.MIDDLE_LEFT);
    btnEdit.setCaption(applicationContext.getMessage("btnEdit", null, UI.getCurrent().getLocale()));
    btnEdit.setEnabled(false);
    buttonsLayout.addComponent(btnEdit);
    buttonsLayout.setComponentAlignment(btnEdit, Alignment.MIDDLE_CENTER);
    OneClickButton btnDelete = new OneClickButton(applicationContext.getMessage("btnDelete", null, UI.getCurrent().getLocale()), FontAwesome.TRASH_O);
    btnDelete.setEnabled(false);
    btnDelete.addClickListener(e -> {
        if (typeDecisionTable.getValue() instanceof TypeDecision) {
            typeDecisionController.deleteTypeDecision((TypeDecision) typeDecisionTable.getValue());
        }
    });
    buttonsLayout.addComponent(btnDelete);
    buttonsLayout.setComponentAlignment(btnDelete, Alignment.MIDDLE_RIGHT);
    /* Table des typeDecisions */
    container.addNestedContainerProperty(TypeDecision_.typeAvis.getName() + "." + TypeAvis_.libelleTypAvis.getName());
    container.addNestedContainerProperty(TypeDecision_.mail.getName() + "." + Mail_.libMail.getName());
    typeDecisionTable.setContainerDataSource(container);
    typeDecisionTable.addBooleanColumn(TypeDecision_.tesTypDec.getName());
    typeDecisionTable.addBooleanColumn(TypeDecision_.temDeverseOpiTypDec.getName());
    typeDecisionTable.addBooleanColumn(TypeDecision_.temDefinitifTypDec.getName());
    typeDecisionTable.setSizeFull();
    typeDecisionTable.setVisibleColumns((Object[]) FIELDS_ORDER);
    for (String fieldName : FIELDS_ORDER) {
        typeDecisionTable.setColumnHeader(fieldName, applicationContext.getMessage("typeDec.table." + fieldName, null, UI.getCurrent().getLocale()));
    }
    typeDecisionTable.setSortContainerPropertyId(TypeDecision_.codTypDec.getName());
    typeDecisionTable.setColumnCollapsingAllowed(true);
    typeDecisionTable.setColumnReorderingAllowed(true);
    typeDecisionTable.setSelectable(true);
    typeDecisionTable.setImmediate(true);
    typeDecisionTable.addItemSetChangeListener(e -> typeDecisionTable.sanitizeSelection());
    typeDecisionTable.addValueChangeListener(e -> {
        /* Les boutons d'édition et de suppression de typeDecision sont actifs seulement si une typeDecision est sélectionnée. */
        boolean typeDecisionIsSelectedEdit = typeDecisionTable.getValue() instanceof TypeDecision;
        boolean typeDecisionIsSelectedDel = typeDecisionTable.getValue() instanceof TypeDecision && !((TypeDecision) typeDecisionTable.getValue()).getTemModelTypDec();
        btnEdit.setEnabled(typeDecisionIsSelectedEdit);
        btnDelete.setEnabled(typeDecisionIsSelectedDel);
    });
    addComponent(typeDecisionTable);
    setExpandRatio(typeDecisionTable, 1);
}
Also used : TypeDecision(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) PostConstruct(javax.annotation.PostConstruct)

Example 4 with TypeDecision

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

the class CtrCandActionCandidatureWindow method majAvisComponent.

/**
 * Mise à jour des composants pour les avis
 */
private void majAvisComponent() {
    final ComboBoxTypeDecision cbTypeDecision = (ComboBoxTypeDecision) fieldGroupDecision.getField(TypeDecisionCandidature_.typeDecision.getName());
    final ComboBoxMotivationAvis cbMotivation = (ComboBoxMotivationAvis) fieldGroupDecision.getField(TypeDecisionCandidature_.motivationAvis.getName());
    final RequiredIntegerField fieldRang = (RequiredIntegerField) fieldGroupDecision.getField(TypeDecisionCandidature_.listCompRangTypDecCand.getName());
    final RequiredTextField fieldLieuPreselect = (RequiredTextField) fieldGroupDecision.getField(TypeDecisionCandidature_.preselectLieuTypeDecCand.getName());
    final RequiredDateField fieldDatePreselect = (RequiredDateField) fieldGroupDecision.getField(TypeDecisionCandidature_.preselectDateTypeDecCand.getName());
    final RequiredCheckBox fieldAppel = (RequiredCheckBox) fieldGroupDecision.getField(TypeDecisionCandidature_.temAppelTypeDecCand.getName());
    final LocalTimeField fieldHeurePreselect = (LocalTimeField) fieldGroupDecision.getField(TypeDecisionCandidature_.preselectHeureTypeDecCand.getName());
    final RequiredTextArea fieldComment = (RequiredTextArea) fieldGroupDecision.getField(TypeDecisionCandidature_.commentTypeDecCand.getName());
    if (cbTypeDecision.getValue() != null) {
        if (candidature != null && candidature.getLastTypeDecision() != null && candidature.getLastTypeDecision().getTemValidTypeDecCand() && candidature.getLastTypeDecision().getTypeDecision().getTemDefinitifTypDec() && parametreController.getIsAppel()) {
            fieldAppel.setVisible(true);
        } else {
            fieldAppel.setVisible(false);
            fieldAppel.setValue(false);
        }
        fieldComment.setVisible(true);
        final TypeDecision typeDecision = (TypeDecision) cbTypeDecision.getValue();
        if (typeDecision.getTypeAvis().getCodTypAvis().equals(NomenclatureUtils.TYP_AVIS_DEF)) {
            cbMotivation.setBoxNeeded(true, null);
        } else {
            cbMotivation.setBoxNeeded(false, null);
        }
        if (typeDecision.getTypeAvis().getCodTypAvis().equals(NomenclatureUtils.TYP_AVIS_LISTE_COMP)) {
            fieldRang.setVisible(true);
            fieldRang.setRequired(true);
            fieldRang.setRequiredError(applicationContext.getMessage("validation.obigatoire", null, UI.getCurrent().getLocale()));
        } else {
            fieldRang.setVisible(false);
            fieldRang.setRequired(false);
            fieldRang.setRequiredError(null);
            fieldRang.setValue(null);
        }
        if (typeDecision.getTypeAvis().getCodTypAvis().equals(NomenclatureUtils.TYP_AVIS_PRESELECTION)) {
            fieldLieuPreselect.setVisible(true);
            fieldDatePreselect.setVisible(true);
            fieldHeurePreselect.setVisible(true);
            if (candidature != null) {
                fieldLieuPreselect.setValue(candidature.getFormation().getPreselectLieuForm());
                fieldDatePreselect.setValue((candidature.getFormation().getPreselectDateForm() != null) ? Date.valueOf(candidature.getFormation().getPreselectDateForm()) : null);
                fieldHeurePreselect.setValue(candidature.getFormation().getPreselectHeureForm());
            } else {
                fieldLieuPreselect.setValue(null);
                fieldDatePreselect.setValue(null);
                fieldHeurePreselect.setValue(null);
            }
        } else {
            fieldLieuPreselect.setVisible(false);
            fieldDatePreselect.setVisible(false);
            fieldHeurePreselect.setVisible(false);
        }
    } else {
        cbMotivation.setBoxNeeded(false, null);
        fieldRang.setVisible(false);
        fieldRang.setRequired(false);
        fieldRang.setRequiredError(null);
        fieldRang.setValue(null);
        fieldLieuPreselect.setVisible(false);
        fieldDatePreselect.setVisible(false);
        fieldHeurePreselect.setVisible(false);
        fieldLieuPreselect.setValue(null);
        fieldDatePreselect.setValue(null);
        fieldHeurePreselect.setValue(null);
        fieldAppel.setVisible(false);
        fieldAppel.setValue(false);
        fieldComment.setValue(null);
        fieldComment.setVisible(false);
    }
    center();
}
Also used : ComboBoxTypeDecision(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxTypeDecision) TypeDecision(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision) RequiredCheckBox(fr.univlorraine.ecandidat.vaadin.form.RequiredCheckBox) ComboBoxMotivationAvis(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxMotivationAvis) RequiredTextArea(fr.univlorraine.ecandidat.vaadin.form.RequiredTextArea) RequiredDateField(fr.univlorraine.ecandidat.vaadin.form.RequiredDateField) LocalTimeField(fr.univlorraine.ecandidat.vaadin.form.LocalTimeField) RequiredTextField(fr.univlorraine.ecandidat.vaadin.form.RequiredTextField) RequiredIntegerField(fr.univlorraine.ecandidat.vaadin.form.RequiredIntegerField) ComboBoxTypeDecision(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxTypeDecision)

Example 5 with TypeDecision

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

the class CandidatureCtrCandController method validAvis.

/**
 * Valide les avis de candidatures
 * @param  listeCandidature
 * @return                  true si tout s'est bien passé
 */
public Boolean validAvis(final List<Candidature> listeCandidature) {
    if (checkLockListCandidature(listeCandidature)) {
        return false;
    }
    for (final Candidature candidature : listeCandidature) {
        if (candidature.getLastTypeDecision() == null) {
            Notification.show(applicationContext.getMessage("candidature.validAvis.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
            return false;
        }
    }
    /* Bug sur la validation d'avis --> des candidatures ont recu le mail mais la candidature n'a pas été validée */
    /* On vérifie qu'il n'y a pas de candidature en double */
    final Long sizelistId = listeCandidature.stream().map(Candidature::getIdCand).distinct().count();
    if (listeCandidature.size() != sizelistId.intValue()) {
        logger.warn(applicationContext.getMessage("candidature.validAvis.doublon", null, UI.getCurrent().getLocale()) + " : erreur size list");
        Notification.show(applicationContext.getMessage("candidature.validAvis.doublon", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return false;
    }
    final String user = userController.getCurrentUserLogin();
    /* Bug sur la validation d'avis --> des candidatures ont recu le mail mais la candidature n'a pas été validée */
    final Map<Integer, Integer> mapIdCandTraite = new HashMap<>();
    int errorDoublon = 0;
    /* Si l'avis donné est un avis LC, il faut recalculer le rang reel pour chaque formation */
    final List<Formation> listeFormLC = new ArrayList<>();
    for (final Candidature candidature : listeCandidature) {
        Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
        /* Verrou */
        if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
            continue;
        }
        TypeDecisionCandidature typeDecision = candidature.getLastTypeDecision().cloneCompletTypeDecisionCandidature();
        if (typeDecision.getTypeDecision() != null && typeDecision.getTypeDecision().getTypeAvis().equals(tableRefController.getTypeAvisListComp())) {
            final Formation formLc = candidature.getFormation();
            if (formLc.getTemListCompForm() && !listeFormLC.contains(formLc)) {
                listeFormLC.add(candidature.getFormation());
            }
        }
        typeDecision.setTemValidTypeDecCand(true);
        typeDecision.setDatValidTypeDecCand(LocalDateTime.now());
        typeDecision.setUserValidTypeDecCand(user);
        typeDecision.setCandidature(candidature);
        /* On vérifie que la candidature de l'avis n'a pas déjà été enregistré avant enregistrement */
        if (mapIdCandTraite.get(typeDecision.getCandidature().getIdCand()) != null) {
            errorDoublon++;
            continue;
        } else {
            mapIdCandTraite.put(typeDecision.getCandidature().getIdCand(), typeDecision.getCandidature().getIdCand());
        }
        typeDecision = typeDecisionCandidatureRepository.save(typeDecision);
        final String localeCandidat = candidature.getCandidat().getLangue().getCodLangue();
        candidature.setUserModCand(user);
        candidature.setDatModCand(LocalDateTime.now());
        candidature.setTypeDecision(typeDecision);
        candidature.setLastTypeDecision(typeDecision);
        candidatureRepository.save(candidature);
        String motif = "";
        if (typeDecision.getTypeDecision().getTypeAvis().equals(tableRefController.getTypeAvisDefavorable()) && typeDecision.getMotivationAvis() != null) {
            motif = i18nController.getI18nTraduction(typeDecision.getMotivationAvis().getI18nLibMotiv(), localeCandidat);
        }
        String complementAppel = "";
        if (typeDecision.getTemAppelTypeDecCand()) {
            complementAppel = applicationContext.getMessage("candidature.mail.complement.appel", null, UI.getCurrent().getLocale());
        }
        String rang = "";
        if (typeDecision.getListCompRangTypDecCand() != null) {
            rang = String.valueOf(typeDecision.getListCompRangTypDecCand());
        }
        String commentaire = "";
        if (typeDecision.getTypeDecision().getTemAffCommentTypDec()) {
            commentaire = typeDecision.getCommentTypeDecCand();
        }
        final AvisMailBean mailBean = new AvisMailBean(motif, commentaire, getComplementPreselectMail(typeDecision), complementAppel, rang);
        PdfAttachement attachement = null;
        final InputStream is = candidatureController.downloadLettre(candidature, ConstanteUtils.TYP_LETTRE_MAIL, localeCandidat, true);
        if (is != null) {
            try {
                attachement = new PdfAttachement(is, candidatureController.getNomFichierLettre(candidature, ConstanteUtils.TYP_LETTRE_MAIL, localeCandidat));
            } catch (final Exception e) {
                attachement = null;
            }
        }
        mailController.sendMail(candidature.getCandidat().getCompteMinima().getMailPersoCptMin(), typeDecision.getTypeDecision().getMail(), mailBean, candidature, localeCandidat, attachement);
    }
    /* Recalcul des rang LC si besoin */
    if (parametreController.isCalculRangReelLc()) {
        final List<TypeDecisionCandidature> listeTypDecRangReel = candidatureGestionController.calculRangReelListForm(listeFormLC);
        /* Pour chaque candidature recalculée, on ajouter le rang reel */
        listeTypDecRangReel.forEach(td -> {
            /* On cherche la candidature associée */
            final Optional<Candidature> optCand = listeCandidature.stream().filter(cand -> cand.equals(td.getCandidature())).findFirst();
            if (optCand.isPresent()) {
                optCand.get().setTypeDecision(td);
                optCand.get().setLastTypeDecision(td);
            }
        });
    }
    /* Bug sur la validation d'avis --> des candidatures ont recu le mail mais la candidature n'a pas été validée */
    if (errorDoublon > 0) {
        logger.warn(applicationContext.getMessage("candidature.validAvis.doublon", null, UI.getCurrent().getLocale()) + " : erreur map", Type.WARNING_MESSAGE);
        Notification.show(applicationContext.getMessage("candidature.validAvis.doublon", null, UI.getCurrent().getLocale()));
    } else {
        Notification.show(applicationContext.getMessage("candidature.validAvis.success", null, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
    }
    return true;
}
Also used : Arrays(java.util.Arrays) TypeStatut(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatut) LoggerFactory(org.slf4j.LoggerFactory) UI(com.vaadin.ui.UI) ExportListCandidatureOption(fr.univlorraine.ecandidat.utils.bean.export.ExportListCandidatureOption) PdfAttachement(fr.univlorraine.ecandidat.utils.PdfAttachement) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) CompteMinima(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima) Map(java.util.Map) PostItRepository(fr.univlorraine.ecandidat.repositories.PostItRepository) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne) CtrCandActionCandidatureWindow(fr.univlorraine.ecandidat.views.windows.CtrCandActionCandidatureWindow) ConstanteUtils(fr.univlorraine.ecandidat.utils.ConstanteUtils) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) Resource(javax.annotation.Resource) CandidatCursusPostBac(fr.univlorraine.ecandidat.entities.ecandidat.CandidatCursusPostBac) Set(java.util.Set) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) Collectors(java.util.stream.Collectors) List(java.util.List) Type(com.vaadin.ui.Notification.Type) OnDemandFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFile) LocalDate(java.time.LocalDate) Optional(java.util.Optional) ExportListCandidatureAdresse(fr.univlorraine.ecandidat.utils.bean.export.ExportListCandidatureAdresse) DeleteAvisWindowListener(fr.univlorraine.ecandidat.views.windows.CtrCandShowHistoWindow.DeleteAvisWindowListener) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FormulaireCandidat(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidat) PjCand(fr.univlorraine.ecandidat.entities.ecandidat.PjCand) OpiRepository(fr.univlorraine.ecandidat.repositories.OpiRepository) TypeDecision(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision) AvisMailBean(fr.univlorraine.ecandidat.utils.bean.mail.AvisMailBean) MainUI(fr.univlorraine.ecandidat.MainUI) LocalDateTime(java.time.LocalDateTime) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) PostIt(fr.univlorraine.ecandidat.entities.ecandidat.PostIt) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) FormulaireCand(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCand) CtrCandShowHistoWindow(fr.univlorraine.ecandidat.views.windows.CtrCandShowHistoWindow) Adresse(fr.univlorraine.ecandidat.entities.ecandidat.Adresse) LinkedHashSet(java.util.LinkedHashSet) TypeDecisionCandidatureRepository(fr.univlorraine.ecandidat.repositories.TypeDecisionCandidatureRepository) CandidatureMasseListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatureMasseListener) Logger(org.slf4j.Logger) TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) Opi(fr.univlorraine.ecandidat.entities.ecandidat.Opi) Tag(fr.univlorraine.ecandidat.entities.ecandidat.Tag) ChangeCandidatureWindowListener(fr.univlorraine.ecandidat.views.windows.CtrCandActionCandidatureWindow.ChangeCandidatureWindowListener) ApplicationContext(org.springframework.context.ApplicationContext) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite) Commission(fr.univlorraine.ecandidat.entities.ecandidat.Commission) CandidatCursusInterne(fr.univlorraine.ecandidat.entities.ecandidat.CandidatCursusInterne) Component(org.springframework.stereotype.Component) CandidatureListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatureListener) DateTimeFormatter(java.time.format.DateTimeFormatter) CandidatureRepository(fr.univlorraine.ecandidat.repositories.CandidatureRepository) CtrCandPostItReadWindow(fr.univlorraine.ecandidat.views.windows.CtrCandPostItReadWindow) Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) Formation(fr.univlorraine.ecandidat.entities.ecandidat.Formation) InputStream(java.io.InputStream) Assert(org.springframework.util.Assert) HashMap(java.util.HashMap) InputStream(java.io.InputStream) 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) AvisMailBean(fr.univlorraine.ecandidat.utils.bean.mail.AvisMailBean) PdfAttachement(fr.univlorraine.ecandidat.utils.PdfAttachement) Formation(fr.univlorraine.ecandidat.entities.ecandidat.Formation) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature)

Aggregations

TypeDecision (fr.univlorraine.ecandidat.entities.ecandidat.TypeDecision)7 I18n (fr.univlorraine.ecandidat.entities.ecandidat.I18n)3 Campagne (fr.univlorraine.ecandidat.entities.ecandidat.Campagne)2 Commission (fr.univlorraine.ecandidat.entities.ecandidat.Commission)2 Formation (fr.univlorraine.ecandidat.entities.ecandidat.Formation)2 I18nTraduction (fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction)2 Mail (fr.univlorraine.ecandidat.entities.ecandidat.Mail)2 TypeTraduction (fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction)2 Notification (com.vaadin.ui.Notification)1 Type (com.vaadin.ui.Notification.Type)1 UI (com.vaadin.ui.UI)1 MainUI (fr.univlorraine.ecandidat.MainUI)1 Adresse (fr.univlorraine.ecandidat.entities.ecandidat.Adresse)1 Batch (fr.univlorraine.ecandidat.entities.ecandidat.Batch)1 BatchHisto (fr.univlorraine.ecandidat.entities.ecandidat.BatchHisto)1 Candidat (fr.univlorraine.ecandidat.entities.ecandidat.Candidat)1 CandidatCursusInterne (fr.univlorraine.ecandidat.entities.ecandidat.CandidatCursusInterne)1 CandidatCursusPostBac (fr.univlorraine.ecandidat.entities.ecandidat.CandidatCursusPostBac)1 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)1 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)1