3030from admission .ddd .admission .doctorat .preparation .domain .model .doctorat_formation import (
3131 DoctoratFormation ,
3232)
33+ from admission .ddd import CODE_BACHELIER_VETERINAIRE
3334from admission .ddd .admission .doctorat .preparation .domain .validator .exceptions import (
3435 AdresseDomicileLegalNonCompleteeException ,
3536)
6061from base .models .enums .education_group_types import TrainingType
6162
6263__all__ = [
64+ "AdmissionNonResidentQuotaResultPublication" ,
6365 "AdmissionPoolExternalEnrollmentChangeCalendar" ,
6466 "AdmissionPoolExternalReorientationCalendar" ,
6567 "AdmissionPoolHue5BelgiumResidencyCalendar" ,
9496 ConditionAccess .ALTERNATIVE_ETUDES_SECONDAIRES ,
9597]
9698
97- SIGLES_WITH_QUOTA = ['KINE1BA' , 'VETE1BA' , 'LOGO1BA' ]
99+ SIGLES_WITH_QUOTA = ['KINE1BA' , CODE_BACHELIER_VETERINAIRE , 'LOGO1BA' ]
98100
99101SECOND_CYCLE_TYPES = [
100102 TrainingType .AGGREGATION .name ,
@@ -111,6 +113,8 @@ def ensure_consistency_until_n_plus_6(
111113 cutover_date : Date ,
112114 title : str ,
113115 end_date : Optional [Date ] = DAY_BEFORE_NEXT ,
116+ start_time : Optional [datetime .time ] = None ,
117+ end_time : Optional [datetime .time ] = None ,
114118):
115119 current_academic_year = AcademicYear .objects .current ()
116120 academic_years = AcademicYear .objects .min_max_years (current_academic_year .year - 1 , current_academic_year .year + 6 )
@@ -129,6 +133,8 @@ def ensure_consistency_until_n_plus_6(
129133 defaults = {
130134 'start_date' : datetime .date (ac_year .year + cutover_date .annee , cutover_date .mois , cutover_date .jour ),
131135 'end_date' : ac_end_date ,
136+ 'start_time' : start_time ,
137+ 'end_time' : end_time ,
132138 'title' : title ,
133139 },
134140 )
@@ -558,6 +564,8 @@ def ensure_consistency_until_n_plus_6(cls):
558564 event_reference = cls .event_reference ,
559565 cutover_date = cls .cutover_date ,
560566 end_date = cls .end_date ,
567+ start_time = datetime .time (9 , 0 ),
568+ end_time = datetime .time (16 , 0 ),
561569 title = "Admission - Contingenté non-résident (au sens du décret)" ,
562570 )
563571
@@ -575,6 +583,7 @@ class AdmissionPoolMedicineDentistryStandardPeriodCalendar(PoolCalendar):
575583 cutover_date = Date (jour = 6 , mois = 9 , annee = 0 )
576584 end_date = Date (jour = 30 , mois = 9 , annee = 0 )
577585
586+
578587 @classmethod
579588 def ensure_consistency_until_n_plus_6 (cls ):
580589 ensure_consistency_until_n_plus_6 (
@@ -586,14 +595,30 @@ def ensure_consistency_until_n_plus_6(cls):
586595
587596 @classmethod
588597 def matches_criteria (
589- cls ,
590- proposition : 'PropositionGenerale' ,
591- formation : Formation | DoctoratFormation ,
592- ** kwargs ,
598+ cls ,
599+ proposition : 'PropositionGenerale' ,
600+ formation : Formation | DoctoratFormation ,
601+ ** kwargs ,
593602 ) -> bool :
594603 """Candidat souhaitant s'inscrire à un bachelier en médecine ou dentisterie"""
595604 return (
596- isinstance (proposition , PropositionGenerale )
597- and formation .type == TrainingType .BACHELOR
598- and formation .est_formation_medecine_ou_dentisterie is True
605+ isinstance (proposition , PropositionGenerale )
606+ and formation .type == TrainingType .BACHELOR
607+ and formation .est_formation_medecine_ou_dentisterie is True
608+ )
609+
610+
611+ class AdmissionNonResidentQuotaResultPublication (AcademicEventSessionCalendarHelper ):
612+ event_reference = AcademicCalendarTypes .ADMISSION_NON_RESIDENT_QUOTA_RESULT_PUBLICATION .name
613+ cutover_date = Date (jour = 2 , mois = 9 , annee = 0 )
614+ end_date = None
615+
616+ @classmethod
617+ def ensure_consistency_until_n_plus_6 (cls ):
618+ ensure_consistency_until_n_plus_6 (
619+ event_reference = cls .event_reference ,
620+ cutover_date = cls .cutover_date ,
621+ start_time = datetime .time (18 , 0 ),
622+ end_date = cls .end_date ,
623+ title = "Admission: publication of the result of the random draw for the non-resident quota holder trainings" ,
599624 )
0 commit comments