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);
}
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);
}
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);
}
Aggregations