use of fr.univlorraine.ecandidat.utils.bean.presentation.FormulairePresentation in project esup-ecandidat by EsupPortail.
the class CandidaturePieceController method getFormulaireCandidature.
/**
* @param candidature
* @return la liste des formulaires d'une candidature
*/
public List<FormulairePresentation> getFormulaireCandidature(final Candidature candidature) {
final String numDossier = candidature.getCandidat().getCompteMinima().getNumDossierOpiCptMin();
final List<FormulairePresentation> liste = new ArrayList<>();
final TypeStatutPiece statutAT = tableRefController.getTypeStatutPieceAttente();
final TypeStatutPiece statutNC = tableRefController.getTypeStatutPieceNonConcerne();
final TypeStatutPiece statutTR = tableRefController.getTypeStatutPieceTransmis();
final List<FormulaireCand> listeFormulaireCand = candidature.getFormulaireCands();
final List<FormulaireCandidature> listeFormulaireCandidature = candidature.getFormulaireCandidatures();
final List<FormulaireCandidat> listeFormulaireCandidat = candidature.getCandidat().getFormulaireCandidats();
formulaireController.getFormulaireForCandidature(candidature).forEach(e -> {
final String libForm = i18nController.getI18nTraduction(e.getI18nLibFormulaire());
String urlForm = i18nController.getI18nTraduction(e.getI18nUrlFormulaire());
/* Possibilité d'ajout du numdossier dans l'url sous la forme ${numDossier} */
if (urlForm != null) {
urlForm = urlForm.replaceAll(ConstanteUtils.VAR_REGEX_FORM_NUM_DOSSIER, numDossier);
urlForm = urlForm.replaceAll(ConstanteUtils.VAR_REGEX_FORM_NUM_DOSSIER_OLD, numDossier);
urlForm = urlForm.replaceAll(ConstanteUtils.VAR_REGEX_FORM_ID_CANDIDATURE, String.valueOf(candidature.getIdCand()));
}
String libStatut = null;
String codStatut = null;
String reponses = null;
/* On recherche d'abord les réponses */
final FormulaireCandidature formulaireCandidature = getFormulaireCandidatureFromList(e, listeFormulaireCandidature);
final FormulaireCandidat formulaireCandidat = getFormulaireCandidatFromList(e, listeFormulaireCandidat);
if (formulaireCandidature != null) {
codStatut = statutTR.getCodTypStatutPiece();
libStatut = i18nController.getI18nTraduction(statutTR.getI18nLibTypStatutPiece());
reponses = formulaireCandidature.getReponsesFormulaireCand();
} else if (formulaireCandidat != null) {
codStatut = statutTR.getCodTypStatutPiece();
libStatut = i18nController.getI18nTraduction(statutTR.getI18nLibTypStatutPiece());
reponses = formulaireCandidat.getReponsesFormulaireCandidat();
} else {
/* Si pas de réponse on recherche une ligne dans formulaireCand pour vérifier
* qu'il est concerné */
final FormulaireCand formulaireCand = getFormulaireCandFromList(e, listeFormulaireCand);
if (formulaireCand != null) {
codStatut = statutNC.getCodTypStatutPiece();
libStatut = i18nController.getI18nTraduction(statutNC.getI18nLibTypStatutPiece());
} else {
/* Ni de réponse, ni non concerné --> en attente */
codStatut = statutAT.getCodTypStatutPiece();
libStatut = i18nController.getI18nTraduction(statutAT.getI18nLibTypStatutPiece());
}
}
liste.add(new FormulairePresentation(e, libForm, urlForm, codStatut, libStatut, e.getTemConditionnelFormulaire(), reponses));
});
return liste;
}
Aggregations