/** L'action de creer le poste */ public WOComponent doCreatePoste() { if (isFormValid()) { // creer le poste EOPoste newPoste = EOPoste.newRecordInContext( ec(), inNewPosteService, newPosCode, newPosLibelle, newPosDDebut, newPosDFin); // creer l'occupation if (isCreatingFromExistingAffectation) { EOAffectationDetail.newRecordInContext( ec(), newPosAffectation, newPoste, newPosDDebut, newPosDFin, false); } // creer la fiche de poste (uniquement pour les postes non enseignants) if (isCreatingFicheDePoste && newPoste.isNonEnseignant()) { EOFicheDePoste.newRecordInContext(ec(), newPoste, newPosDDebut, newPosDFin); } // creer la fiche lolf EOFicheLolf.newRecordInContext( // ec(), newPoste, FinderExercice.getExercicePourDate(ec(), DateCtrl.now())); ec(), newPoste, FinderExercice.getExerciceDepensePourDate(ec(), DateCtrl.now())); // enregistrement try { UtilDb.save(ec(), ""); } catch (Throwable e) { e.printStackTrace(); } // on retourne sur la liste des postes en rafraichissant son contenu ((I_CallingCompPosteMetaData) caller).doAfterCompPosteMetaDataSuccess(); return null; } else { return null; } }
/** * Remplir les donnes par default lors de la creation d'un poste. Les valeurs dependent si * creation a partir d'une affectation ou pas. */ private void fillDefaultValuesNewPoste() { // on ecrase pas les donnes du poste si un code a ete saisi if (StringCtrl.isEmpty(newPosCode)) { newPosCode = EOPoste.getDefaultPosCodeForStructure(inNewPosteService); } newPosLibelle = EOPoste.getLibelleDefautPourAffectation(newPosAffectation); if (isCreatingFromExistingAffectation) { newPosDDebut = newPosAffectation.dDebAffectation(); newPosDFin = newPosAffectation.dFinAffectation(); } else { newPosDDebut = new NSTimestamp(); newPosDFin = null; } }
/** * Effectue la verification des donnees saisies. Si tout est OK, alors <code>true</code> est * retourne. * * <p>Sinon <code>false</code> et <code>errMsg</code> est mis a jour */ private boolean isFormValid() { // raz du msg clearError(); if (isModeCreatePoste()) { // le code, le libelle et la date de debut sont obligatoires if (StringCtrl.isEmpty(newPosCode)) { setErrMsg("Le code du poste est obligatoire"); } else if (StringCtrl.isEmpty(newPosLibelle)) { setErrMsg("Le libellé du poste est obligatoire"); } else if (newPosDDebut == null) { setErrMsg("La date d'ouverture du poste est obligatoire"); } } else { // le code, le libelle et la date de debut sont obligatoires if (StringCtrl.isEmpty(inPoste.posCode())) { setErrMsg("Le code du poste est obligatoire"); } else if (StringCtrl.isEmpty(inPoste.posLibelle())) { setErrMsg("Le libelle du poste est obligatoire"); } else if (inPoste.posDDebut() == null) { setErrMsg("La date d'ouverture du poste est obligatoire"); } } return !hasError(); }