Organization.php 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Organization;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use ApiPlatform\Metadata\Get;
  6. use App\Entity\Access\Access;
  7. use App\Entity\Billing\BillingExportSetting;
  8. use App\Entity\Billing\BillingSetting;
  9. use App\Entity\Billing\BillSchedule;
  10. use App\Entity\Billing\FamilyQuotientModel;
  11. use App\Entity\Booking\Attendance;
  12. use App\Entity\Booking\AttendanceBookingReason;
  13. use App\Entity\Booking\Course;
  14. use App\Entity\Booking\EducationalProject;
  15. use App\Entity\Booking\Event;
  16. use App\Entity\Booking\Examen;
  17. use App\Entity\Booking\OrganizationHoliday;
  18. use App\Entity\Core\BankAccount;
  19. use App\Entity\Core\ContactPoint;
  20. use App\Entity\Core\File;
  21. use App\Entity\Core\Notification;
  22. use App\Entity\Core\Tagg;
  23. use App\Entity\Donor\Donor;
  24. use App\Entity\Education\CriteriaNotation;
  25. use App\Entity\Education\Cycle;
  26. use App\Entity\Education\EducationCategory;
  27. use App\Entity\Education\EducationNotationConfig;
  28. use App\Entity\Education\EducationTiming;
  29. use App\Entity\Education\PeriodNotation;
  30. use App\Entity\Message\AbstractMessage;
  31. use App\Entity\Message\AbstractReport;
  32. use App\Entity\Message\Email;
  33. use App\Entity\Message\Mail;
  34. use App\Entity\Message\Sms;
  35. use App\Entity\Network\NetworkOrganization;
  36. use App\Entity\Person\Commission;
  37. use App\Entity\Place\Place;
  38. use App\Entity\Product\Equipment;
  39. use App\Entity\Product\Intangible;
  40. use App\Entity\Reward\Reward;
  41. use App\Entity\Traits\CreatedOnAndByTrait;
  42. use App\Enum\Organization\CategoryEnum;
  43. use App\Enum\Organization\LegalEnum;
  44. use App\Enum\Organization\OpcaEnum;
  45. use App\Enum\Organization\PrincipalTypeEnum;
  46. use App\Enum\Organization\SchoolCategoryEnum;
  47. use App\Enum\Organization\TypeEstablishmentDetailEnum;
  48. use App\Enum\Organization\TypeEstablishmentEnum;
  49. use App\Repository\Organization\OrganizationRepository;
  50. // use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
  51. use Doctrine\Common\Collections\ArrayCollection;
  52. use Doctrine\Common\Collections\Collection;
  53. use Doctrine\ORM\Mapping as ORM;
  54. use JetBrains\PhpStorm\Pure;
  55. /**
  56. * Structure, organisation.
  57. *
  58. * Security :
  59. *
  60. * * @see \App\Doctrine\Organization\CurrentOrganizationExtension
  61. */
  62. #[ApiResource(
  63. operations: [
  64. new Get(security: 'object.getId() == user.getOrganization().getId()'),
  65. ]
  66. )]
  67. // #[Auditable]
  68. #[ORM\Entity(repositoryClass: OrganizationRepository::class)]
  69. class Organization
  70. {
  71. use CreatedOnAndByTrait;
  72. #[ORM\Id]
  73. #[ORM\Column]
  74. #[ORM\GeneratedValue]
  75. private ?int $id = null;
  76. #[ORM\Column(length: 128, nullable: false)]
  77. public string $name;
  78. #[ORM\Column(length: 128)]
  79. private string $identifier;
  80. #[ORM\Column(length: 50, nullable: true, enumType: LegalEnum::class)]
  81. private ?LegalEnum $legalStatus = null;
  82. #[ORM\Column(length: 255, nullable: false, enumType: PrincipalTypeEnum::class)]
  83. private PrincipalTypeEnum $principalType;
  84. #[ORM\OneToOne(mappedBy: 'organization', cascade: ['persist', 'remove'])]
  85. private ?Settings $settings = null;
  86. /** @var Collection<int, Access> */
  87. #[ORM\OneToMany(targetEntity: Access::class, mappedBy: 'organization', cascade: ['persist'])]
  88. private Collection $accesses;
  89. /** @var Collection<int, NetworkOrganization> */
  90. #[ORM\OneToMany(targetEntity: NetworkOrganization::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  91. private Collection $networkOrganizations;
  92. /** @var Collection<int, NetworkOrganization> */
  93. #[ORM\OneToMany(targetEntity: NetworkOrganization::class, mappedBy: 'parent', cascade: ['persist', 'remove'], orphanRemoval: true)]
  94. private Collection $networkOrganizationChildren;
  95. /** @var Collection<int, EducationNotationConfig> */
  96. #[ORM\OneToMany(targetEntity: EducationNotationConfig::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  97. private Collection $educationNotationConfigs;
  98. #[ORM\OneToOne(targetEntity: Parameters::class, inversedBy: 'organization', cascade: ['persist'])]
  99. #[ORM\JoinColumn(nullable: false)]
  100. private Parameters $parameters;
  101. #[ORM\OneToOne(mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  102. private ?BillingSetting $billingSetting = null;
  103. #[ORM\Column(type: 'text', nullable: true)]
  104. private ?string $description = null;
  105. // TODO: utile ce champs? ou c'est juste un doublon du champs 'createDate'?
  106. #[ORM\Column(type: 'date', nullable: true)]
  107. private ?\DateTimeInterface $creationDate = null;
  108. #[ORM\Column(type: 'date', nullable: true)]
  109. private ?\DateTimeInterface $declarationDate = null;
  110. #[ORM\Column(length: 14, nullable: true)]
  111. private ?string $siretNumber = null;
  112. #[ORM\Column(length: 10, nullable: true)]
  113. private ?string $waldecNumber = null;
  114. #[ORM\Column(length: 255, nullable: true)]
  115. private ?string $volumeAndFolioNumber = null;
  116. #[ORM\Column(length: 5, nullable: true)]
  117. private ?string $apeNumber = null;
  118. #[ORM\Column(length: 50, nullable: true)]
  119. private ?string $tvaNumber = null;
  120. #[ORM\Column(length: 40, nullable: true)]
  121. private ?string $otherType = null;
  122. #[ORM\Column(length: 80, nullable: true)]
  123. private ?string $acronym = null;
  124. #[ORM\Column(length: 255, nullable: true)]
  125. private ?string $facebook = null;
  126. #[ORM\Column(length: 255, nullable: true)]
  127. private ?string $twitter = null;
  128. #[ORM\Column(length: 255, nullable: true)]
  129. private ?string $youtube = null;
  130. #[ORM\Column(length: 255, nullable: true)]
  131. private ?string $instagram = null;
  132. #[ORM\Column(length: 35, nullable: true)]
  133. private ?string $collectiveAgreement = null;
  134. #[ORM\Column(length: 50, nullable: true, enumType: OpcaEnum::class)]
  135. private ?OpcaEnum $opca = null;
  136. #[ORM\Column(length: 35, nullable: true)]
  137. private ?string $icomNumber = null;
  138. #[ORM\Column(length: 35, nullable: true)]
  139. private ?string $urssafNumber = null;
  140. #[ORM\Column(length: 20, nullable: true)]
  141. private ?string $youngApproval = null;
  142. #[ORM\Column(length: 20, nullable: true)]
  143. private ?string $trainingApproval = null;
  144. #[ORM\Column(length: 50, nullable: true)]
  145. private ?string $otherApproval = null;
  146. #[ORM\Column(length: 35, nullable: true)]
  147. private ?string $prefectureName = null;
  148. #[ORM\Column(length: 20, nullable: true)]
  149. private ?string $prefectureNumber = null;
  150. #[ORM\Column(length: 50, nullable: true, enumType: CategoryEnum::class)]
  151. private ?CategoryEnum $category = null;
  152. #[ORM\Column(length: 50, nullable: true, enumType: SchoolCategoryEnum::class)]
  153. private ?SchoolCategoryEnum $schoolCategory = null;
  154. #[ORM\Column(length: 50, nullable: true, enumType: TypeEstablishmentEnum::class)]
  155. private ?TypeEstablishmentEnum $typeEstablishment = null;
  156. #[ORM\Column(length: 50, nullable: true, enumType: TypeEstablishmentDetailEnum::class)]
  157. private ?TypeEstablishmentDetailEnum $typeEstablishmentDetail = null;
  158. #[ORM\Column(nullable: true)]
  159. private ?float $budget = null;
  160. #[ORM\Column(nullable: true)]
  161. private ?bool $isPedagogicIsPrincipalActivity = null;
  162. #[ORM\Column(nullable: true)]
  163. private ?float $pedagogicBudget = null;
  164. #[ORM\Column(nullable: true)]
  165. private ?bool $isPerformanceContractor = null;
  166. #[ORM\Column(length: 20, nullable: true)]
  167. private ?string $ffecApproval = null;
  168. #[ORM\Column]
  169. private bool $portailVisibility = true;
  170. #[ORM\Column(nullable: true)]
  171. private ?int $cmsId = null;
  172. #[ORM\ManyToOne(inversedBy: 'organizationLogos')]
  173. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  174. private ?File $logo = null;
  175. #[ORM\ManyToOne(inversedBy: 'organizationImages')]
  176. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  177. private ?File $image = null;
  178. /** @var Collection<int, TypeOfPractice> */
  179. #[ORM\ManyToMany(targetEntity: TypeOfPractice::class, mappedBy: 'organizations')]
  180. private Collection $typeOfPractices;
  181. #[ORM\Column(nullable: true)]
  182. private ?string $otherPractice = null;
  183. /** @var Collection<int, ContactPoint> */
  184. #[ORM\ManyToMany(targetEntity: ContactPoint::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  185. private Collection $contactPoints;
  186. /** @var Collection<int, BankAccount> */
  187. #[ORM\ManyToMany(targetEntity: BankAccount::class, inversedBy: 'organization')]
  188. #[ORM\JoinColumn(name: 'organization_id', referencedColumnName: 'id', unique: true)]
  189. #[ORM\InverseJoinColumn(name: 'bankAccount_id', referencedColumnName: 'id')]
  190. private Collection $bankAccounts;
  191. /** @var Collection<int, OrganizationAddressPostal> */
  192. #[ORM\OneToMany(targetEntity: OrganizationAddressPostal::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  193. private Collection $organizationAddressPostals;
  194. /** @var Collection<int, OrganizationLicence> */
  195. #[ORM\OneToMany(targetEntity: OrganizationLicence::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  196. private Collection $organizationLicences;
  197. /** @var Collection<int, OrganizationArticle> */
  198. #[ORM\OneToMany(targetEntity: OrganizationArticle::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  199. private Collection $organizationArticles;
  200. /** @var Collection<int, Cycle> */
  201. #[ORM\OneToMany(targetEntity: Cycle::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  202. private Collection $cycles;
  203. /** @var Collection<int, EducationTiming> */
  204. #[ORM\OneToMany(targetEntity: EducationTiming::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  205. private Collection $educationTimings;
  206. /** @var Collection<int, Subdomain> */
  207. #[ORM\OneToMany(targetEntity: Subdomain::class, mappedBy: 'organization', cascade: ['persist', 'remove'])]
  208. private Collection $subdomains;
  209. #[ORM\ManyToOne(inversedBy: 'organizationContacts')]
  210. #[ORM\JoinColumn(referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
  211. private ?Access $contactPerson;
  212. /** @var Collection<int, OrganizationHoliday> */
  213. #[ORM\OneToMany(targetEntity: OrganizationHoliday::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  214. private Collection $holidays;
  215. /** @var Collection<int, Course> */
  216. #[ORM\OneToMany(targetEntity: Course::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  217. private Collection $courses;
  218. /** @var Collection<int, EducationalProject> */
  219. #[ORM\OneToMany(targetEntity: EducationalProject::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  220. private Collection $educationalProjects;
  221. /** @var Collection<int, Event> */
  222. #[ORM\OneToMany(targetEntity: Event::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  223. private Collection $events;
  224. /** @var Collection<int, Examen> */
  225. #[ORM\OneToMany(targetEntity: Examen::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  226. private Collection $examens;
  227. /** @var Collection<int, CriteriaNotation> */
  228. #[ORM\OneToMany(targetEntity: CriteriaNotation::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  229. private Collection $critereNotations;
  230. /** @var Collection<int, EducationCategory> */
  231. #[ORM\OneToMany(targetEntity: EducationCategory::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  232. private Collection $educationCategories;
  233. /** @var Collection<int, PeriodNotation> */
  234. #[ORM\OneToMany(targetEntity: PeriodNotation::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  235. private Collection $periodNotations;
  236. /** @var Collection<int, File> */
  237. #[ORM\OneToMany(targetEntity: File::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  238. private Collection $files;
  239. /** @var Collection<int, Notification> */
  240. #[ORM\OneToMany(targetEntity: Notification::class, mappedBy: 'recipientOrganization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  241. private Collection $notifications;
  242. /** @var Collection<int, Email> */
  243. #[ORM\OneToMany(targetEntity: Email::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  244. private Collection $emails;
  245. /** @var Collection<int, Mail> */
  246. #[ORM\OneToMany(targetEntity: Mail::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  247. private Collection $mails;
  248. /** @var Collection<int, Sms> */
  249. #[ORM\OneToMany(targetEntity: Sms::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  250. private Collection $sms;
  251. /** @var Collection<int, Activity> */
  252. #[ORM\OneToMany(targetEntity: Activity::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  253. private Collection $activities;
  254. /** @var Collection<int, Jury> */
  255. #[ORM\OneToMany(targetEntity: Jury::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  256. private Collection $juries;
  257. /** @var Collection<int, Commission> */
  258. #[ORM\OneToMany(targetEntity: Commission::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  259. private Collection $commissions;
  260. /** @var Collection<int, Place> */
  261. #[ORM\OneToMany(mappedBy: 'organization', targetEntity: Place::class, orphanRemoval: true)]
  262. private Collection $places;
  263. /** @var Collection<int, Attendance> */
  264. #[ORM\OneToMany(targetEntity: Attendance::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  265. private Collection $attendances;
  266. /** @var Collection<int, Equipment> */
  267. #[ORM\OneToMany(targetEntity: Equipment::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  268. private Collection $equipments;
  269. /** @var Collection<int, Intangible> */
  270. #[ORM\OneToMany(targetEntity: Intangible::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  271. private Collection $intangibles;
  272. /** @var Collection<int, Donor> */
  273. #[ORM\OneToMany(targetEntity: Donor::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  274. private Collection $donors;
  275. /** @var Collection<int, Reward> */
  276. #[ORM\OneToMany(targetEntity: Reward::class, mappedBy: 'organization', cascade: ['persist', 'remove'], orphanRemoval: true)]
  277. private Collection $rewards;
  278. // #[ORM\OneToOne()]
  279. // private OnlineRegistrationSettings $onlineRegistrationSettings;
  280. /** @var Collection<int, Tagg> */
  281. #[ORM\ManyToMany(targetEntity: Tagg::class, inversedBy: 'organizations', cascade: ['persist'])]
  282. #[ORM\JoinTable(name: 'tag_organization')]
  283. #[ORM\JoinColumn(name: 'organization_id', referencedColumnName: 'id')]
  284. #[ORM\InverseJoinColumn(name: 'tag_id', referencedColumnName: 'id')]
  285. private Collection $tags;
  286. /** @var Collection<int, NetworkOrganization> */
  287. #[ORM\OneToMany(targetEntity: NetworkOrganization::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  288. protected Collection $network;
  289. /** @var Collection<int, NetworkOrganization> */
  290. #[ORM\OneToMany(targetEntity: NetworkOrganization::class, mappedBy: 'parent', cascade: ['persist'], orphanRemoval: true)]
  291. protected Collection $networkChild;
  292. #[ORM\OneToOne(targetEntity: BillingExportSetting::class, mappedBy: 'organization', cascade: ['persist'])]
  293. protected ?BillingExportSetting $billingExportSetting;
  294. /** @var Collection<int, Access> */
  295. #[ORM\OneToMany(targetEntity: Access::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  296. protected Collection $access;
  297. /** @var Collection<int, AbstractMessage> */
  298. #[ORM\OneToMany(targetEntity: AbstractMessage::class, mappedBy: 'organization', cascade: [], orphanRemoval: true)]
  299. protected Collection $messages;
  300. #[ORM\OneToOne(targetEntity: OnlineRegistrationSettings::class, mappedBy: 'organization', cascade: ['persist'])]
  301. protected ?OnlineRegistrationSettings $onlineRegistrationSettings;
  302. /** @var Collection<int, CotisationByYear> */
  303. #[ORM\OneToMany(targetEntity: CotisationByYear::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  304. protected Collection $cotisationByYears;
  305. /** @var Collection<int, AttendanceBookingReason> */
  306. #[ORM\OneToMany(targetEntity: AttendanceBookingReason::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  307. protected Collection $attendanceBookingReasons;
  308. /** @var Collection<int, Cycle> */
  309. #[ORM\OneToMany(targetEntity: Cycle::class, mappedBy: 'organization', cascade: [], orphanRemoval: true)]
  310. protected Collection $educationCurriculumPacks;
  311. /** @var Collection<int, FamilyQuotientModel> */
  312. #[ORM\OneToMany(targetEntity: FamilyQuotientModel::class, mappedBy: 'organization', cascade: [], orphanRemoval: true)]
  313. protected Collection $familyQuotientModels;
  314. /** @var Collection<int, BillSchedule> */
  315. #[ORM\OneToMany(targetEntity: BillSchedule::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  316. protected Collection $billSchedules;
  317. /** @var Collection<int, AbstractReport> */
  318. #[ORM\OneToMany(targetEntity: AbstractReport::class, mappedBy: 'organization', cascade: ['persist'], orphanRemoval: true)]
  319. private Collection $reports;
  320. #[Pure]
  321. public function __construct()
  322. {
  323. $this->accesses = new ArrayCollection();
  324. $this->networkOrganizations = new ArrayCollection();
  325. $this->networkOrganizationChildren = new ArrayCollection();
  326. $this->typeOfPractices = new ArrayCollection();
  327. $this->contactPoints = new ArrayCollection();
  328. $this->bankAccounts = new ArrayCollection();
  329. $this->organizationAddressPostals = new ArrayCollection();
  330. $this->organizationLicences = new ArrayCollection();
  331. $this->organizationArticles = new ArrayCollection();
  332. $this->cycles = new ArrayCollection();
  333. $this->educationTimings = new ArrayCollection();
  334. $this->educationNotationConfigs = new ArrayCollection();
  335. $this->subdomains = new ArrayCollection();
  336. $this->holidays = new ArrayCollection();
  337. $this->courses = new ArrayCollection();
  338. $this->educationalProjects = new ArrayCollection();
  339. $this->events = new ArrayCollection();
  340. $this->examens = new ArrayCollection();
  341. $this->critereNotations = new ArrayCollection();
  342. $this->educationCategories = new ArrayCollection();
  343. $this->periodNotations = new ArrayCollection();
  344. $this->files = new ArrayCollection();
  345. $this->notifications = new ArrayCollection();
  346. $this->emails = new ArrayCollection();
  347. $this->mails = new ArrayCollection();
  348. $this->sms = new ArrayCollection();
  349. $this->activities = new ArrayCollection();
  350. $this->juries = new ArrayCollection();
  351. $this->commissions = new ArrayCollection();
  352. $this->places = new ArrayCollection();
  353. $this->attendances = new ArrayCollection();
  354. $this->equipments = new ArrayCollection();
  355. $this->intangibles = new ArrayCollection();
  356. $this->donors = new ArrayCollection();
  357. $this->tags = new ArrayCollection();
  358. $this->rewards = new ArrayCollection();
  359. $this->network = new ArrayCollection();
  360. $this->networkChild = new ArrayCollection();
  361. $this->access = new ArrayCollection();
  362. $this->messages = new ArrayCollection();
  363. $this->cotisationByYears = new ArrayCollection();
  364. $this->attendanceBookingReasons = new ArrayCollection();
  365. $this->educationCurriculumPacks = new ArrayCollection();
  366. $this->familyQuotientModels = new ArrayCollection();
  367. $this->billSchedules = new ArrayCollection();
  368. }
  369. public function getId(): ?int
  370. {
  371. return $this->id;
  372. }
  373. public function getName(): string
  374. {
  375. return $this->name;
  376. }
  377. public function setName(string $name): self
  378. {
  379. $this->name = $name;
  380. return $this;
  381. }
  382. public function getIdentifier(): string
  383. {
  384. return $this->identifier;
  385. }
  386. public function setIdentifier(string $identifier): self
  387. {
  388. $this->identifier = $identifier;
  389. return $this;
  390. }
  391. public function getLegalStatus(): ?LegalEnum
  392. {
  393. return $this->legalStatus;
  394. }
  395. public function setLegalStatus(?LegalEnum $legalStatus): self
  396. {
  397. $this->legalStatus = $legalStatus;
  398. return $this;
  399. }
  400. public function getPrincipalType(): ?PrincipalTypeEnum
  401. {
  402. return $this->principalType;
  403. }
  404. public function setPrincipalType(?PrincipalTypeEnum $principalType): self
  405. {
  406. $this->principalType = $principalType;
  407. return $this;
  408. }
  409. public function getSettings(): Settings
  410. {
  411. return $this->settings;
  412. }
  413. public function setSettings(Settings $settings): self
  414. {
  415. // set the owning side of the relation if necessary
  416. if ($settings->getOrganization() !== $this) {
  417. $settings->setOrganization($this);
  418. }
  419. $this->settings = $settings;
  420. return $this;
  421. }
  422. public function getAccesses(): Collection
  423. {
  424. return $this->accesses;
  425. }
  426. public function addAccess(Access $access): self
  427. {
  428. if (!$this->access->contains($access)) {
  429. $this->access[] = $access;
  430. $access->setOrganization($this);
  431. }
  432. return $this;
  433. }
  434. public function removeAccess(Access $access): self
  435. {
  436. if ($this->access->removeElement($access)) {
  437. $access->setOrganization(null);
  438. }
  439. return $this;
  440. }
  441. public function getNetworkOrganizations(): Collection
  442. {
  443. return $this->networkOrganizations;
  444. }
  445. public function addNetworkOrganization(NetworkOrganization $networkOrganization): self
  446. {
  447. if (!$this->networkOrganizations->contains($networkOrganization)) {
  448. $this->networkOrganizations[] = $networkOrganization;
  449. $networkOrganization->setOrganization($this);
  450. }
  451. return $this;
  452. }
  453. public function removeNetworkOrganization(NetworkOrganization $networkOrganization): self
  454. {
  455. if ($this->networkOrganizations->removeElement($networkOrganization)) {
  456. // set the owning side to null (unless already changed)
  457. if ($networkOrganization->getOrganization() === $this) {
  458. $networkOrganization->setOrganization(null);
  459. }
  460. }
  461. return $this;
  462. }
  463. public function getNetworkOrganizationChildren(): Collection
  464. {
  465. return $this->networkOrganizationChildren;
  466. }
  467. public function addNetworkOrganizationChild(NetworkOrganization $networkOrganizationChild): self
  468. {
  469. if (!$this->networkOrganizationChildren->contains($networkOrganizationChild)) {
  470. $this->networkOrganizationChildren[] = $networkOrganizationChild;
  471. $networkOrganizationChild->setParent($this);
  472. }
  473. return $this;
  474. }
  475. public function removeNetworkOrganizationChild(NetworkOrganization $networkOrganizationChild): self
  476. {
  477. if ($this->networkOrganizationChildren->removeElement($networkOrganizationChild)) {
  478. // set the owning side to null (unless already changed)
  479. if ($networkOrganizationChild->getParent() === $this) {
  480. $networkOrganizationChild->setParent(null);
  481. }
  482. }
  483. return $this;
  484. }
  485. public function getParameters(): Parameters
  486. {
  487. return $this->parameters;
  488. }
  489. public function setParameters(Parameters $parameters): self
  490. {
  491. $this->parameters = $parameters;
  492. return $this;
  493. }
  494. public function getLogo(): ?File
  495. {
  496. return $this->logo;
  497. }
  498. public function setLogo(?File $logo): void
  499. {
  500. $this->logo = $logo;
  501. }
  502. public function getBillingSetting(): BillingSetting
  503. {
  504. return $this->billingSetting;
  505. }
  506. public function setBillingSetting(BillingSetting $billingSetting): self
  507. {
  508. $this->billingSetting = $billingSetting;
  509. return $this;
  510. }
  511. public function getDescription(): ?string
  512. {
  513. return $this->description;
  514. }
  515. public function setDescription(?string $description): self
  516. {
  517. $this->description = $description;
  518. return $this;
  519. }
  520. public function getCreationDate(): ?\DateTimeInterface
  521. {
  522. return $this->creationDate;
  523. }
  524. public function setCreationDate(?\DateTimeInterface $creationDate): self
  525. {
  526. $this->creationDate = $creationDate;
  527. return $this;
  528. }
  529. public function getDeclarationDate(): ?\DateTimeInterface
  530. {
  531. return $this->declarationDate;
  532. }
  533. public function setDeclarationDate(?\DateTimeInterface $declarationDate): self
  534. {
  535. $this->declarationDate = $declarationDate;
  536. return $this;
  537. }
  538. public function getSiretNumber(): ?string
  539. {
  540. return $this->siretNumber;
  541. }
  542. public function setSiretNumber(?string $siretNumber): self
  543. {
  544. $this->siretNumber = $siretNumber;
  545. return $this;
  546. }
  547. public function getWaldecNumber(): ?string
  548. {
  549. return $this->waldecNumber;
  550. }
  551. public function setWaldecNumber(?string $waldecNumber): self
  552. {
  553. $this->waldecNumber = $waldecNumber;
  554. return $this;
  555. }
  556. public function getVolumeAndFolioNumber(): ?string
  557. {
  558. return $this->volumeAndFolioNumber;
  559. }
  560. public function setVolumeAndFolioNumber(?string $volumeAndFolioNumber): self
  561. {
  562. $this->volumeAndFolioNumber = $volumeAndFolioNumber;
  563. return $this;
  564. }
  565. public function getApeNumber(): ?string
  566. {
  567. return $this->apeNumber;
  568. }
  569. public function setApeNumber(?string $apeNumber): self
  570. {
  571. $this->apeNumber = $apeNumber;
  572. return $this;
  573. }
  574. public function getTvaNumber(): ?string
  575. {
  576. return $this->tvaNumber;
  577. }
  578. public function setTvaNumber(?string $tvaNumber): self
  579. {
  580. $this->tvaNumber = $tvaNumber;
  581. return $this;
  582. }
  583. public function getOtherType(): ?string
  584. {
  585. return $this->otherType;
  586. }
  587. public function setOtherType(?string $otherType): self
  588. {
  589. $this->otherType = $otherType;
  590. return $this;
  591. }
  592. public function getAcronym(): ?string
  593. {
  594. return $this->acronym;
  595. }
  596. public function setAcronym(?string $acronym): self
  597. {
  598. $this->acronym = $acronym;
  599. return $this;
  600. }
  601. public function getFacebook(): ?string
  602. {
  603. return $this->facebook;
  604. }
  605. public function setFacebook(?string $facebook): self
  606. {
  607. $this->facebook = $facebook;
  608. return $this;
  609. }
  610. public function getTwitter(): ?string
  611. {
  612. return $this->twitter;
  613. }
  614. public function setTwitter(?string $twitter): self
  615. {
  616. $this->twitter = $twitter;
  617. return $this;
  618. }
  619. public function getYoutube(): ?string
  620. {
  621. return $this->youtube;
  622. }
  623. public function setYoutube(?string $youtube): self
  624. {
  625. $this->youtube = $youtube;
  626. return $this;
  627. }
  628. public function getInstagram(): ?string
  629. {
  630. return $this->instagram;
  631. }
  632. public function setInstagram(?string $instagram): self
  633. {
  634. $this->instagram = $instagram;
  635. return $this;
  636. }
  637. public function getCollectiveAgreement(): ?string
  638. {
  639. return $this->collectiveAgreement;
  640. }
  641. public function setCollectiveAgreement(?string $collectiveAgreement): self
  642. {
  643. $this->collectiveAgreement = $collectiveAgreement;
  644. return $this;
  645. }
  646. public function getOpca(): ?OpcaEnum
  647. {
  648. return $this->opca;
  649. }
  650. public function setOpca(?OpcaEnum $opca): self
  651. {
  652. $this->opca = $opca;
  653. return $this;
  654. }
  655. public function getIcomNumber(): ?string
  656. {
  657. return $this->icomNumber;
  658. }
  659. public function setIcomNumber(?string $icomNumber): self
  660. {
  661. $this->icomNumber = $icomNumber;
  662. return $this;
  663. }
  664. public function getUrssafNumber(): ?string
  665. {
  666. return $this->urssafNumber;
  667. }
  668. public function setUrssafNumber(?string $urssafNumber): self
  669. {
  670. $this->urssafNumber = $urssafNumber;
  671. return $this;
  672. }
  673. public function getYoungApproval(): ?string
  674. {
  675. return $this->youngApproval;
  676. }
  677. public function setYoungApproval(?string $youngApproval): self
  678. {
  679. $this->youngApproval = $youngApproval;
  680. return $this;
  681. }
  682. public function getTrainingApproval(): ?string
  683. {
  684. return $this->trainingApproval;
  685. }
  686. public function setTrainingApproval(?string $trainingApproval): self
  687. {
  688. $this->trainingApproval = $trainingApproval;
  689. return $this;
  690. }
  691. public function getOtherApproval(): ?string
  692. {
  693. return $this->otherApproval;
  694. }
  695. public function setOtherApproval(?string $otherApproval): self
  696. {
  697. $this->otherApproval = $otherApproval;
  698. return $this;
  699. }
  700. public function getPrefectureName(): ?string
  701. {
  702. return $this->prefectureName;
  703. }
  704. public function setPrefectureName(?string $prefectureName): self
  705. {
  706. $this->prefectureName = $prefectureName;
  707. return $this;
  708. }
  709. public function getPrefectureNumber(): ?string
  710. {
  711. return $this->prefectureNumber;
  712. }
  713. public function setPrefectureNumber(?string $prefectureNumber): self
  714. {
  715. $this->prefectureNumber = $prefectureNumber;
  716. return $this;
  717. }
  718. public function getCategory(): ?CategoryEnum
  719. {
  720. return $this->category;
  721. }
  722. public function setCategory(?CategoryEnum $category): self
  723. {
  724. $this->category = $category;
  725. return $this;
  726. }
  727. public function getSchoolCategory(): ?SchoolCategoryEnum
  728. {
  729. return $this->schoolCategory;
  730. }
  731. public function setSchoolCategory(?SchoolCategoryEnum $schoolCategory): self
  732. {
  733. $this->schoolCategory = $schoolCategory;
  734. return $this;
  735. }
  736. public function getTypeEstablishment(): ?TypeEstablishmentEnum
  737. {
  738. return $this->typeEstablishment;
  739. }
  740. public function setTypeEstablishment(?TypeEstablishmentEnum $typeEstablishment): self
  741. {
  742. $this->typeEstablishment = $typeEstablishment;
  743. return $this;
  744. }
  745. public function getTypeEstablishmentDetail(): ?TypeEstablishmentDetailEnum
  746. {
  747. return $this->typeEstablishmentDetail;
  748. }
  749. public function setTypeEstablishmentDetail(?TypeEstablishmentDetailEnum $typeEstablishmentDetail): self
  750. {
  751. $this->typeEstablishmentDetail = $typeEstablishmentDetail;
  752. return $this;
  753. }
  754. public function getBudget(): ?float
  755. {
  756. return $this->budget;
  757. }
  758. public function setBudget(?float $budget): self
  759. {
  760. $this->budget = $budget;
  761. return $this;
  762. }
  763. public function getIsPedagogicIsPrincipalActivity(): ?bool
  764. {
  765. return $this->isPedagogicIsPrincipalActivity;
  766. }
  767. public function setIsPedagogicIsPrincipalActivity(?bool $isPedagogicIsPrincipalActivity): self
  768. {
  769. $this->isPedagogicIsPrincipalActivity = $isPedagogicIsPrincipalActivity;
  770. return $this;
  771. }
  772. public function getPedagogicBudget(): ?float
  773. {
  774. return $this->pedagogicBudget;
  775. }
  776. public function setPedagogicBudget(?float $pedagogicBudget): self
  777. {
  778. $this->pedagogicBudget = $pedagogicBudget;
  779. return $this;
  780. }
  781. public function getIsPerformanceContractor(): ?bool
  782. {
  783. return $this->isPerformanceContractor;
  784. }
  785. public function setIsPerformanceContractor(?bool $isPerformanceContractor): self
  786. {
  787. $this->isPerformanceContractor = $isPerformanceContractor;
  788. return $this;
  789. }
  790. public function getFfecApproval(): ?string
  791. {
  792. return $this->ffecApproval;
  793. }
  794. public function setFfecApproval(?string $ffecApproval): self
  795. {
  796. $this->ffecApproval = $ffecApproval;
  797. return $this;
  798. }
  799. public function getPortailVisibility(): bool
  800. {
  801. return $this->portailVisibility;
  802. }
  803. public function setPortailVisibility(bool $portailVisibility): self
  804. {
  805. $this->portailVisibility = $portailVisibility;
  806. return $this;
  807. }
  808. public function getCmsId(): ?int
  809. {
  810. return $this->cmsId;
  811. }
  812. public function setCmsId(?int $cmsId): self
  813. {
  814. $this->cmsId = $cmsId;
  815. return $this;
  816. }
  817. public function setImage(?File $image): self
  818. {
  819. $this->image = $image;
  820. return $this;
  821. }
  822. public function getImage(): ?File
  823. {
  824. return $this->image;
  825. }
  826. public function getTypeOfPractices(): Collection
  827. {
  828. return $this->typeOfPractices;
  829. }
  830. public function addTypeOfPractice(TypeOfPractice $typeOfPractice): self
  831. {
  832. if (!$this->typeOfPractices->contains($typeOfPractice)) {
  833. $this->typeOfPractices[] = $typeOfPractice;
  834. $typeOfPractice->addOrganization($this);
  835. }
  836. return $this;
  837. }
  838. public function removeTypeOfPractice(TypeOfPractice $typeOfPractice): self
  839. {
  840. if ($this->typeOfPractices->removeElement($typeOfPractice)) {
  841. $typeOfPractice->removeOrganization($this);
  842. }
  843. return $this;
  844. }
  845. public function getOtherPractice(): ?string
  846. {
  847. return $this->otherPractice;
  848. }
  849. public function setOtherPractice(?string $otherPractice): self
  850. {
  851. $this->otherPractice = $otherPractice;
  852. return $this;
  853. }
  854. public function getContactPoints(): Collection
  855. {
  856. return $this->contactPoints;
  857. }
  858. public function addContactPoint(ContactPoint $contactPoint): self
  859. {
  860. if (!$this->contactPoints->contains($contactPoint)) {
  861. $this->contactPoints[] = $contactPoint;
  862. $contactPoint->addOrganization($this);
  863. }
  864. return $this;
  865. }
  866. public function removeContactPoint(ContactPoint $contactPoint): self
  867. {
  868. if ($this->contactPoints->removeElement($contactPoint)) {
  869. $contactPoint->removeOrganization($this);
  870. }
  871. return $this;
  872. }
  873. public function getBankAccounts(): Collection
  874. {
  875. return $this->bankAccounts;
  876. }
  877. public function addBankAccount(BankAccount $bankAccount): self
  878. {
  879. if (!$this->bankAccounts->contains($bankAccount)) {
  880. $this->bankAccounts[] = $bankAccount;
  881. $bankAccount->addOrganization($this);
  882. }
  883. return $this;
  884. }
  885. public function removeBankAccount(BankAccount $bankAccount): self
  886. {
  887. if ($this->bankAccounts->removeElement($bankAccount)) {
  888. $bankAccount->removeOrganization($this);
  889. }
  890. return $this;
  891. }
  892. public function getOrganizationAddressPostals(): Collection
  893. {
  894. return $this->organizationAddressPostals;
  895. }
  896. public function addOrganizationAddressPostal(OrganizationAddressPostal $organizationAddressPostal): self
  897. {
  898. if (!$this->organizationAddressPostals->contains($organizationAddressPostal)) {
  899. $this->organizationAddressPostals[] = $organizationAddressPostal;
  900. $organizationAddressPostal->setOrganization($this);
  901. }
  902. return $this;
  903. }
  904. public function removeOrganizationAddressPostal(OrganizationAddressPostal $organizationAddressPostal): self
  905. {
  906. if ($this->organizationAddressPostals->removeElement($organizationAddressPostal)) {
  907. // set the owning side to null (unless already changed)
  908. if ($organizationAddressPostal->getOrganization() === $this) {
  909. $organizationAddressPostal->setOrganization(null);
  910. }
  911. }
  912. return $this;
  913. }
  914. public function getOrganizationLicences(): Collection
  915. {
  916. return $this->organizationLicences;
  917. }
  918. public function addOrganizationLicence(OrganizationLicence $organizationLicence): self
  919. {
  920. if (!$this->organizationLicences->contains($organizationLicence)) {
  921. $this->organizationLicences[] = $organizationLicence;
  922. $organizationLicence->setOrganization($this);
  923. }
  924. return $this;
  925. }
  926. public function removeOrganizationLicence(OrganizationLicence $organizationLicence): self
  927. {
  928. if ($this->organizationLicences->removeElement($organizationLicence)) {
  929. // set the owning side to null (unless already changed)
  930. if ($organizationLicence->getOrganization() === $this) {
  931. $organizationLicence->setOrganization(null);
  932. }
  933. }
  934. return $this;
  935. }
  936. public function getOrganizationArticles(): Collection
  937. {
  938. return $this->organizationArticles;
  939. }
  940. public function addOrganizationArticle(OrganizationArticle $organizationArticle): self
  941. {
  942. if (!$this->organizationArticles->contains($organizationArticle)) {
  943. $this->organizationArticles[] = $organizationArticle;
  944. $organizationArticle->setOrganization($this);
  945. }
  946. return $this;
  947. }
  948. public function removeOrganizationArticle(OrganizationArticle $organizationArticle): self
  949. {
  950. if ($this->organizationArticles->removeElement($organizationArticle)) {
  951. // set the owning side to null (unless already changed)
  952. if ($organizationArticle->getOrganization() === $this) {
  953. $organizationArticle->setOrganization(null);
  954. }
  955. }
  956. return $this;
  957. }
  958. public function addCycle(Cycle $cycle): self
  959. {
  960. if (!$this->cycles->contains($cycle)) {
  961. $this->cycles[] = $cycle;
  962. $cycle->setOrganization($this);
  963. }
  964. return $this;
  965. }
  966. public function removeCycle(Cycle $cycle): self
  967. {
  968. if ($this->cycles->removeElement($cycle)) {
  969. // set the owning side to null (unless already changed)
  970. if ($cycle->getOrganization() === $this) {
  971. $cycle->setOrganization(null);
  972. }
  973. }
  974. return $this;
  975. }
  976. public function getCycles(): Collection
  977. {
  978. return $this->cycles;
  979. }
  980. public function addEducationNotationConfig(EducationNotationConfig $educationNotationConfig): self
  981. {
  982. if (!$this->educationNotationConfigs->contains($educationNotationConfig)) {
  983. $this->educationNotationConfigs[] = $educationNotationConfig;
  984. $educationNotationConfig->setOrganization($this);
  985. }
  986. return $this;
  987. }
  988. public function removeEducationNotationConfig(EducationNotationConfig $educationNotationConfig): self
  989. {
  990. if ($this->educationNotationConfigs->removeElement($educationNotationConfig)) {
  991. // set the owning side to null (unless already changed)
  992. if ($educationNotationConfig->getOrganization() === $this) {
  993. $educationNotationConfig->setOrganization(null);
  994. }
  995. }
  996. return $this;
  997. }
  998. public function getEducationNotationConfigs(): Collection
  999. {
  1000. return $this->educationNotationConfigs;
  1001. }
  1002. public function addEducationTiming(EducationTiming $educationTiming): self
  1003. {
  1004. if (!$this->educationTimings->contains($educationTiming)) {
  1005. $this->educationTimings[] = $educationTiming;
  1006. $educationTiming->setOrganization($this);
  1007. }
  1008. return $this;
  1009. }
  1010. public function removeEducationTiming(EducationTiming $educationTiming): self
  1011. {
  1012. if ($this->educationTimings->removeElement($educationTiming)) {
  1013. // set the owning side to null (unless already changed)
  1014. if ($educationTiming->getOrganization() === $this) {
  1015. $educationTiming->setOrganization(null);
  1016. }
  1017. }
  1018. return $this;
  1019. }
  1020. public function getEducationTimings(): Collection
  1021. {
  1022. return $this->educationTimings;
  1023. }
  1024. public function getSubdomains(): Collection
  1025. {
  1026. return $this->subdomains;
  1027. }
  1028. public function addSubdomain(Subdomain $subdomain): self
  1029. {
  1030. if (!$this->subdomains->contains($subdomain)) {
  1031. $this->subdomains[] = $subdomain;
  1032. $subdomain->setOrganization($this);
  1033. }
  1034. return $this;
  1035. }
  1036. public function getContactPerson(): ?Access
  1037. {
  1038. return $this->contactPerson;
  1039. }
  1040. public function setContactPerson(?Access $contactPerson): self
  1041. {
  1042. $this->contactPerson = $contactPerson;
  1043. return $this;
  1044. }
  1045. /**
  1046. * @return Collection<int, OrganizationHoliday>
  1047. */
  1048. public function getHolidays(): Collection
  1049. {
  1050. return $this->holidays;
  1051. }
  1052. public function addHoliday(OrganizationHoliday $holiday): self
  1053. {
  1054. if (!$this->holidays->contains($holiday)) {
  1055. $this->holidays[] = $holiday;
  1056. $holiday->setOrganization($this);
  1057. }
  1058. return $this;
  1059. }
  1060. public function removeHoliday(OrganizationHoliday $holiday): self
  1061. {
  1062. if ($this->holidays->removeElement($holiday)) {
  1063. // set the owning side to null (unless already changed)
  1064. if ($holiday->getOrganization() === $this) {
  1065. $holiday->setOrganization(null);
  1066. }
  1067. }
  1068. return $this;
  1069. }
  1070. /**
  1071. * @return Collection<int, Course>
  1072. */
  1073. public function getCourses(): Collection
  1074. {
  1075. return $this->courses;
  1076. }
  1077. public function addCourse(Course $course): self
  1078. {
  1079. if (!$this->courses->contains($course)) {
  1080. $this->courses[] = $course;
  1081. $course->setOrganization($this);
  1082. }
  1083. return $this;
  1084. }
  1085. public function removeCourse(Course $course): self
  1086. {
  1087. if ($this->courses->removeElement($course)) {
  1088. // set the owning side to null (unless already changed)
  1089. if ($course->getOrganization() === $this) {
  1090. $course->setOrganization(null);
  1091. }
  1092. }
  1093. return $this;
  1094. }
  1095. /**
  1096. * @return Collection<int, EducationalProject>
  1097. */
  1098. public function getEducationalProjects(): Collection
  1099. {
  1100. return $this->educationalProjects;
  1101. }
  1102. public function addEducationalProject(EducationalProject $educationalProject): self
  1103. {
  1104. if (!$this->educationalProjects->contains($educationalProject)) {
  1105. $this->educationalProjects[] = $educationalProject;
  1106. $educationalProject->setOrganization($this);
  1107. }
  1108. return $this;
  1109. }
  1110. public function removeEducationalProject(EducationalProject $educationalProject): self
  1111. {
  1112. if ($this->educationalProjects->removeElement($educationalProject)) {
  1113. // set the owning side to null (unless already changed)
  1114. if ($educationalProject->getOrganization() === $this) {
  1115. $educationalProject->setOrganization(null);
  1116. }
  1117. }
  1118. return $this;
  1119. }
  1120. /**
  1121. * @return Collection<int, Event>
  1122. */
  1123. public function getEvents(): Collection
  1124. {
  1125. return $this->events;
  1126. }
  1127. public function addEvent(Event $event): self
  1128. {
  1129. if (!$this->events->contains($event)) {
  1130. $this->events[] = $event;
  1131. $event->setOrganization($this);
  1132. }
  1133. return $this;
  1134. }
  1135. public function removeEvent(Event $event): self
  1136. {
  1137. if ($this->events->removeElement($event)) {
  1138. // set the owning side to null (unless already changed)
  1139. if ($event->getOrganization() === $this) {
  1140. $event->setOrganization(null);
  1141. }
  1142. }
  1143. return $this;
  1144. }
  1145. /**
  1146. * @return Collection<int, Examen>
  1147. */
  1148. public function getExamens(): Collection
  1149. {
  1150. return $this->examens;
  1151. }
  1152. public function addExamen(Examen $examen): self
  1153. {
  1154. if (!$this->examens->contains($examen)) {
  1155. $this->examens[] = $examen;
  1156. $examen->setOrganization($this);
  1157. }
  1158. return $this;
  1159. }
  1160. public function removeExamen(Examen $examen): self
  1161. {
  1162. if ($this->examens->removeElement($examen)) {
  1163. // set the owning side to null (unless already changed)
  1164. if ($examen->getOrganization() === $this) {
  1165. $examen->setOrganization(null);
  1166. }
  1167. }
  1168. return $this;
  1169. }
  1170. /**
  1171. * @return Collection<int, CriteriaNotation>
  1172. */
  1173. public function getCritereNotations(): Collection
  1174. {
  1175. return $this->critereNotations;
  1176. }
  1177. public function addCritereNotation(CriteriaNotation $critereNotation): self
  1178. {
  1179. if (!$this->critereNotations->contains($critereNotation)) {
  1180. $this->critereNotations[] = $critereNotation;
  1181. $critereNotation->setOrganization($this);
  1182. }
  1183. return $this;
  1184. }
  1185. public function removeCritereNotation(CriteriaNotation $critereNotation): self
  1186. {
  1187. if ($this->critereNotations->removeElement($critereNotation)) {
  1188. // set the owning side to null (unless already changed)
  1189. if ($critereNotation->getOrganization() === $this) {
  1190. $critereNotation->setOrganization(null);
  1191. }
  1192. }
  1193. return $this;
  1194. }
  1195. /**
  1196. * @return Collection<int, EducationCategory>
  1197. */
  1198. public function getEducationCategories(): Collection
  1199. {
  1200. return $this->educationCategories;
  1201. }
  1202. public function addEducationCategory(EducationCategory $educationCategory): self
  1203. {
  1204. if (!$this->educationCategories->contains($educationCategory)) {
  1205. $this->educationCategories[] = $educationCategory;
  1206. $educationCategory->setOrganization($this);
  1207. }
  1208. return $this;
  1209. }
  1210. public function removeEducationCategory(EducationCategory $educationCategory): self
  1211. {
  1212. if ($this->educationCategories->removeElement($educationCategory)) {
  1213. // set the owning side to null (unless already changed)
  1214. if ($educationCategory->getOrganization() === $this) {
  1215. $educationCategory->setOrganization(null);
  1216. }
  1217. }
  1218. return $this;
  1219. }
  1220. /**
  1221. * @return Collection<int, PeriodNotation>
  1222. */
  1223. public function getPeriodNotations(): Collection
  1224. {
  1225. return $this->periodNotations;
  1226. }
  1227. public function addPeriodNotation(PeriodNotation $periodNotation): self
  1228. {
  1229. if (!$this->periodNotations->contains($periodNotation)) {
  1230. $this->periodNotations[] = $periodNotation;
  1231. $periodNotation->setOrganization($this);
  1232. }
  1233. return $this;
  1234. }
  1235. public function removePeriodNotation(PeriodNotation $periodNotation): self
  1236. {
  1237. if ($this->periodNotations->removeElement($periodNotation)) {
  1238. // set the owning side to null (unless already changed)
  1239. if ($periodNotation->getOrganization() === $this) {
  1240. $periodNotation->setOrganization(null);
  1241. }
  1242. }
  1243. return $this;
  1244. }
  1245. /**
  1246. * @return Collection<int, File>
  1247. */
  1248. public function getFiles(): Collection
  1249. {
  1250. return $this->files;
  1251. }
  1252. public function addFile(File $file): self
  1253. {
  1254. if (!$this->files->contains($file)) {
  1255. $this->files[] = $file;
  1256. $file->setOrganization($this);
  1257. }
  1258. return $this;
  1259. }
  1260. public function removeFile(File $file): self
  1261. {
  1262. if ($this->files->removeElement($file)) {
  1263. // set the owning side to null (unless already changed)
  1264. if ($file->getOrganization() === $this) {
  1265. $file->setOrganization(null);
  1266. }
  1267. }
  1268. return $this;
  1269. }
  1270. /**
  1271. * @return Collection<int, Notification>
  1272. */
  1273. public function getNotifications(): Collection
  1274. {
  1275. return $this->notifications;
  1276. }
  1277. public function addNotification(Notification $notification): self
  1278. {
  1279. if (!$this->notifications->contains($notification)) {
  1280. $this->notifications[] = $notification;
  1281. $notification->setRecipientOrganization($this);
  1282. }
  1283. return $this;
  1284. }
  1285. public function removeNotification(Notification $notification): self
  1286. {
  1287. if ($this->notifications->removeElement($notification)) {
  1288. // set the owning side to null (unless already changed)
  1289. if ($notification->getRecipientOrganization() === $this) {
  1290. $notification->setRecipientOrganization(null);
  1291. }
  1292. }
  1293. return $this;
  1294. }
  1295. /**
  1296. * @return Collection<int, Email>
  1297. */
  1298. public function getEmails(): Collection
  1299. {
  1300. return $this->emails;
  1301. }
  1302. /**
  1303. * @return Collection<int, Mail>
  1304. */
  1305. public function getMails(): Collection
  1306. {
  1307. return $this->mails;
  1308. }
  1309. /**
  1310. * @return Collection<int, Sms>
  1311. */
  1312. public function getSms(): Collection
  1313. {
  1314. return $this->sms;
  1315. }
  1316. /**
  1317. * @return Collection<int, Activity>
  1318. */
  1319. public function getActivities(): Collection
  1320. {
  1321. return $this->activities;
  1322. }
  1323. public function addActivity(Activity $activity): self
  1324. {
  1325. if (!$this->activities->contains($activity)) {
  1326. $this->activities[] = $activity;
  1327. $activity->setOrganization($this);
  1328. }
  1329. return $this;
  1330. }
  1331. public function removeActivity(Activity $activity): self
  1332. {
  1333. if ($this->activities->removeElement($activity)) {
  1334. // set the owning side to null (unless already changed)
  1335. if ($activity->getOrganization() === $this) {
  1336. $activity->setOrganization(null);
  1337. }
  1338. }
  1339. return $this;
  1340. }
  1341. /**
  1342. * @return Collection<int, Jury>
  1343. */
  1344. public function getJuries(): Collection
  1345. {
  1346. return $this->juries;
  1347. }
  1348. public function addJury(Jury $jury): self
  1349. {
  1350. if (!$this->juries->contains($jury)) {
  1351. $this->juries[] = $jury;
  1352. $jury->setOrganization($this);
  1353. }
  1354. return $this;
  1355. }
  1356. public function removeJury(Jury $jury): self
  1357. {
  1358. if ($this->juries->removeElement($jury)) {
  1359. // set the owning side to null (unless already changed)
  1360. if ($jury->getOrganization() === $this) {
  1361. $jury->setOrganization(null);
  1362. }
  1363. }
  1364. return $this;
  1365. }
  1366. /**
  1367. * @return Collection<int, Commission>
  1368. */
  1369. public function getCommissions(): Collection
  1370. {
  1371. return $this->commissions;
  1372. }
  1373. public function addCommission(Commission $commission): self
  1374. {
  1375. if (!$this->commissions->contains($commission)) {
  1376. $this->commissions[] = $commission;
  1377. $commission->setOrganization($this);
  1378. }
  1379. return $this;
  1380. }
  1381. public function removeCommission(Commission $commission): self
  1382. {
  1383. if ($this->commissions->removeElement($commission)) {
  1384. // set the owning side to null (unless already changed)
  1385. if ($commission->getOrganization() === $this) {
  1386. $commission->setOrganization(null);
  1387. }
  1388. }
  1389. return $this;
  1390. }
  1391. public function getPlaces(): Collection
  1392. {
  1393. return $this->places;
  1394. }
  1395. public function addPlace(Place $place): self
  1396. {
  1397. if (!$this->places->contains($place)) {
  1398. $this->places[] = $place;
  1399. $place->setOrganization($this);
  1400. }
  1401. return $this;
  1402. }
  1403. public function removePlace(Place $place): self
  1404. {
  1405. if ($this->places->removeElement($place)) {
  1406. // set the owning side to null (unless already changed)
  1407. if ($place->getOrganization() === $this) {
  1408. $place->setOrganization(null);
  1409. }
  1410. }
  1411. return $this;
  1412. }
  1413. /**
  1414. * @return Collection<int, Attendance>
  1415. */
  1416. public function getAttendances(): Collection
  1417. {
  1418. return $this->attendances;
  1419. }
  1420. public function addAttendance(Attendance $attendance): self
  1421. {
  1422. if (!$this->attendances->contains($attendance)) {
  1423. $this->attendances[] = $attendance;
  1424. $attendance->setOrganization($this);
  1425. }
  1426. return $this;
  1427. }
  1428. public function removeAttendance(Attendance $attendance): self
  1429. {
  1430. if ($this->attendances->removeElement($attendance)) {
  1431. // set the owning side to null (unless already changed)
  1432. if ($attendance->getOrganization() === $this) {
  1433. $attendance->setOrganization(null);
  1434. }
  1435. }
  1436. return $this;
  1437. }
  1438. /**
  1439. * @return Collection<int, Equipment>
  1440. */
  1441. public function getEquipments(): Collection
  1442. {
  1443. return $this->equipments;
  1444. }
  1445. public function addEquipment(Equipment $equipment): self
  1446. {
  1447. if (!$this->equipments->contains($equipment)) {
  1448. $this->equipments[] = $equipment;
  1449. $equipment->setOrganization($this);
  1450. }
  1451. return $this;
  1452. }
  1453. public function removeEquipment(Equipment $equipment): self
  1454. {
  1455. if ($this->equipments->removeElement($equipment)) {
  1456. // set the owning side to null (unless already changed)
  1457. if ($equipment->getOrganization() === $this) {
  1458. $equipment->setOrganization(null);
  1459. }
  1460. }
  1461. return $this;
  1462. }
  1463. /**
  1464. * @return Collection<int, Intangible>
  1465. */
  1466. public function getIntangibles(): Collection
  1467. {
  1468. return $this->intangibles;
  1469. }
  1470. public function addIntangible(Intangible $intangible): self
  1471. {
  1472. if (!$this->intangibles->contains($intangible)) {
  1473. $this->intangibles[] = $intangible;
  1474. $intangible->setOrganization($this);
  1475. }
  1476. return $this;
  1477. }
  1478. public function removeIntangible(Intangible $intangible): self
  1479. {
  1480. if ($this->intangibles->removeElement($intangible)) {
  1481. // set the owning side to null (unless already changed)
  1482. if ($intangible->getOrganization() === $this) {
  1483. $intangible->setOrganization(null);
  1484. }
  1485. }
  1486. return $this;
  1487. }
  1488. /**
  1489. * @return Collection<int, Donor>
  1490. */
  1491. public function getDonors(): Collection
  1492. {
  1493. return $this->donors;
  1494. }
  1495. public function addDonor(Donor $donor): self
  1496. {
  1497. if (!$this->donors->contains($donor)) {
  1498. $this->donors[] = $donor;
  1499. $donor->setOrganization($this);
  1500. }
  1501. return $this;
  1502. }
  1503. public function removeDonor(Donor $donor): self
  1504. {
  1505. if ($this->donors->removeElement($donor)) {
  1506. // set the owning side to null (unless already changed)
  1507. if ($donor->getOrganization() === $this) {
  1508. $donor->setOrganization(null);
  1509. }
  1510. }
  1511. return $this;
  1512. }
  1513. // public function getOnlineRegistrationSettings(): \App\Entity\Organization\OnlineRegistrationSettings
  1514. // {
  1515. // return $this->onlineRegistrationSettings;
  1516. // }
  1517. //
  1518. // public function setOnlineRegistrationSettings(\App\Entity\Organization\OnlineRegistrationSettings $onlineRegistrationSettings): void
  1519. // {
  1520. // $this->onlineRegistrationSettings = $onlineRegistrationSettings;
  1521. // }
  1522. /**
  1523. * @return Collection<int, Tagg>
  1524. */
  1525. public function getTags(): Collection
  1526. {
  1527. return $this->tags;
  1528. }
  1529. public function addTag(Tagg $tag): self
  1530. {
  1531. if (!$this->tags->contains($tag)) {
  1532. $this->tags[] = $tag;
  1533. }
  1534. return $this;
  1535. }
  1536. public function removeTag(Tagg $tag): self
  1537. {
  1538. $this->tags->removeElement($tag);
  1539. return $this;
  1540. }
  1541. public function getRewards(): Collection
  1542. {
  1543. return $this->rewards;
  1544. }
  1545. public function addReward(Reward $rewards): self
  1546. {
  1547. if (!$this->rewards->contains($rewards)) {
  1548. $this->rewards[] = $rewards;
  1549. $rewards->setOrganization($this);
  1550. }
  1551. return $this;
  1552. }
  1553. public function removeReward(Reward $rewards): self
  1554. {
  1555. if ($this->rewards->removeElement($rewards)) {
  1556. // set the owning side to null (unless already changed)
  1557. if ($rewards->getOrganization() === $this) {
  1558. $rewards->setOrganization(null);
  1559. }
  1560. }
  1561. return $this;
  1562. }
  1563. public function getNetwork(): Collection
  1564. {
  1565. return $this->network;
  1566. }
  1567. public function addNetwork(NetworkOrganization $network): self
  1568. {
  1569. if (!$this->network->contains($network)) {
  1570. $this->network[] = $network;
  1571. $network->setOrganization($this);
  1572. }
  1573. return $this;
  1574. }
  1575. public function removeNetwork(NetworkOrganization $network): self
  1576. {
  1577. if ($this->network->removeElement($network)) {
  1578. $network->setOrganization(null);
  1579. }
  1580. return $this;
  1581. }
  1582. public function getNetworkChild(): Collection
  1583. {
  1584. return $this->networkChild;
  1585. }
  1586. public function addNetworkChild(NetworkOrganization $networkChild): self
  1587. {
  1588. if (!$this->networkChild->contains($networkChild)) {
  1589. $this->networkChild[] = $networkChild;
  1590. $networkChild->setParent($this);
  1591. }
  1592. return $this;
  1593. }
  1594. public function removeNetworkChild(NetworkOrganization $networkChild): self
  1595. {
  1596. if ($this->networkChild->removeElement($networkChild)) {
  1597. $networkChild->setParent(null);
  1598. }
  1599. return $this;
  1600. }
  1601. public function getBillingExportSetting(): ?BillingExportSetting
  1602. {
  1603. return $this->billingExportSetting;
  1604. }
  1605. public function setBillingExportSetting(?BillingExportSetting $billingExportSetting): self
  1606. {
  1607. $this->billingExportSetting = $billingExportSetting;
  1608. return $this;
  1609. }
  1610. public function getMessages(): Collection
  1611. {
  1612. return $this->messages;
  1613. }
  1614. public function addMessage(mixed $message): self
  1615. {
  1616. if (!$this->messages->contains($message)) {
  1617. $this->messages[] = $message;
  1618. $message->setOrganization($this);
  1619. }
  1620. return $this;
  1621. }
  1622. public function removeMessage(mixed $message): self
  1623. {
  1624. if ($this->messages->removeElement($message)) {
  1625. $message->setOrganization(null);
  1626. }
  1627. return $this;
  1628. }
  1629. public function getOnlineRegistrationSettings(): ?OnlineRegistrationSettings
  1630. {
  1631. return $this->onlineRegistrationSettings;
  1632. }
  1633. public function setOnlineRegistrationSettings(?OnlineRegistrationSettings $onlineRegistrationSettings): self
  1634. {
  1635. $this->onlineRegistrationSettings = $onlineRegistrationSettings;
  1636. return $this;
  1637. }
  1638. public function getCotisationByYears(): Collection
  1639. {
  1640. return $this->cotisationByYears;
  1641. }
  1642. public function addCotisationByYear(CotisationByYear $cotisationByYear): self
  1643. {
  1644. if (!$this->cotisationByYears->contains($cotisationByYear)) {
  1645. $this->cotisationByYears[] = $cotisationByYear;
  1646. $cotisationByYear->setOrganization($this);
  1647. }
  1648. return $this;
  1649. }
  1650. public function removeCotisationByYear(CotisationByYear $cotisationByYear): self
  1651. {
  1652. if ($this->cotisationByYears->removeElement($cotisationByYear)) {
  1653. $cotisationByYear->setOrganization(null);
  1654. }
  1655. return $this;
  1656. }
  1657. public function getAttendanceBookingReasons(): Collection
  1658. {
  1659. return $this->attendanceBookingReasons;
  1660. }
  1661. public function addAttendanceBookingReason(AttendanceBookingReason $attendanceBookingReason): self
  1662. {
  1663. if (!$this->attendanceBookingReasons->contains($attendanceBookingReason)) {
  1664. $this->attendanceBookingReasons[] = $attendanceBookingReason;
  1665. $attendanceBookingReason->setOrganization($this);
  1666. }
  1667. return $this;
  1668. }
  1669. public function removeAttendanceBookingReason(AttendanceBookingReason $attendanceBookingReason): self
  1670. {
  1671. if ($this->attendanceBookingReasons->removeElement($attendanceBookingReason)) {
  1672. $attendanceBookingReason->setOrganization(null);
  1673. }
  1674. return $this;
  1675. }
  1676. public function getEducationCurriculumPacks(): Collection
  1677. {
  1678. return $this->educationCurriculumPacks;
  1679. }
  1680. public function addEducationCurriculumPack(Cycle $educationCurriculumPack): self
  1681. {
  1682. if (!$this->educationCurriculumPacks->contains($educationCurriculumPack)) {
  1683. $this->educationCurriculumPacks[] = $educationCurriculumPack;
  1684. $educationCurriculumPack->setOrganization($this);
  1685. }
  1686. return $this;
  1687. }
  1688. public function removeEducationCurriculumPack(Cycle $educationCurriculumPack): self
  1689. {
  1690. if ($this->educationCurriculumPacks->removeElement($educationCurriculumPack)) {
  1691. $educationCurriculumPack->setOrganization(null);
  1692. }
  1693. return $this;
  1694. }
  1695. public function getFamilyQuotientModels(): Collection
  1696. {
  1697. return $this->familyQuotientModels;
  1698. }
  1699. public function addFamilyQuotientModel(FamilyQuotientModel $familyQuotientModel): self
  1700. {
  1701. if (!$this->familyQuotientModels->contains($familyQuotientModel)) {
  1702. $this->familyQuotientModels[] = $familyQuotientModel;
  1703. $familyQuotientModel->setOrganization($this);
  1704. }
  1705. return $this;
  1706. }
  1707. public function removeFamilyQuotientModel(FamilyQuotientModel $familyQuotientModel): self
  1708. {
  1709. if ($this->familyQuotientModels->removeElement($familyQuotientModel)) {
  1710. // $familyQuotientModel->setOrganization(null); // TODO: actuellement, pas nullable: conserver?
  1711. }
  1712. return $this;
  1713. }
  1714. public function getBillSchedules(): Collection
  1715. {
  1716. return $this->billSchedules;
  1717. }
  1718. public function addBillSchedule(BillSchedule $billSchedule): self
  1719. {
  1720. if (!$this->billSchedules->contains($billSchedule)) {
  1721. $this->billSchedules[] = $billSchedule;
  1722. $billSchedule->setOrganization($this);
  1723. }
  1724. return $this;
  1725. }
  1726. public function removeBillSchedule(BillSchedule $billSchedule): self
  1727. {
  1728. if ($this->billSchedules->removeElement($billSchedule)) {
  1729. // $billSchedule->setOrganization(null); // TODO: actuellement, pas nullable: conserver?
  1730. }
  1731. return $this;
  1732. }
  1733. public function getReports(): Collection
  1734. {
  1735. return $this->reports;
  1736. }
  1737. public function addReport(AbstractReport $report): self
  1738. {
  1739. if (!$this->reports->contains($report)) {
  1740. $this->reports[] = $report;
  1741. $report->setOrganization($this);
  1742. }
  1743. return $this;
  1744. }
  1745. public function removeReport(AbstractReport $report): self
  1746. {
  1747. if ($this->reports->removeElement($report)) {
  1748. $report->setOrganization(null);
  1749. }
  1750. return $this;
  1751. }
  1752. }