Search in sources :

Example 1 with UploadWindow

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

the class CandidaturePieceController method addFileToPieceJustificative.

/**
 * Ajoute un fichier a une pj
 * @param pieceJustif
 * @param candidature
 * @param listener
 */
public void addFileToPieceJustificative(final PjPresentation pieceJustif, final Candidature candidature, final CandidatureListener listener) {
    /* Verification que le service n'est pas en maintenance */
    if (fileController.isFileServiceMaintenance(true)) {
        return;
    }
    Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
    /* Verrou */
    if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
        return;
    }
    final String user = userController.getCurrentNoDossierCptMinOrLogin();
    final String cod = ConstanteUtils.TYPE_FICHIER_PJ_CAND + "_" + candidature.getCandidat().getCompteMinima().getNumDossierOpiCptMin() + "_" + candidature.getIdCand() + "_" + pieceJustif.getPieceJustif().getIdPj();
    final UploadWindow uw = new UploadWindow(cod, ConstanteUtils.TYPE_FICHIER_CANDIDAT, candidature, pieceJustif.getPJCommune(), false);
    uw.addUploadWindowListener(file -> {
        if (file == null) {
            return;
        }
        /* Verrou */
        if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
            return;
        }
        final PjCandPK pk = new PjCandPK(pieceJustif.getPieceJustif().getIdPj(), pieceJustif.getIdCandidature());
        PjCand pjCand = pjCandRepository.findOne(pk);
        if (pjCand == null) {
            pjCand = new PjCand(pk, user, candidature, pieceJustif.getPieceJustif());
        }
        final Fichier fichier = fileController.createFile(file, user, ConstanteUtils.TYPE_FICHIER_CANDIDAT);
        if (isPjModified(pieceJustif, candidature, true, listener)) {
            FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
            fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
            try {
                fileController.deleteFichier(fichier);
                fichierFiabilisationRepository.delete(fichierFiabilisation);
            } catch (final FileException e) {
            }
            uw.close();
            return;
        }
        pjCand.setLibFilePjCand(fichier.getNomFichier());
        pjCand.setUserModPjCand(user);
        pjCand.setFichier(fichier);
        final TypeStatutPiece statutTr = tableRefController.getTypeStatutPieceTransmis();
        pjCand.setTypeStatutPiece(statutTr);
        pjCandRepository.save(pjCand);
        // obligé de recharger l'objet car le datetime est arrondi :(
        final PjCand pjCandSave = pjCandRepository.findOne(pk);
        pieceJustif.setFilePj(fichier);
        pieceJustif.setCodStatut(statutTr.getCodTypStatutPiece());
        pieceJustif.setLibStatut(i18nController.getI18nTraduction(statutTr.getI18nLibTypStatutPiece()));
        pieceJustif.setDatModification(pjCandSave.getDatModPjCand());
        candidature.setUserModCand(user);
        candidature.updatePjCand(pjCandSave);
        candidature.setDatModCand(LocalDateTime.now());
        final Candidature candidatureSave = candidatureRepository.save(candidature);
        listener.pjModified(pieceJustif, candidatureSave);
        Notification.show(applicationContext.getMessage("window.upload.success", new Object[] { file.getFileName() }, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
        uw.close();
    });
    UI.getCurrent().addWindow(uw);
}
Also used : FichierFiabilisation(fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation) UploadWindow(fr.univlorraine.ecandidat.views.windows.UploadWindow) TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) FileException(fr.univlorraine.ecandidat.services.file.FileException) PjCand(fr.univlorraine.ecandidat.entities.ecandidat.PjCand) PjCandPK(fr.univlorraine.ecandidat.entities.ecandidat.PjCandPK) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) FormulaireCandidature(fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature) Fichier(fr.univlorraine.ecandidat.entities.ecandidat.Fichier)

Example 2 with UploadWindow

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

the class CommissionController method addFileToSignataire.

/**
 * AJoute un fichier à la commission
 * @param commission
 */
public void addFileToSignataire(final Commission commission) {
    /* Verification que le service n'est pas en maintenance */
    if (fileController.isFileServiceMaintenance(true)) {
        return;
    }
    /* Verrou */
    if (!lockController.getLockOrNotify(commission, null)) {
        return;
    }
    final String user = userController.getCurrentUserLogin();
    final String cod = ConstanteUtils.TYPE_FICHIER_SIGN_COMM + "_" + commission.getIdComm();
    final UploadWindow uw = new UploadWindow(cod, ConstanteUtils.TYPE_FICHIER_GESTIONNAIRE, null, false, true);
    uw.addUploadWindowListener(file -> {
        if (file == null) {
            return;
        }
        final Fichier fichier = fileController.createFile(file, user, ConstanteUtils.TYPE_FICHIER_GESTIONNAIRE);
        commission.setFichier(fichier);
        commissionRepository.save(commission);
        Notification.show(applicationContext.getMessage("window.upload.success", new Object[] { file.getFileName() }, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
        uw.close();
    });
    uw.addCloseListener(e -> lockController.releaseLock(commission));
    UI.getCurrent().addWindow(uw);
}
Also used : UploadWindow(fr.univlorraine.ecandidat.views.windows.UploadWindow) Fichier(fr.univlorraine.ecandidat.entities.ecandidat.Fichier)

Example 3 with UploadWindow

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

the class PieceJustifController method addFileToPieceJustificative.

/**
 * AJoute un fichier à une pièce justif
 *
 * @param pieceJustif
 */
public void addFileToPieceJustificative(final PieceJustif pieceJustif) {
    /* Verification que le service n'est pas en maintenance */
    if (fileController.isFileServiceMaintenance(true)) {
        return;
    }
    /* Verrou */
    if (!lockController.getLockOrNotify(pieceJustif, null)) {
        return;
    }
    String user = userController.getCurrentUserLogin();
    String cod = ConstanteUtils.TYPE_FICHIER_PJ_GEST + "_" + pieceJustif.getIdPj();
    UploadWindow uw = new UploadWindow(cod, ConstanteUtils.TYPE_FICHIER_GESTIONNAIRE, null, false, false);
    uw.addUploadWindowListener(file -> {
        if (file == null) {
            return;
        }
        Fichier fichier = fileController.createFile(file, user, ConstanteUtils.TYPE_FICHIER_GESTIONNAIRE);
        pieceJustif.setFichier(fichier);
        pieceJustifRepository.save(pieceJustif);
        Notification.show(applicationContext.getMessage("window.upload.success", new Object[] { file.getFileName() }, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
        uw.close();
    });
    uw.addCloseListener(e -> lockController.releaseLock(pieceJustif));
    UI.getCurrent().addWindow(uw);
}
Also used : UploadWindow(fr.univlorraine.ecandidat.views.windows.UploadWindow) Fichier(fr.univlorraine.ecandidat.entities.ecandidat.Fichier)

Aggregations

Fichier (fr.univlorraine.ecandidat.entities.ecandidat.Fichier)3 UploadWindow (fr.univlorraine.ecandidat.views.windows.UploadWindow)3 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)1 FichierFiabilisation (fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation)1 FormulaireCandidature (fr.univlorraine.ecandidat.entities.ecandidat.FormulaireCandidature)1 PjCand (fr.univlorraine.ecandidat.entities.ecandidat.PjCand)1 PjCandPK (fr.univlorraine.ecandidat.entities.ecandidat.PjCandPK)1 TypeStatutPiece (fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece)1 FileException (fr.univlorraine.ecandidat.services.file.FileException)1