Search in sources :

Example 1 with TypeTraitement

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

the class NomenclatureController method majTypeTraitement.

/**
 * Met a jour un type de traitement
 * @param typeStatut
 */
private void majTypeTraitement(final TypeTraitement typeTraitement) {
    final TypeTraitement typeTraitementLoad = typeTraitementRepository.findByCodTypTrait(typeTraitement.getCodTypTrait());
    if (typeTraitementLoad == null) {
        final TypeTraduction typeTrad = typeTraductionRepository.findOne(NomenclatureUtils.TYP_TRAD_TYP_TRAIT_LIB);
        final I18n i18n = i18nRepository.saveAndFlush(new I18n(typeTrad));
        final I18nTraduction trad = new I18nTraduction(typeTraitement.getLibTypTrait(), i18n, cacheController.getLangueDefault());
        i18nTraductionRepository.saveAndFlush(trad);
        typeTraitement.setI18nLibTypTrait(i18n);
        typeTraitementRepository.saveAndFlush(typeTraitement);
    }
}
Also used : TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n)

Example 2 with TypeTraitement

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

the class ScolTypeTraitementView method init.

/**
 * Initialise la vue
 */
@PostConstruct
public void init() {
    /* Style */
    setSizeFull();
    setMargin(true);
    setSpacing(true);
    /* Titre */
    Label titleParam = new Label(applicationContext.getMessage("typeTraitement.title", null, UI.getCurrent().getLocale()));
    titleParam.addStyleName(StyleConstants.VIEW_TITLE);
    addComponent(titleParam);
    /* Boutons */
    HorizontalLayout buttonsLayout = new HorizontalLayout();
    buttonsLayout.setWidth(100, Unit.PERCENTAGE);
    buttonsLayout.setSpacing(true);
    addComponent(buttonsLayout);
    OneClickButton btnEdit = new OneClickButton(applicationContext.getMessage("btnEdit", null, UI.getCurrent().getLocale()), FontAwesome.PENCIL);
    btnEdit.setEnabled(false);
    btnEdit.addClickListener(e -> {
        if (typeTraitementTable.getValue() instanceof TypeTraitement) {
            nomenclatureTypeController.editTypeTraitement((TypeTraitement) typeTraitementTable.getValue());
        }
    });
    buttonsLayout.addComponent(btnEdit);
    buttonsLayout.setComponentAlignment(btnEdit, Alignment.MIDDLE_LEFT);
    /* Table des typeTraitements */
    typeTraitementTable.setContainerDataSource(new BeanItemContainer<TypeTraitement>(TypeTraitement.class, nomenclatureTypeController.getTypeTraitements()));
    typeTraitementTable.addGeneratedColumn(TypeTraitement_.i18nLibTypTrait.getName(), new ColumnGenerator() {

        /**
         * serialVersionUID
         */
        private static final long serialVersionUID = 2101119091378513475L;

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final TypeTraitement typeTraitement = (TypeTraitement) itemId;
            return i18nController.getI18nTraductionLibelle(typeTraitement.getI18nLibTypTrait());
        }
    });
    typeTraitementTable.setSizeFull();
    typeTraitementTable.setVisibleColumns((Object[]) FIELDS_ORDER);
    for (String fieldName : FIELDS_ORDER) {
        typeTraitementTable.setColumnHeader(fieldName, applicationContext.getMessage("typeTraitement.table." + fieldName, null, UI.getCurrent().getLocale()));
    }
    typeTraitementTable.setSortContainerPropertyId(TypeTraitement_.codTypTrait.getName());
    typeTraitementTable.setColumnCollapsingAllowed(true);
    typeTraitementTable.setColumnReorderingAllowed(true);
    typeTraitementTable.setSelectable(true);
    typeTraitementTable.setImmediate(true);
    typeTraitementTable.addItemSetChangeListener(e -> typeTraitementTable.sanitizeSelection());
    typeTraitementTable.addValueChangeListener(e -> {
        /* Les boutons d'édition et de suppression de typeTraitement sont actifs seulement si une typeTraitement est sélectionnée. */
        boolean typeTraitementIsSelected = typeTraitementTable.getValue() instanceof TypeTraitement;
        btnEdit.setEnabled(typeTraitementIsSelected);
    });
    typeTraitementTable.addItemClickListener(e -> {
        if (e.isDoubleClick()) {
            typeTraitementTable.select(e.getItemId());
            btnEdit.click();
        }
    });
    addComponent(typeTraitementTable);
    setExpandRatio(typeTraitementTable, 1);
    /* Inscrit la vue aux mises à jour de typeTraitement */
    typeTraitementEntityPusher.registerEntityPushListener(this);
}
Also used : TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) Table(com.vaadin.ui.Table) ColumnGenerator(com.vaadin.ui.Table.ColumnGenerator) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) Label(com.vaadin.ui.Label) HorizontalLayout(com.vaadin.ui.HorizontalLayout) PostConstruct(javax.annotation.PostConstruct)

