import org.lilie.services.eliot.brevet.BrevetEpreuve\r
import org.lilie.services.eliot.notes.NotesDroitService\r
import org.lilie.services.eliot.annuaire.SecuriteSession\r
-import org.lilie.services.eliot.notes.NotesFonction\r
-import org.lilie.services.eliot.droits.Action\r
import org.lilie.services.eliot.scolarite.Etablissement\r
import org.lilie.services.eliot.scolarite.StructureEnseignement\r
import org.hibernate.SessionFactory\r
import org.lilie.services.eliot.notes.resultat.eleve.ResultatEleveServicePeriodeService\r
import org.lilie.services.eliot.notes.ResultatEleveServicePeriode\r
import org.lilie.services.eliot.notes.resultat.eleve.AppreciationEleveEnseignementPeriodeService\r
-\r
-\r
-\r
import org.lilie.services.eliot.notes.resultat.NoteInfo\r
import org.lilie.services.eliot.notes.resultat.MoyenneService\r
import org.lilie.services.eliot.brevet.BrevetSerie\r
CalculationService calculationService\r
\r
AnneeScolaireService anneeScolaireService\r
- \r
+\r
SessionFactory sessionFactory\r
\r
static transactional = true\r
// verifie que l'utilisateur a le droit de voir les notes\r
List<Etablissement> etabs = (classes*.etablissement).unique { it.id }\r
etabs.each {\r
- notesDroitService.verifieAutorisationByEtablissement(\r
- securiteSession,\r
- it,\r
- Action.CREATION,\r
- NotesFonction.DIRECTION_ASSIMILE)\r
+\r
+ notesDroitService\r
+ .verifiePerimetreEtablissementEtDroitSurEtablissement(securiteSession, it.id)\r
}\r
\r
Boolean initialisationOk = true\r
\r
// recupere notes\r
List<BrevetNoteInfo> notesInitialises =\r
- internalActualiseNotes(securiteSession, classes, true)\r
+ internalActualiseNotes(securiteSession, classes, true)\r
\r
// enregsitre les changements\r
notesInitialises.each { BrevetNoteInfo noteInfo ->\r
List<Personne> eleves) {\r
\r
// verifie que l'utilisateur a le droit de voir les notes\r
-// TOREFACT gérer droits pour fonctionnalités et fonctions paramétrables\r
-// notesDroitService.verifieAutorisationByEtablissement(\r
-// securiteSession,\r
-// classe.etablissement,\r
-// Action.CONSULTATION,\r
-// NotesFonction.DIRECTION_ASSIMILE)\r
+\r
+ notesDroitService\r
+ .verifiePerimetreEtablissementEtDroitSurEtablissement(securiteSession, classe.etablissement.id)\r
\r
Map eleveMap = [:]\r
eleves.each {\r
}\r
\r
List<BrevetNoteInfo> noteInfos =\r
- internalActualiseNotes(securiteSession, [classe], eleveMap)\r
+ internalActualiseNotes(securiteSession, [classe], eleveMap)\r
\r
majAppreciations(noteInfos)\r
\r
return BrevetNote.createCriteria().listDistinct {\r
fiche {\r
'in'('eleve', eleves)\r
- eq('anneeScolaire', anneeScolaireService.anneeScolaireEnCours())\r
+ eq('anneeScolaire', anneeScolaireService.anneeScolaireEnCours())\r
}\r
fetchMode('valeurTextuelle', FetchMode.JOIN) // AB,DI,NV ..\r
fetchMode('epreuve', FetchMode.JOIN)\r
// on calcule la moyenne des moyennes des services pondérée par les coeffs\r
// des services pour la période donnée .\r
resultatsParMatiere.each {Matiere matiere, List<ResultatEleveServicePeriode> ress ->\r
- BigDecimal moyenne = ress.size() == 1 ? \r
+ BigDecimal moyenne = ress.size() == 1 ?\r
ress.first().moyenne : internalCalculeMoyenneResultats(ress, periode)\r
\r
moyenneParMatiere.put(matiere, moyenne)\r
\r
epreuveInfos.each {EpreuveInfo epreuveInfo ->\r
Map moyenneParMatierePourEpreuve =\r
- (Map) moyenneParMatiere.findAll {Matiere matiere, BigDecimal moyenne ->\r
- epreuveInfo.matieres*.id.contains(matiere.id)\r
- }\r
+ (Map) moyenneParMatiere.findAll {Matiere matiere, BigDecimal moyenne ->\r
+ epreuveInfo.matieres*.id.contains(matiere.id)\r
+ }\r
\r
if (moyenneParMatierePourEpreuve.size() == 0) {\r
epreuveInfo.matieres = []\r
epreuveInfo.matieres = serviceSport ? [serviceSport.matiere] : []\r
break\r
\r
- default: \r
+ default:\r
throw new IllegalStateException(\r
"Le mode de calcul de note ${epreuveInfo.epreuve.modeCalculNote} " +\r
"pour l'épreuve ${epreuveInfo.epreuve} n'est pris en compte")\r
\r
// get services\r
List<Service> services = notesServiceService.\r
- internalFindAllServiceByElevePeriodeMatieres( \r
+ internalFindAllServiceByElevePeriodeMatieres(\r
securiteSession,\r
eleve,\r
periode,\r
* @author bper\r
*/\r
List<EpreuveInfo> internalChercheMatieres(SecuriteSession securiteSession,\r
- List<BrevetEpreuve> epreuves,\r
- Personne eleve,\r
- Etablissement etablissement,\r
- List<BrevetRelEpreuveMatiere> relFixes,\r
- List<BrevetNote> notes,\r
- Periode periodeAnnee,\r
- Boolean initialisation) {\r
+ List<BrevetEpreuve> epreuves,\r
+ Personne eleve,\r
+ Etablissement etablissement,\r
+ List<BrevetRelEpreuveMatiere> relFixes,\r
+ List<BrevetNote> notes,\r
+ Periode periodeAnnee,\r
+ Boolean initialisation) {\r
List<EpreuveInfo> epreuveInfos = []\r
notes.each { BrevetNote note ->\r
List<Matiere> matieres = internalChercheMatiere(\r
Map<BrevetEpreuve,Matiere> mapEpreuveMatiere) {\r
\r
StructureEnseignement classe =\r
- notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
+ notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
\r
- notesDroitService.verifieAutorisationByEtablissement(\r
- securiteSession,\r
- classe.etablissement,\r
- Action.MODIFICATION,\r
- NotesFonction.DIRECTION_ASSIMILE)\r
+ notesDroitService\r
+ .verifiePerimetreEtablissementEtDroitSurEtablissement(securiteSession, classe.etablissement.id)\r
\r
List<BrevetNote> notes = BrevetNote.withCriteria {\r
fiche {\r
}\r
\r
StructureEnseignement classe =\r
- notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
+ notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
\r
- notesDroitService.verifieAutorisationByEtablissement(\r
- securiteSession,\r
- classe.etablissement,\r
- Action.MODIFICATION,\r
- NotesFonction.DIRECTION_ASSIMILE)\r
+ notesDroitService\r
+ .verifiePerimetreEtablissementEtDroitSurEtablissement(securiteSession, classe.etablissement.id)\r
\r
BrevetSerie serie = brevetSerieService.internalFindSeriePourEleve(eleve)\r
\r
}\r
\r
noteToDeletes.each {\r
- fiche.removeFromNotes(it) \r
+ fiche.removeFromNotes(it)\r
it.delete()\r
}\r
sessionFactory.currentSession.flush()\r
Personne eleve,\r
List<BrevetEpreuve> epreuves) {\r
StructureEnseignement classe =\r
- notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
+ notesStructureEnseignementService.findClasseForEleve(securiteSession,eleve)\r
\r
- notesDroitService.verifieAutorisationByEtablissement(\r
- securiteSession,\r
- classe.etablissement,\r
- Action.MODIFICATION,\r
- NotesFonction.DIRECTION_ASSIMILE)\r
+ notesDroitService\r
+ .verifiePerimetreEtablissementEtDroitSurEtablissement(securiteSession, classe.etablissement.id)\r
\r
BrevetSerie serie = brevetSerieService.internalFindSeriePourEleve(eleve)\r
\r
eq('epreuve', epreuve)\r
}\r
}\r
- \r
+\r
\r
}\r