OrganizationFixtures.php 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Tests\Fixture;
  3. use App\Entity\Core\ContactPoint;
  4. use App\Entity\Network\Network;
  5. use App\Entity\Network\NetworkOrganization;
  6. use App\Entity\Organization\Organization;
  7. use App\Entity\Organization\Parameters;
  8. use App\Enum\Core\ContactPointTypeEnum;
  9. use App\Enum\Organization\LegalEnum;
  10. use App\Enum\Organization\PrincipalTypeEnum;
  11. use Doctrine\Bundle\FixturesBundle\Fixture;
  12. use Doctrine\Persistence\ObjectManager;
  13. use Symfony\Component\Serializer\Context\SerializerContextBuilder;
  14. class OrganizationFixtures extends Fixture
  15. {
  16. public function load(ObjectManager $em): void
  17. {
  18. $network = new Network();
  19. $network->setName('NET');
  20. $em->persist($network);
  21. // Create the root organization (opentalent)
  22. $parameters0 = new Parameters();
  23. $em->persist($parameters0);
  24. $contactPoint0 = new ContactPoint();
  25. $contactPoint0->setContactType(ContactPointTypeEnum::PRINCIPAL()->getValue());
  26. $em->persist($contactPoint0);
  27. $root = new Organization();
  28. $root->setName('Root');
  29. $root->setLegalStatus(LegalEnum::COMMERCIAL_SOCIETY()->getValue());
  30. $root->setPrincipalType(PrincipalTypeEnum::NATIONAL_FEDERATION()->getValue());
  31. $root->setParameters($parameters0);
  32. $root->addContactPoint($contactPoint0);
  33. $em->persist($root);
  34. $networkOrganisation0 = new NetworkOrganization();
  35. $networkOrganisation0->setOrganization($root);
  36. $networkOrganisation0->setNetwork($network);
  37. $em->persist($networkOrganisation0);
  38. // Create a federation organization
  39. $parameters1 = new Parameters();
  40. $em->persist($parameters1);
  41. $contactPoint1 = new ContactPoint();
  42. $contactPoint1->setContactType(ContactPointTypeEnum::PRINCIPAL()->getValue());
  43. $em->persist($contactPoint1);
  44. $fede = new Organization();
  45. $fede->setName('Fede 1');
  46. $fede->setLegalStatus(LegalEnum::ASSOCIATION_LAW_1901()->getValue());
  47. $fede->setPrincipalType(PrincipalTypeEnum::NATIONAL_FEDERATION()->getValue());
  48. $fede->setParameters($parameters1);
  49. $fede->addContactPoint($contactPoint1);
  50. $em->persist($fede);
  51. $networkOrganisation1 = new NetworkOrganization();
  52. $networkOrganisation1->setOrganization($fede);
  53. $networkOrganisation1->setNetwork($network);
  54. $networkOrganisation1->setParent($root);
  55. $em->persist($networkOrganisation1);
  56. // Create a simple organization
  57. $parameters2 = new Parameters();
  58. $em->persist($parameters2);
  59. $contactPoint2 = new ContactPoint();
  60. $contactPoint2->setContactType(ContactPointTypeEnum::PRINCIPAL()->getValue());
  61. $em->persist($contactPoint2);
  62. $organization = new Organization();
  63. $organization->setName('Organization 2');
  64. $organization->setLegalStatus(LegalEnum::ASSOCIATION_LAW_1901()->getValue());
  65. $organization->setPrincipalType(PrincipalTypeEnum::ARTISTIC_EDUCATION_ONLY()->getValue());
  66. $organization->setParameters($parameters2);
  67. $organization->addContactPoint($contactPoint2);
  68. $em->persist($organization);
  69. $networkOrganisation2 = new NetworkOrganization();
  70. $networkOrganisation2->setOrganization($organization);
  71. $networkOrganisation2->setNetwork($network);
  72. $networkOrganisation2->setParent($fede);
  73. $em->persist($networkOrganisation2);
  74. $em->flush();
  75. }
  76. }