Example 3 with TypeTraitement

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

the class CandidatureController method candidatToFormation.

/**
 * Candidate à une formation
 * @param idForm
 * @param listener
 */
public void candidatToFormation(final Integer idForm, final OdfListener listener, final Boolean isTest) {
    /* On recupere l'authentification */
    final Authentication auth = userController.getCurrentAuthentication();
    if (userController.isAnonymous(auth)) {
        return;
    }
    if (!userController.isCandidat(auth) && userController.getNoDossierCandidat(auth) == null) {
        Notification.show(applicationContext.getMessage("odf.choose.candidat", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    /* Vérification du compte à minima */
    final CompteMinima cptMin = candidatController.getCompteMinima();
    if (cptMin == null) {
        Notification.show(applicationContext.getMessage("cptmin.load.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    final Candidat candidat = cptMin.getCandidat();
    /* Vérification du candidat-->info perso */
    if (candidat == null) {
        Notification.show(applicationContext.getMessage("candidat.load.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    /* Vérification du candidat-->adresse */
    if (candidat.getAdresse() == null) {
        Notification.show(applicationContext.getMessage("candidat.load.adresse.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    /* Vérification du candidat-->bac */
    final CandidatBacOuEqu bacOuEqu = candidat.getCandidatBacOuEqu();
    if (bacOuEqu == null) {
        Notification.show(applicationContext.getMessage("candidat.load.bac.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    /* Vérification année du bac et INE obligatoire */
    final SiScolBacOuxEqu siScolBacOuxEqu = bacOuEqu.getSiScolBacOuxEqu();
    if (bacOuEqu.getAnneeObtBac() != null && siScolBacOuxEqu.getTemCtrlIneBac() && siScolBacOuxEqu.getAnnCtrlIneBac() != null && bacOuEqu.getAnneeObtBac().compareTo(Integer.valueOf(siScolBacOuxEqu.getAnnCtrlIneBac())) >= 0 && candidatController.getINEObligatoire(candidat.getSiScolPaysNat()) && (candidat.getIneCandidat() == null || candidat.getCleIneCandidat() == null || candidat.getIneCandidat().equals("") || candidat.getCleIneCandidat().equals(""))) {
        Notification.show(applicationContext.getMessage("candidat.load.bac.ine.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        return;
    }
    final Formation formation = formationRepository.findOne(idForm);
    if (formation == null || !formation.getTesForm()) {
        Notification.show(applicationContext.getMessage("candidature.formation.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        if (listener != null) {
            listener.updateOdf();
        }
        return;
    }
    if (!isTest) {
        if (candidat.getCandidatures().stream().filter(candidature -> candidature.getDatAnnulCand() == null && candidature.getFormation().getIdForm().equals(idForm)).findAny().isPresent()) {
            Notification.show(applicationContext.getMessage("candidature.formation.allready", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
            return;
        }
    }
    /* On défini les variables */
    final String user = userController.getCurrentNoDossierCptMinOrLogin(auth);
    TypeTraitement typTraitForm = formation.getTypeTraitement();
    if (typTraitForm.equals(tableRefController.getTypeTraitementAccesDirect())) {
        typTraitForm = tableRefController.getTypeTraitementEnAttente();
    }
    if (userController.isGestionnaireCandidat(auth)) {
        candidatToFormationGestionnaire(candidat, formation, user, typTraitForm);
    } else {
        /* Verif que les dates sont bien dans l'interval */
        if (!MethodUtils.isDateIncludeInInterval(LocalDate.now(), formation.getDatDebDepotForm(), formation.getDatFinDepotForm())) {
            Notification.show(applicationContext.getMessage("candidature.date.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
            return;
        }
        /* Verif que le nb de candidatures du candidat sur ce centre ne depassent pas le
			 * nb parametre */
        final CentreCandidature ctrCand = formation.getCommission().getCentreCandidature();
        Integer nbMax;
        Long nbCand;
        String message;
        if (parametreController.getNbVoeuxMaxIsEtab()) {
            nbMax = parametreController.getNbVoeuxMax();
            nbCand = candidatureRepository.getNbCandByEtab(candidat.getIdCandidat());
            message = applicationContext.getMessage("candidature.etab.error", null, UI.getCurrent().getLocale());
        } else {
            nbMax = ctrCand.getNbMaxVoeuxCtrCand();
            nbCand = candidatureRepository.getNbCandByCtrCand(ctrCand.getIdCtrCand(), candidat.getIdCandidat());
            message = applicationContext.getMessage("candidature.ctrCand.error", null, UI.getCurrent().getLocale());
        }
        if (nbCand >= nbMax) {
            Notification.show(message, Type.WARNING_MESSAGE);
            return;
        }
        candidatToFormationCandidat(candidat, formation, user, typTraitForm, isTest);
    }
}
Also used : CompteMinima(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima) ExportDossierCandidat(fr.univlorraine.ecandidat.utils.bean.export.ExportDossierCandidat) Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) ExportLettreCandidat(fr.univlorraine.ecandidat.utils.bean.export.ExportLettreCandidat) TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) Authentication(org.springframework.security.core.Authentication) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) CandidatBacOuEqu(fr.univlorraine.ecandidat.entities.ecandidat.CandidatBacOuEqu) SiScolBacOuxEqu(fr.univlorraine.ecandidat.entities.ecandidat.SiScolBacOuxEqu) Formation(fr.univlorraine.ecandidat.entities.ecandidat.Formation)

Example 4 with TypeTraitement

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

the class CandidatureCtrCandController method validTypTrait.

/**
 * Valide les types de traitement de candidatures
 * @param listeCandidature
 */
public Boolean validTypTrait(final List<Candidature> listeCandidature) {
    if (checkLockListCandidature(listeCandidature)) {
        return false;
    }
    final String user = userController.getCurrentUserLogin();
    for (final Candidature candidature : listeCandidature) {
        Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
        /* Verrou */
        if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
            continue;
        }
        if (!candidature.getTemValidTypTraitCand()) {
            candidature.setTemValidTypTraitCand(true);
            candidature.setUserModCand(user);
            candidature.setDatModCand(LocalDateTime.now());
            final TypeTraitement typeTraitement = candidature.getTypeTraitement();
            String typeMail = "";
            if (typeTraitement.equals(tableRefController.getTypeTraitementAccesDirect())) {
                typeMail = NomenclatureUtils.MAIL_TYPE_TRAIT_AD;
                final TypeDecisionCandidature tdc = saveTypeDecisionCandidature(candidature, candidature.getFormation().getTypeDecisionFav(), true, user, ConstanteUtils.TYP_DEC_CAND_ACTION_AD);
                candidature.getTypeDecisionCandidatures().add(tdc);
                candidature.setLastTypeDecision(tdc);
            } else if (typeTraitement.equals(tableRefController.getTypeTraitementAccesControle())) {
                typeMail = NomenclatureUtils.MAIL_TYPE_TRAIT_AC;
            } else {
                typeMail = NomenclatureUtils.MAIL_TYPE_TRAIT_ATT;
            }
            candidatureRepository.save(candidature);
            mailController.sendMailByCod(candidature.getCandidat().getCompteMinima().getMailPersoCptMin(), typeMail, null, candidature, candidature.getCandidat().getLangue().getCodLangue());
        }
    }
    Notification.show(applicationContext.getMessage("candidature.validTypTrait.success", null, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
    return true;
}
Also used : TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature)

Example 5 with TypeTraitement

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

the class NomenclatureController method nomenclatureTypes.

/**
 * Met à jours tous les types (Type d'avis, Type de traitement, Type de statut de dossier, Type de statut de piece)
 */
private void nomenclatureTypes(final Locale locale) {
    /* TypeAvis */
    typeAvisRepository.saveAndFlush(new TypeAvis(NomenclatureUtils.TYP_AVIS_FAV, applicationContext.getMessage("nomenclature.typavis.fa", null, locale)));
    typeAvisRepository.saveAndFlush(new TypeAvis(NomenclatureUtils.TYP_AVIS_DEF, applicationContext.getMessage("nomenclature.typavis.de", null, locale)));
    typeAvisRepository.saveAndFlush(new TypeAvis(NomenclatureUtils.TYP_AVIS_LISTE_COMP, applicationContext.getMessage("nomenclature.typavis.lc", null, locale)));
    typeAvisRepository.saveAndFlush(new TypeAvis(NomenclatureUtils.TYP_AVIS_LISTE_ATTENTE, applicationContext.getMessage("nomenclature.typavis.la", null, locale)));
    typeAvisRepository.saveAndFlush(new TypeAvis(NomenclatureUtils.TYP_AVIS_PRESELECTION, applicationContext.getMessage("nomenclature.typavis.pr", null, locale)));
    /* Type de traitement */
    majTypeTraitement(new TypeTraitement(NomenclatureUtils.TYP_TRAIT_AC, applicationContext.getMessage("nomenclature.typtrait.ac", null, locale), true));
    majTypeTraitement(new TypeTraitement(NomenclatureUtils.TYP_TRAIT_AD, applicationContext.getMessage("nomenclature.typtrait.ad", null, locale), true));
    majTypeTraitement(new TypeTraitement(NomenclatureUtils.TYP_TRAIT_AT, applicationContext.getMessage("nomenclature.typtrait.at", null, locale), false));
    /* Type de statut de dossier */
    majTypeStatut(new TypeStatut(NomenclatureUtils.TYPE_STATUT_ATT, applicationContext.getMessage("nomenclature.typeStatut.attente", null, locale)));
    majTypeStatut(new TypeStatut(NomenclatureUtils.TYPE_STATUT_REC, applicationContext.getMessage("nomenclature.typeStatut.recept", null, locale)));
    majTypeStatut(new TypeStatut(NomenclatureUtils.TYPE_STATUT_INC, applicationContext.getMessage("nomenclature.typeStatut.incomplet", null, locale)));
    majTypeStatut(new TypeStatut(NomenclatureUtils.TYPE_STATUT_COM, applicationContext.getMessage("nomenclature.typeStatut.complet", null, locale)));
    /* Type de statut de piece */
    majTypeStatutPiece(new TypeStatutPiece(NomenclatureUtils.TYP_STATUT_PIECE_REFUSE, applicationContext.getMessage("nomenclature.typstatutpiece.ref", null, locale)));
    majTypeStatutPiece(new TypeStatutPiece(NomenclatureUtils.TYP_STATUT_PIECE_TRANSMIS, applicationContext.getMessage("nomenclature.typstatutpiece.tra", null, locale)));
    majTypeStatutPiece(new TypeStatutPiece(NomenclatureUtils.TYP_STATUT_PIECE_VALIDE, applicationContext.getMessage("nomenclature.typstatutpiece.val", null, locale)));
    majTypeStatutPiece(new TypeStatutPiece(NomenclatureUtils.TYP_STATUT_PIECE_ATTENTE, applicationContext.getMessage("nomenclature.typstatutpiece.ate", null, locale)));
    majTypeStatutPiece(new TypeStatutPiece(NomenclatureUtils.TYP_STATUT_PIECE_NON_CONCERNE, applicationContext.getMessage("nomenclature.typstatutpiece.nonconc", null, locale)));
}
Also used : TypeStatut(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatut) TypeTraitement(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement) TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) TypeAvis(fr.univlorraine.ecandidat.entities.ecandidat.TypeAvis)

Aggregations

TypeTraitement (fr.univlorraine.ecandidat.entities.ecandidat.TypeTraitement)5 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)2 HorizontalLayout (com.vaadin.ui.HorizontalLayout)1 Label (com.vaadin.ui.Label)1 Table (com.vaadin.ui.Table)1 ColumnGenerator (com.vaadin.ui.Table.ColumnGenerator)1 Candidat (fr.univlorraine.ecandidat.entities.ecandidat.Candidat)1 CandidatBacOuEqu (fr.univlorraine.ecandidat.entities.ecandidat.CandidatBacOuEqu)1 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)1 CompteMinima (fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima)1 Formation (fr.univlorraine.ecandidat.entities.ecandidat.Formation)1 I18n (fr.univlorraine.ecandidat.entities.ecandidat.I18n)1 I18nTraduction (fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction)1 SiScolBacOuxEqu (fr.univlorraine.ecandidat.entities.ecandidat.SiScolBacOuxEqu)1 TypeAvis (fr.univlorraine.ecandidat.entities.ecandidat.TypeAvis)1 TypeDecisionCandidature (fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature)1 TypeStatut (fr.univlorraine.ecandidat.entities.ecandidat.TypeStatut)1 TypeStatutPiece (fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece)1 TypeTraduction (fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction)1 SecurityCentreCandidature (fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature)1