@@ -95,6 +95,9 @@ def publicly_hidden(self):
9595 else self .exclude (publication_status = Canteen .PublicationStatus .PUBLISHED )
9696 )
9797
98+ def get_satellites (self , central_producer_siret ):
99+ return self .filter (is_satellite_query (), central_producer_siret = central_producer_siret )
100+
98101 def annotate_with_requires_line_ministry (self ):
99102 canteen_sector_relation = apps .get_model (app_label = "data" , model_name = "Canteen_sectors" )
100103 has_sector_requiring_line_ministry = canteen_sector_relation .objects .filter (
@@ -169,6 +172,38 @@ class Actions(models.TextChoices):
169172 PUBLISH = "50_publish" , "Publier"
170173 NOTHING = "95_nothing" , "Rien à faire !"
171174
175+ class Sectors (models .TextChoices ):
176+ """
177+ Restaurants des prisons administration True
178+ Restaurants administratifs d’Etat (RA) administration True
179+ Restaurants des armées / police / gendarmerie administration True
180+ Etablissements publics d’Etat (EPA ou EPIC) administration True
181+ Supérieur et Universitaire education True
182+ Autres structures d’enseignement education True
183+ Etablissements de la PJJ social True
184+ Hôpitaux health False
185+ Autres établissements de soins health False
186+ Restaurants inter-administratifs d’État (RIA) administration True
187+ Etablissements d’enseignement agricole education False
188+ Autres établissements sociaux et médico-sociaux social False
189+ Autres établissements de loisirs leisure False
190+ Restaurants d’entreprises enterprise False
191+ Restaurants inter-entreprises enterprise False
192+ Restaurants administratifs des collectivités territoriales administration False
193+ Secondaire collège education False
194+ Ecole primaire (maternelle et élémentaire) education False
195+ Cliniques health False
196+ Secondaire lycée (hors agricole) education False
197+ Crèche social False
198+ Autres établissements non listés autres False
199+ EHPAD / maisons de retraite / foyers de personnes âgées social False
200+ IME / ITEP social False
201+ ESAT / Etablissements spécialisés social False
202+ Centre de vacances / sportif leisure False
203+ """
204+
205+ ADMINISTRATION_PRISONS = "administration" , "Restaurants des prisons"
206+
172207 class Ministries (models .TextChoices ):
173208 AFFAIRES_ETRANGERES = "affaires_etrangeres" , "Affaires étrangères"
174209 AGRICULTURE = "agriculture" , "Agriculture, Alimentation et Forêts"
@@ -380,10 +415,7 @@ def is_serving(self):
380415 @property
381416 def satellites (self ):
382417 if self .siret :
383- return Canteen .objects .filter (
384- central_producer_siret = self .siret ,
385- production_type = Canteen .ProductionType .ON_SITE_CENTRAL ,
386- )
418+ return Canteen .objects .get_satellites (self .siret )
387419 return Canteen .objects .none ()
388420
389421 @property
0 commit comments