Search in sources :

Example 1 with ConfirmWindow

use of fr.univlorraine.ecandidat.views.windows.ConfirmWindow in project esup-ecandidat by EsupPortail.

the class AdminView method confirmRemoveLock.

/**
 * Supprime un verrou
 * @param lockItem le verrou a supprimer
 */
public void confirmRemoveLock(SessionPresentation lockItem) {
    Item item = uisContainer.getItem(lockItem);
    String textLock = lockItem.getId();
    if (item != null && lockItem.getInfo() != null) {
        textLock = lockItem.getInfo();
    }
    ConfirmWindow confirmWindow = new ConfirmWindow(applicationContext.getMessage("admin.uiList.confirmRemoveLock", new Object[] { textLock }, UI.getCurrent().getLocale()));
    confirmWindow.addBtnOuiListener(e -> {
        Object lock = lockController.getLockBySessionItem(lockItem);
        if (lock != null) {
            lockController.removeLock(lock);
        } else {
            Notification.show(applicationContext.getMessage("admin.uiList.confirmKillUI.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        }
        majContainer();
    });
    UI.getCurrent().addWindow(confirmWindow);
}
Also used : Item(com.vaadin.data.Item) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow)

Example 2 with ConfirmWindow

use of fr.univlorraine.ecandidat.views.windows.ConfirmWindow in project esup-ecandidat by EsupPortail.

the class CandidaturePieceController method transmettreCandidature.

/**
 * Transmet la canidature
 * @param candidature
 * @param listener
 * @param message
 */
private void transmettreCandidature(final Candidature candidature, final CandidatureListener listener, final String message) {
    final ConfirmWindow confirmWindow = new ConfirmWindow(message, applicationContext.getMessage("candidature.validPJ.window.confirmTitle", null, UI.getCurrent().getLocale()));
    confirmWindow.addBtnOuiListener(event -> {
        candidature.setTypeStatut(tableRefController.getTypeStatutReceptionne());
        candidature.setDatReceptDossierCand(LocalDate.now());
        candidature.setDatModTypStatutCand(LocalDateTime.now());
        candidature.setDatTransDossierCand(LocalDateTime.now());
        final Candidature candidatureSave = candidatureRepository.save(candidature);
        mailController.sendMailByCod(candidature.getCandidat().getCompteMinima().getMailPersoCptMin(), NomenclatureUtils.MAIL_STATUT_RE, null, candidature, candidature.getCandidat().getLangue().getCodLangue());
        if (candidature.getFormation().getCommission().getTemAlertTransComm()) {
            mailController.sendMailByCod(candidature.getFormation().getCommission().getMailAlertComm(), NomenclatureUtils.MAIL_COMMISSION_ALERT_TRANSMISSION, null, candidature, null);
        }
        listener.transmissionDossier(candidatureSave);
        Notification.show(applicationContext.getMessage("candidature.validPJ.success", null, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
    });
    UI.getCurrent().addWindow(confirmWindow);
}
Also used : ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FormulaireCandidature(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature)

Example 3 with ConfirmWindow

use of fr.univlorraine.ecandidat.views.windows.ConfirmWindow in project esup-ecandidat by EsupPortail.

the class CandidaturePieceController method setIsConcernedFormulaire.

/**
 * Change le statut est concerné d'un formulaire
 * @param formulaire
 * @param isConcerned
 * @param candidature
 * @param listener
 */
public void setIsConcernedFormulaire(final FormulairePresentation formulaire, final Boolean isConcerned, final Candidature candidature, final CandidatureListener listener) {
    Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
    /* Verrou */
    if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
        return;
    }
    final String user = userController.getCurrentUserLogin();
    if (isConcerned) {
        final ConfirmWindow confirmWindow = new ConfirmWindow(applicationContext.getMessage("formulaire.window.concerne", new Object[] { formulaire.getLibFormulaire() }, UI.getCurrent().getLocale()), applicationContext.getMessage("formulaire.window.conditionnel.title", null, UI.getCurrent().getLocale()));
        confirmWindow.addBtnOuiListener(event -> {
            /* Verrou */
            if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
                return;
            }
            final FormulaireCandPK pk = new FormulaireCandPK(formulaire.getFormulaire().getIdFormulaire(), candidature.getIdCand());
            final FormulaireCand formulaireCand = formulaireCandRepository.findOne(pk);
            if (formulaireCand != null) {
                formulaireCandRepository.delete(formulaireCand);
                candidature.setUserModCand(user);
                candidature.setDatModCand(LocalDateTime.now());
                candidature.removeFormulaireCand(formulaireCand);
                /* Vérification qu'il y a des réponses, si oui on passe à transmis, sinon en attente */
                if (formulaire.getReponses() != null && !formulaire.getReponses().isEmpty()) {
                    final TypeStatutPiece statutTrans = tableRefController.getTypeStatutPieceTransmis();
                    formulaire.setCodStatut(statutTrans.getCodTypStatutPiece());
                    formulaire.setLibStatut(i18nController.getI18nTraduction(statutTrans.getI18nLibTypStatutPiece()));
                } else {
                    final TypeStatutPiece statutAtt = tableRefController.getTypeStatutPieceAttente();
                    formulaire.setCodStatut(statutAtt.getCodTypStatutPiece());
                    formulaire.setLibStatut(i18nController.getI18nTraduction(statutAtt.getI18nLibTypStatutPiece()));
                }
                final Candidature candidatureSave = candidatureRepository.save(candidature);
                listener.formulaireModified(formulaire, candidatureSave);
            }
        });
        UI.getCurrent().addWindow(confirmWindow);
    } else {
        final ConfirmWindow confirmWindow = new ConfirmWindow(applicationContext.getMessage("formulaire.window.nonConcerne", new Object[] { formulaire.getLibFormulaire() }, UI.getCurrent().getLocale()), applicationContext.getMessage("formulaire.window.conditionnel.title", null, UI.getCurrent().getLocale()));
        confirmWindow.addBtnOuiListener(event -> {
            /* Verrou */
            if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
                return;
            }
            final FormulaireCandPK pk = new FormulaireCandPK(formulaire.getFormulaire().getIdFormulaire(), candidature.getIdCand());
            FormulaireCand formulaireCand = formulaireCandRepository.findOne(pk);
            if (formulaireCand == null) {
                formulaireCand = new FormulaireCand(pk, user, candidature, formulaire.getFormulaire());
                formulaireCand.setUserModFormulaireCand(user);
                final TypeStatutPiece statutNotConcern = tableRefController.getTypeStatutPieceNonConcerne();
                formulaire.setCodStatut(statutNotConcern.getCodTypStatutPiece());
                formulaire.setLibStatut(i18nController.getI18nTraduction(statutNotConcern.getI18nLibTypStatutPiece()));
                formulaireCand = formulaireCandRepository.save(formulaireCand);
                candidature.setUserModCand(user);
                candidature.updateFormulaireCand(formulaireCand);
                candidature.setDatModCand(LocalDateTime.now());
                final Candidature candidatureSave = candidatureRepository.save(candidature);
                listener.formulaireModified(formulaire, candidatureSave);
            }
        });
        UI.getCurrent().addWindow(confirmWindow);
    }
}
Also used : FormulaireCand(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCand) TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) FormulaireCandPK(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandPK) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FormulaireCandidature(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature)

Example 4 with ConfirmWindow

use of fr.univlorraine.ecandidat.views.windows.ConfirmWindow in project esup-ecandidat by EsupPortail.

the class CandidaturePieceController method setIsConcernedPieceJustificative.

/**
 * Change le statut est concerne d'une pj
 * @param pieceJustif
 * @param isConcerned
 * @param candidature
 * @param listener
 */
public void setIsConcernedPieceJustificative(final PjPresentation pieceJustif, final Boolean isConcerned, final Candidature candidature, final CandidatureListener listener) {
    Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
    /* Verrou */
    if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
        return;
    }
    final String user = userController.getCurrentUserLogin();
    if (isConcerned) {
        final ConfirmWindow confirmWindow = new ConfirmWindow(applicationContext.getMessage("pj.window.concerne", new Object[] { pieceJustif.getLibPj() }, UI.getCurrent().getLocale()), applicationContext.getMessage("pj.window.conditionnel.title", null, UI.getCurrent().getLocale()));
        confirmWindow.addBtnOuiListener(event -> {
            /* Verrou */
            if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
                return;
            }
            if (isPjModified(pieceJustif, candidature, true, listener)) {
                return;
            }
            PjCand pjCand = null;
            if (pieceJustif.getPJCommune()) {
                final List<PjCand> listePjCand = pjCandRepository.findByIdIdPjAndCandidatureCandidatIdCandidatAndCandidatureFormationTemDematFormOrderByDatModPjCandDesc(pieceJustif.getPieceJustif().getIdPj(), candidature.getCandidat().getIdCandidat(), true);
                if (listePjCand != null && listePjCand.size() > 0) {
                    // on cherche d'abord en priorité si la pièce est présente sur la candidature
                    final Optional<PjCand> pjCandOpt = listePjCand.stream().filter(e -> e.getCandidature().getIdCand().equals(pieceJustif.getIdCandidature())).findFirst();
                    if (pjCandOpt.isPresent()) {
                        pjCand = pjCandOpt.get();
                    } else {
                        pjCand = listePjCand.get(0);
                    }
                }
            } else {
                final PjCandPK pk = new PjCandPK(pieceJustif.getPieceJustif().getIdPj(), candidature.getIdCand());
                pjCand = pjCandRepository.findOne(pk);
            }
            if (pjCand != null && pjCand.getFichier() == null) {
                pjCandRepository.delete(pjCand);
                candidature.setUserModCand(user);
                candidature.setDatModCand(LocalDateTime.now());
                candidature.removePjCand(pjCand);
                final TypeStatutPiece statutAtt = tableRefController.getTypeStatutPieceAttente();
                pieceJustif.setCodStatut(statutAtt.getCodTypStatutPiece());
                pieceJustif.setLibStatut(i18nController.getI18nTraduction(statutAtt.getI18nLibTypStatutPiece()));
                pieceJustif.setDatModification(null);
                final Candidature candidatureSave = candidatureRepository.save(candidature);
                listener.pjModified(pieceJustif, candidatureSave);
            }
        });
        UI.getCurrent().addWindow(confirmWindow);
    } else {
        final ConfirmWindow confirmWindow = new ConfirmWindow(applicationContext.getMessage("pj.window.nonConcerne", new Object[] { pieceJustif.getLibPj() }, UI.getCurrent().getLocale()), applicationContext.getMessage("pj.window.conditionnel.title", null, UI.getCurrent().getLocale()));
        confirmWindow.addBtnOuiListener(event -> {
            /* Verrou */
            if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
                return;
            }
            if (isPjModified(pieceJustif, candidature, true, listener)) {
                return;
            }
            PjCand pjCand = null;
            final PjCandPK pk = new PjCandPK(pieceJustif.getPieceJustif().getIdPj(), candidature.getIdCand());
            if (pieceJustif.getPJCommune()) {
                final List<PjCand> listePjCand = pjCandRepository.findByIdIdPjAndCandidatureCandidatIdCandidatAndCandidatureFormationTemDematFormOrderByDatModPjCandDesc(pieceJustif.getPieceJustif().getIdPj(), candidature.getCandidat().getIdCandidat(), true);
                if (listePjCand != null && listePjCand.size() > 0) {
                    // on cherche d'abord en priorité si la pièce est présente sur la candidature
                    final Optional<PjCand> pjCandOpt = listePjCand.stream().filter(e -> e.getCandidature().getIdCand().equals(pieceJustif.getIdCandidature())).findFirst();
                    if (pjCandOpt.isPresent()) {
                        pjCand = pjCandOpt.get();
                    } else {
                        pjCand = listePjCand.get(0);
                    }
                }
            } else {
                pjCand = pjCandRepository.findOne(pk);
            }
            if (pjCand == null) {
                pjCand = new PjCand(pk, user, candidature, pieceJustif.getPieceJustif());
                pjCand.setLibFilePjCand(null);
                pjCand.setUserModPjCand(user);
                pjCand.setFichier(null);
                final TypeStatutPiece statutNotConcern = tableRefController.getTypeStatutPieceNonConcerne();
                pieceJustif.setCodStatut(statutNotConcern.getCodTypStatutPiece());
                pieceJustif.setLibStatut(i18nController.getI18nTraduction(statutNotConcern.getI18nLibTypStatutPiece()));
                pjCand.setTypeStatutPiece(statutNotConcern);
                pjCand = pjCandRepository.saveAndFlush(pjCand);
                // obligé de recharger l'objet car le datetime est arrondi :(
                final PjCand pjCandSave = pjCandRepository.findOne(pk);
                pieceJustif.setFilePj(null);
                pieceJustif.setCodStatut(statutNotConcern.getCodTypStatutPiece());
                pieceJustif.setLibStatut(i18nController.getI18nTraduction(statutNotConcern.getI18nLibTypStatutPiece()));
                pieceJustif.setIdCandidature(candidature.getIdCand());
                pieceJustif.setDatModification(pjCandSave.getDatModPjCand());
                candidature.setUserModCand(user);
                candidature.updatePjCand(pjCandSave);
                candidature.setDatModCand(LocalDateTime.now());
                final Candidature candidatureSave = candidatureRepository.save(candidature);
                listener.pjModified(pieceJustif, candidatureSave);
            }
        });
        UI.getCurrent().addWindow(confirmWindow);
    }
}
Also used : PieceJustif(fr.univlorraine.ecandidat.entities.ecandidat.PieceJustif) LoggerFactory(org.slf4j.LoggerFactory) UI(com.vaadin.ui.UI) FichierFiabilisation(fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation) Formulaire(fr.univlorraine.ecandidat.entities.ecandidat.Formulaire) ByteArrayInOutStream(fr.univlorraine.ecandidat.utils.ByteArrayInOutStream) TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) FormulairePresentation(fr.univlorraine.ecandidat.utils.bean.presentation.FormulairePresentation) ZipEntry(java.util.zip.ZipEntry) ConstanteUtils(fr.univlorraine.ecandidat.utils.ConstanteUtils) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) Resource(javax.annotation.Resource) PjCandidat(fr.univlorraine.ecandidat.entities.ecandidat.PjCandidat) List(java.util.List) Type(com.vaadin.ui.Notification.Type) OnDemandFile(fr.univlorraine.ecandidat.vaadin.components.OnDemandFile) FichierFiabilisationRepository(fr.univlorraine.ecandidat.repositories.FichierFiabilisationRepository) LocalDate(java.time.LocalDate) Optional(java.util.Optional) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FichierRepository(fr.univlorraine.ecandidat.repositories.FichierRepository) FormulaireCandidat(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidat) PjCand(fr.univlorraine.ecandidat.entities.ecandidat.PjCand) ZipOutputStream(java.util.zip.ZipOutputStream) FormulaireCandidature(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature) PjCandRepository(fr.univlorraine.ecandidat.repositories.PjCandRepository) LocalDateTime(java.time.LocalDateTime) Fichier(fr.univlorraine.ecandidat.entities.ecandidat.Fichier) PjPresentation(fr.univlorraine.ecandidat.utils.bean.presentation.PjPresentation) ArrayList(java.util.ArrayList) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) FormulaireCand(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCand) FileException(fr.univlorraine.ecandidat.services.file.FileException) Logger(org.slf4j.Logger) PjCandPK(fr.univlorraine.ecandidat.entities.ecandidat.PjCandPK) FormulaireCandRepository(fr.univlorraine.ecandidat.repositories.FormulaireCandRepository) InfoWindow(fr.univlorraine.ecandidat.views.windows.InfoWindow) IOException(java.io.IOException) ApplicationContext(org.springframework.context.ApplicationContext) FormulaireCandPK(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandPK) CtrCandActionPjWindow(fr.univlorraine.ecandidat.views.windows.CtrCandActionPjWindow) Component(org.springframework.stereotype.Component) CandidatureListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatureListener) FormulaireCandidatRepository(fr.univlorraine.ecandidat.repositories.FormulaireCandidatRepository) FormulaireMailBean(fr.univlorraine.ecandidat.utils.bean.mail.FormulaireMailBean) DateTimeFormatter(java.time.format.DateTimeFormatter) CandidatureRepository(fr.univlorraine.ecandidat.repositories.CandidatureRepository) UploadWindow(fr.univlorraine.ecandidat.views.windows.UploadWindow) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) InputStream(java.io.InputStream) Assert(org.springframework.util.Assert) TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) PjCand(fr.univlorraine.ecandidat.entities.ecandidat.PjCand) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) PjCandPK(fr.univlorraine.ecandidat.entities.ecandidat.PjCandPK) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FormulaireCandidature(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature)

Example 5 with ConfirmWindow

use of fr.univlorraine.ecandidat.views.windows.ConfirmWindow in project esup-ecandidat by EsupPortail.

the class CentreCandidatureController method deleteCentreCandidature.

/**
 * Supprime une centreCandidature
 *
 * @param centreCandidature
 */
public void deleteCentreCandidature(final CentreCandidature centreCandidature) {
    Assert.notNull(centreCandidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
    if (!isAutorizedToDelete(centreCandidature)) {
        return;
    }
    /* Verrou */
    if (!lockController.getLockOrNotify(centreCandidature, null)) {
        return;
    }
    String txtDelete = applicationContext.getMessage("ctrCand.window.confirmDelete", new Object[] { centreCandidature.getCodCtrCand() }, UI.getCurrent().getLocale());
    if (gestionnaireRepository.countByCentreCandidature(centreCandidature) > 0) {
        txtDelete = txtDelete + " " + applicationContext.getMessage("ctrCand.window.delete.warning", null, UI.getCurrent().getLocale());
    }
    ConfirmWindow confirmWindow = new ConfirmWindow(txtDelete, applicationContext.getMessage("ctrCand.window.confirmDeleteTitle", null, UI.getCurrent().getLocale()));
    confirmWindow.addBtnOuiListener(e -> {
        /* Contrôle que le client courant possède toujours le lock */
        if (lockController.getLockOrNotify(centreCandidature, null)) {
            centreCandidature.getGestionnaires().forEach(gest -> {
                droitProfilController.deleteDroitProfilInd(gest.getDroitProfilInd());
            });
            centreCandidature.getGestionnaires().clear();
            centreCandidatureRepository.delete(centreCandidature);
            /* Suppression dans l'offre */
            offreFormationController.removeCtrCand(centreCandidature);
            /* on controle qu'on ne desactive pas le centre de candidature en cours */
            controlDisableOrDeleteCtrCandEnCours(centreCandidature, true);
            /* Suppression du lock */
            lockController.releaseLock(centreCandidature);
        }
    });
    confirmWindow.addCloseListener(e -> {
        /* Suppression du lock */
        lockController.releaseLock(centreCandidature);
    });
    UI.getCurrent().addWindow(confirmWindow);
}
Also used : ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow)

Aggregations

ConfirmWindow (fr.univlorraine.ecandidat.views.windows.ConfirmWindow)44 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)7 Fichier (fr.univlorraine.ecandidat.entities.ecandidat.Fichier)5 FormulaireCandidature (fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature)5 PjCand (fr.univlorraine.ecandidat.entities.ecandidat.PjCand)4 TypeStatutPiece (fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece)4 FileException (fr.univlorraine.ecandidat.services.file.FileException)3 ArrayList (java.util.ArrayList)3 Notification (com.vaadin.ui.Notification)2 Type (com.vaadin.ui.Notification.Type)2 UI (com.vaadin.ui.UI)2 BatchHisto (fr.univlorraine.ecandidat.entities.ecandidat.BatchHisto)2 Candidat (fr.univlorraine.ecandidat.entities.ecandidat.Candidat)2 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)2 Commission (fr.univlorraine.ecandidat.entities.ecandidat.Commission)2 FormulaireCand (fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCand)2 FormulaireCandPK (fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandPK)2 PjCandPK (fr.univlorraine.ecandidat.entities.ecandidat.PjCandPK)2 PjCandidat (fr.univlorraine.ecandidat.entities.ecandidat.PjCandidat)2 SecurityCentreCandidature (fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature)2