From 5fa52efe9f80e6e15089e5aba42d278c65a13f57 Mon Sep 17 00:00:00 2001 From: Arnaud Fornerot Date: Tue, 4 Oct 2022 09:47:41 +0200 Subject: [PATCH] fix(manager): add doctrine fixtures --- composer.json | 1 + composer.lock | 167 ++++++++++++++- config/bundles.php | 1 + src/Controller/UserController.php | 4 +- src/DataFixtures/AppFixtures.php | 334 ++++++++++++++++++++++++++++++ src/DataFixtures/niveau01.csv | 4 + src/DataFixtures/niveau02.csv | 7 + src/DataFixtures/niveau03.csv | 13 ++ src/DataFixtures/niveau04.csv | 25 +++ src/Entity/Niveau01.php | 16 +- src/Entity/Niveau02.php | 9 + src/Entity/Niveau03.php | 9 +- src/Entity/Niveau04.php | 8 +- symfony.lock | 12 ++ 14 files changed, 597 insertions(+), 13 deletions(-) create mode 100644 src/DataFixtures/AppFixtures.php create mode 100644 src/DataFixtures/niveau01.csv create mode 100644 src/DataFixtures/niveau02.csv create mode 100644 src/DataFixtures/niveau03.csv create mode 100644 src/DataFixtures/niveau04.csv diff --git a/composer.json b/composer.json index eb693eb..31054d3 100644 --- a/composer.json +++ b/composer.json @@ -121,6 +121,7 @@ } }, "require-dev": { + "doctrine/doctrine-fixtures-bundle": "^3.4", "phpunit/phpunit": "^9.5", "symfony/browser-kit": "6.1.*", "symfony/css-selector": "6.1.*", diff --git a/composer.lock b/composer.lock index 774621f..a103c5e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8d7631f5e9055ef66369d9d0ea7d116e", + "content-hash": "d3be737db4f7ce5089c83be63c8dbf09", "packages": [ { "name": "aws/aws-crt-php", @@ -10931,6 +10931,171 @@ } ], "packages-dev": [ + { + "name": "doctrine/data-fixtures", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/data-fixtures.git", + "reference": "ba37bfb776de763c5bf04a36d074cd5f5a083c42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/ba37bfb776de763c5bf04a36d074cd5f5a083c42", + "reference": "ba37bfb776de763c5bf04a36d074cd5f5a083c42", + "shasum": "" + }, + "require": { + "doctrine/common": "^2.13|^3.0", + "doctrine/persistence": "^1.3.3|^2.0|^3.0", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<2.13", + "doctrine/phpcr-odm": "<1.3.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "doctrine/dbal": "^2.13 || ^3.0", + "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", + "doctrine/orm": "^2.7.0", + "ext-sqlite3": "*", + "jangregor/phpstan-prophecy": "^1", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^8.5 || ^9.5", + "symfony/cache": "^5.0 || ^6.0", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)", + "doctrine/mongodb-odm": "For loading MongoDB ODM fixtures", + "doctrine/orm": "For loading ORM fixtures", + "doctrine/phpcr-odm": "For loading PHPCR ODM fixtures" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\DataFixtures\\": "lib/Doctrine/Common/DataFixtures" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Data Fixtures for all Doctrine Object Managers", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "database" + ], + "support": { + "issues": "https://github.com/doctrine/data-fixtures/issues", + "source": "https://github.com/doctrine/data-fixtures/tree/1.5.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdata-fixtures", + "type": "tidelift" + } + ], + "time": "2022-04-19T10:01:44+00:00" + }, + { + "name": "doctrine/doctrine-fixtures-bundle", + "version": "3.4.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", + "reference": "601988c5b46dbd20a0f886f967210aba378a6fd5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/601988c5b46dbd20a0f886f967210aba378a6fd5", + "reference": "601988c5b46dbd20a0f886f967210aba378a6fd5", + "shasum": "" + }, + "require": { + "doctrine/data-fixtures": "^1.3", + "doctrine/doctrine-bundle": "^1.11|^2.0", + "doctrine/orm": "^2.6.0", + "doctrine/persistence": "^1.3.7|^2.0|^3.0", + "php": "^7.1 || ^8.0", + "symfony/config": "^3.4|^4.3|^5.0|^6.0", + "symfony/console": "^3.4|^4.3|^5.0|^6.0", + "symfony/dependency-injection": "^3.4.47|^4.3|^5.0|^6.0", + "symfony/doctrine-bridge": "^3.4|^4.1|^5.0|^6.0", + "symfony/http-kernel": "^3.4|^4.3|^5.0|^6.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "^1.4.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "symfony/phpunit-bridge": "^6.0.8", + "vimeo/psalm": "^4.22" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\FixturesBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Doctrine Project", + "homepage": "https://www.doctrine-project.org" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DoctrineFixturesBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "Fixture", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues", + "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-fixtures-bundle", + "type": "tidelift" + } + ], + "time": "2022-04-28T17:58:29+00:00" + }, { "name": "masterminds/html5", "version": "2.7.6", diff --git a/config/bundles.php b/config/bundles.php index 4a87e7a..8287450 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -21,4 +21,5 @@ return [ FOS\RestBundle\FOSRestBundle::class => ['all' => true], Nelmio\ApiDocBundle\NelmioApiDocBundle::class => ['all' => true], Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], + Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true], ]; diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index cb975af..2c58c9f 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -72,7 +72,7 @@ class UserController extends AbstractController ->from("App\Entity\UserModo", 'usermodo') ->where('usermodo.niveau01 = entity.niveau01') ->andWhere('usermodo.user = :user') - ->where('entity.isactive = :isactive') + ->andwhere('entity.isactive = :isactive') ->setParameter('isactive', $isactive) ->setParameter('user', $this->getUser()) ->getQuery()->getSingleScalarResult(); @@ -89,7 +89,7 @@ class UserController extends AbstractController ->select('COUNT(entity)') ->from($this->entity, 'entity') ->where('entity.isvisible=true') - ->where('entity.isactive = :isactive') + ->andwhere('entity.isactive = :isactive') ->setParameter('isactive', $isactive); switch ($request->getSession()->get('scopeannu')) { diff --git a/src/DataFixtures/AppFixtures.php b/src/DataFixtures/AppFixtures.php new file mode 100644 index 0000000..2813cc6 --- /dev/null +++ b/src/DataFixtures/AppFixtures.php @@ -0,0 +1,334 @@ +kernel = $kernel; + $this->output = new ConsoleOutput(); + } + + public function load(ObjectManager $manager): void + { + // app:Init + $this->writeln("app:Init"); + $application = new Application($this->kernel); + $application->setAutoExit(false); + $input = new ArrayInput(['command' => 'app:Init']); + $boutput = new BufferedOutput(); + $application->run($input, $boutput); + $manager->flush(); + + // app:Synchro + $manager->clear(); + $this->writeln("app:Synchro"); + $input = new ArrayInput(['command' => 'app:Synchro']); + $boutput = new BufferedOutput(); + $application->run($input, $boutput); + + // Assign id + $metadata = $manager->getClassMetaData('App\Entity\Niveau01'); + $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); + $metadata->setIdGenerator(new AssignedGenerator()); + + $metadata = $manager->getClassMetaData('App\Entity\Niveau02'); + $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); + $metadata->setIdGenerator(new AssignedGenerator()); + + $metadata = $manager->getClassMetaData('App\Entity\Niveau03'); + $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); + $metadata->setIdGenerator(new AssignedGenerator()); + + $metadata = $manager->getClassMetaData('App\Entity\Niveau04'); + $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); + $metadata->setIdGenerator(new AssignedGenerator()); + + // Niveau 01 + $this->writeln("Niveau01"); + $csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau01.csv'); + $tab = $this->csv_to_array($csv); + foreach($tab as $lig) { + $niveau01=$manager->getRepository('App\Entity\Niveau01')->find($lig['id']); + if(!$niveau01) { + $niveau01=new Niveau01(); + $niveau01->setId($lig["id"]); + $manager->persist($niveau01); + + } + $niveau01->setLabel($lig["label"]); + $niveau01->setCode($lig["code"]); + $niveau01->setPostaladress($lig["postaladress"]); + $niveau01->setTelephonenumber($lig["telephonenumber"]); + $niveau01->setEmail($lig["email"]); + $niveau01->setApikey($lig["apikey"]); + + $manager->flush(); + } + + // Niveau 02 + $this->writeln("Niveau02"); + $csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau02.csv'); + $tab = $this->csv_to_array($csv); + foreach($tab as $lig) { + $niveau01=$manager->getRepository('App\Entity\Niveau01')->findOneBy(["code"=>$lig['codenv1']]); + if(!$niveau01) continue; + + $niveau02=$manager->getRepository('App\Entity\Niveau02')->find($lig['id']); + if(!$niveau02) { + $niveau02=new Niveau02(); + $niveau02->setId($lig["id"]); + $manager->persist($niveau02); + + } + $niveau02->setLabel($lig["label"]); + $niveau02->setCode($lig["code"]); + $niveau02->setPostaladress($lig["postaladress"]); + $niveau02->setTelephonenumber($lig["telephonenumber"]); + $niveau02->setEmail($lig["email"]); + $niveau02->setApikey($lig["apikey"]); + $niveau02->setNiveau01($niveau01); + + $manager->flush(); + } + + // Niveau 03 + $this->writeln("Niveau03"); + $csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau03.csv'); + $tab = $this->csv_to_array($csv); + foreach($tab as $lig) { + $niveau02=$manager->getRepository('App\Entity\Niveau02')->findOneBy(["code"=>$lig['codenv2']]); + if(!$niveau02) continue; + + $niveau03=$manager->getRepository('App\Entity\Niveau03')->find($lig['id']); + if(!$niveau03) { + $niveau03=new Niveau03(); + $niveau03->setId($lig["id"]); + $manager->persist($niveau03); + + } + $niveau03->setLabel($lig["label"]); + $niveau03->setCode($lig["code"]); + $niveau03->setPostaladress($lig["postaladress"]); + $niveau03->setTelephonenumber($lig["telephonenumber"]); + $niveau03->setEmail($lig["email"]); + $niveau03->setApikey($lig["apikey"]); + $niveau03->setNiveau02($niveau02); + + $manager->flush(); + } + + // Niveau 04 + $this->writeln("Niveau04"); + $csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau04.csv'); + $tab = $this->csv_to_array($csv); + foreach($tab as $lig) { + $niveau03=$manager->getRepository('App\Entity\Niveau03')->findOneBy(["code"=>$lig['codenv3']]); + if(!$niveau03) continue; + + $niveau04=$manager->getRepository('App\Entity\Niveau04')->find($lig['id']); + if(!$niveau04) { + $niveau04=new Niveau04(); + $niveau04->setId($lig["id"]); + $manager->persist($niveau04); + } + $niveau04->setLabel($lig["label"]); + $niveau04->setCode($lig["code"]); + $niveau04->setPostaladress($lig["postaladress"]); + $niveau04->setTelephonenumber($lig["telephonenumber"]); + $niveau04->setEmail($lig["email"]); + $niveau04->setApikey($lig["apikey"]); + $niveau04->setNiveau03($niveau03); + + $manager->flush(); + } + + // User MODO + $this->writeln("User Modo"); + $userid=-99; + $usercpt=0; + $niveau01s=$manager->getRepository('App\Entity\Niveau01')->findAll(); + foreach($niveau01s as $niveau01) { + $userid=$userid-1; + $usercpt=$usercpt+1; + $username="modo".str_pad($usercpt,3,"0", STR_PAD_LEFT); + + $user=$manager->getRepository('App\Entity\User')->find($userid); + if(!$user) { + $user=new User(); + $user->setId($userid); + $manager->persist($user); + + $usermodo=new UserModo(); + $usermodo->setUser($user); + $usermodo->setNiveau01($niveau01); + $manager->persist($usermodo); + } + + $user->setUsername($username); + $user->setPassword($username); + $user->setRoles(["ROLE_MODO"]); + $user->setFirstname(str_pad($usercpt,3,"0", STR_PAD_LEFT)); + $user->setLastname("Modo"); + $user->setEmail($username."@noreply.fr"); + $user->setIsvisible(true); + $user->setIsactive(true); + $user->setAvatar("noavatar.png"); + $user->setApikey($username); + $user->setNiveau01($niveau01); + + $manager->flush(); + } + + // User MASTER + $this->writeln("User Master"); + $userid=-199; + $usercpt=0; + $niveau02s=$manager->getRepository('App\Entity\Niveau02')->findAll(); + foreach($niveau02s as $niveau02) { + $userid=$userid-1; + $usercpt=$usercpt+1; + $username="master".str_pad($usercpt,3,"0", STR_PAD_LEFT); + + $user=$manager->getRepository('App\Entity\User')->find($userid); + if(!$user) { + $user=new User(); + $user->setId($userid); + $manager->persist($user); + } + + $user->setUsername($username); + $user->setPassword($username); + $user->setRoles(["ROLE_MASTER"]); + $user->setFirstname(str_pad($usercpt,3,"0", STR_PAD_LEFT)); + $user->setLastname("Master"); + $user->setEmail($username."@noreply.fr"); + $user->setIsvisible(true); + $user->setIsactive(true); + $user->setAvatar("noavatar.png"); + $user->setApikey($username); + $user->setNiveau01($niveau02->getNiveau01()); + $user->setNiveau02($niveau02); + + $manager->flush(); + } + + // User MANAGER + $this->writeln("User Manager"); + $userid=-299; + $usercpt=0; + $niveau03s=$manager->getRepository('App\Entity\Niveau03')->findAll(); + foreach($niveau03s as $niveau03) { + $userid=$userid-1; + $usercpt=$usercpt+1; + $username="manager".str_pad($usercpt,3,"0", STR_PAD_LEFT); + + $user=$manager->getRepository('App\Entity\User')->find($userid); + if(!$user) { + $user=new User(); + $user->setId($userid); + $manager->persist($user); + } + + $user->setUsername($username); + $user->setPassword($username); + $user->setRoles(["ROLE_MANAGER"]); + $user->setFirstname(str_pad($usercpt,3,"0", STR_PAD_LEFT)); + $user->setLastname("Manager"); + $user->setEmail($username."@noreply.fr"); + $user->setIsvisible(true); + $user->setIsactive(true); + $user->setAvatar("noavatar.png"); + $user->setApikey($username); + $user->setNiveau01($niveau03->getNiveau02()->getNiveau01()); + $user->setNiveau02($niveau03->getNiveau02()); + $user->setNiveau03($niveau03); + + $manager->flush(); + } + + // User USER + $this->writeln("User User"); + $userid=-299; + $usercpt=0; + $niveau03s=$manager->getRepository('App\Entity\Niveau03')->findAll(); + foreach($niveau03s as $niveau03) { + $userid=$userid-1; + $usercpt=$usercpt+1; + $username="user".str_pad($usercpt,3,"0", STR_PAD_LEFT); + + $user=$manager->getRepository('App\Entity\User')->find($userid); + if(!$user) { + $user=new User(); + $user->setId($userid); + $manager->persist($user); + } + + $user->setUsername($username); + $user->setPassword($username); + $user->setRoles(["ROLE_USER"]); + $user->setFirstname(str_pad($usercpt,3,"0", STR_PAD_LEFT)); + $user->setLastname("User"); + $user->setEmail($username."@noreply.fr"); + $user->setIsvisible(true); + $user->setIsactive(true); + $user->setAvatar("noavatar.png"); + $user->setApikey($username); + $user->setNiveau01($niveau03->getNiveau02()->getNiveau01()); + $user->setNiveau02($niveau03->getNiveau02()); + $user->setNiveau03($niveau03); + + $manager->flush(); + } + + // app:Synchro + $manager->clear(); + $this->writeln("app:Synchro"); + $input = new ArrayInput(['command' => 'app:Synchro']); + $boutput = new BufferedOutput(); + $application->run($input, $boutput); + } + + private function writeln($string) { + $this->output->writeln(' > '.$string.''); + } + + + private function csv_to_array($csv, $delimiter = ';', $enclosure = '', $escape = '\\', $terminator = "\n") { + $r = array(); + $rows = explode($terminator,trim($csv)); + + $names = array_shift($rows); + $names = str_getcsv($names,$delimiter,$enclosure,$escape); + $nc = count($names); + foreach ($rows as $row) { + if (trim($row)) { + $values = str_getcsv($row,$delimiter,$enclosure,$escape); + if (!$values) $values = array_fill(0,$nc,null); + @$r[] = array_combine($names,$values); + } + } + return $r; + } +} diff --git a/src/DataFixtures/niveau01.csv b/src/DataFixtures/niveau01.csv new file mode 100644 index 0000000..67cbbb1 --- /dev/null +++ b/src/DataFixtures/niveau01.csv @@ -0,0 +1,4 @@ +id;label;code;postaladress;telephonenumber;email;apikey +-1;Nv01;Nv01;;;;Nv01 +-2;Nv02;Nv02;;;;Nv02 +-3;Nv03;Nv03;;;;Nv03 \ No newline at end of file diff --git a/src/DataFixtures/niveau02.csv b/src/DataFixtures/niveau02.csv new file mode 100644 index 0000000..884c2ab --- /dev/null +++ b/src/DataFixtures/niveau02.csv @@ -0,0 +1,7 @@ +id;label;code;postaladress;telephonenumber;email;apikey;codenv1 +-1;Nv01Nv01;Nv01Nv01;;;;Nv01Nv01;Nv01 +-2;Nv01Nv02;Nv01Nv02;;;;Nv01Nv02;Nv01 +-3;Nv02Nv01;Nv02Nv01;;;;Nv02Nv01;Nv02 +-4;Nv02Nv02;Nv02Nv02;;;;Nv02Nv02;Nv02 +-5;Nv03Nv01;Nv03Nv01;;;;Nv03Nv01;Nv03 +-6;Nv03Nv02;Nv03Nv02;;;;Nv03Nv02;Nv03 \ No newline at end of file diff --git a/src/DataFixtures/niveau03.csv b/src/DataFixtures/niveau03.csv new file mode 100644 index 0000000..b0bbafb --- /dev/null +++ b/src/DataFixtures/niveau03.csv @@ -0,0 +1,13 @@ +id;label;code;postaladress;telephonenumber;email;apikey;codenv2 +-1;Nv01Nv01Nv01;Nv01Nv01Nv01;;;;Nv01Nv01Nv01;Nv01Nv01 +-2;Nv01Nv01Nv02;Nv01Nv01Nv02;;;;Nv01Nv01Nv02;Nv01Nv01 +-3;Nv01Nv02Nv01;Nv01Nv02Nv01;;;;Nv01Nv02Nv01;Nv01Nv02 +-4;Nv01Nv02Nv02;Nv01Nv02Nv02;;;;Nv01Nv02Nv02;Nv01Nv02 +-5;Nv02Nv01Nv01;Nv02Nv01Nv01;;;;Nv02Nv01Nv01;Nv02Nv01 +-6;Nv02Nv01Nv02;Nv02Nv01Nv02;;;;Nv02Nv01Nv02;Nv02Nv01 +-7;Nv02Nv02Nv01;Nv02Nv02Nv01;;;;Nv02Nv02Nv01;Nv02Nv02 +-8;Nv02Nv02Nv02;Nv02Nv02Nv02;;;;Nv02Nv02Nv02;Nv02Nv02 +-9;Nv03Nv01Nv01;Nv03Nv01Nv01;;;;Nv03Nv01Nv01;Nv03Nv01 +-10;Nv03Nv01Nv02;Nv03Nv01Nv02;;;;Nv03Nv01Nv02;Nv03Nv01 +-11;Nv03Nv02Nv01;Nv03Nv02Nv01;;;;Nv03Nv02Nv01;Nv03Nv02 +-12;Nv03Nv02Nv02;Nv03Nv02Nv02;;;;Nv03Nv02Nv02;Nv03Nv02 \ No newline at end of file diff --git a/src/DataFixtures/niveau04.csv b/src/DataFixtures/niveau04.csv new file mode 100644 index 0000000..be9d71c --- /dev/null +++ b/src/DataFixtures/niveau04.csv @@ -0,0 +1,25 @@ +id;label;code;postaladress;telephonenumber;email;apikey;codenv3 +-1;Nv01Nv01Nv01Nv01;Nv01Nv01Nv01Nv01;;;;Nv01Nv01Nv01Nv01;Nv01Nv01Nv01 +-2;Nv01Nv01Nv01Nv02;Nv01Nv01Nv01Nv02;;;;Nv01Nv01Nv01Nv02;Nv01Nv01Nv01 +-3;Nv01Nv01Nv02Nv01;Nv01Nv01Nv02Nv01;;;;Nv01Nv01Nv02Nv01;Nv01Nv01Nv02 +-4;Nv01Nv01Nv02Nv02;Nv01Nv01Nv02Nv02;;;;Nv01Nv01Nv02Nv02;Nv01Nv01Nv02 +-5;Nv01Nv02Nv01Nv01;Nv01Nv02Nv01Nv01;;;;Nv01Nv02Nv01Nv01;Nv01Nv02Nv01 +-6;Nv01Nv02Nv01Nv02;Nv01Nv02Nv01Nv02;;;;Nv01Nv02Nv01Nv02;Nv01Nv02Nv01 +-7;Nv01Nv02Nv02Nv01;Nv01Nv02Nv02Nv01;;;;Nv01Nv02Nv02Nv01;Nv01Nv02Nv02 +-8;Nv01Nv02Nv02Nv02;Nv01Nv02Nv02Nv02;;;;Nv01Nv02Nv02Nv02;Nv01Nv02Nv02 +-9;Nv02Nv01Nv01Nv01;Nv02Nv01Nv01Nv01;;;;Nv02Nv01Nv01Nv01;Nv02Nv01Nv01 +-10;Nv02Nv01Nv01Nv02;Nv02Nv01Nv01Nv02;;;;Nv02Nv01Nv01Nv02;Nv02Nv01Nv01 +-11;Nv02Nv01Nv02Nv01;Nv02Nv01Nv02Nv01;;;;Nv02Nv01Nv02Nv01;Nv02Nv01Nv02 +-12;Nv02Nv01Nv02Nv02;Nv02Nv01Nv02Nv02;;;;Nv02Nv01Nv02Nv02;Nv02Nv01Nv02 +-13;Nv02Nv02Nv01Nv01;Nv02Nv02Nv01Nv01;;;;Nv02Nv02Nv01Nv01;Nv02Nv02Nv01 +-14;Nv02Nv02Nv01Nv02;Nv02Nv02Nv01Nv02;;;;Nv02Nv02Nv01Nv02;Nv02Nv02Nv01 +-15;Nv02Nv02Nv02Nv01;Nv02Nv02Nv02Nv01;;;;Nv02Nv02Nv02Nv01;Nv02Nv02Nv02 +-16;Nv02Nv02Nv02Nv02;Nv02Nv02Nv02Nv02;;;;Nv02Nv02Nv02Nv02;Nv02Nv02Nv02 +-17;Nv03Nv01Nv01Nv01;Nv03Nv01Nv01Nv01;;;;Nv03Nv01Nv01Nv01;Nv03Nv01Nv01 +-18;Nv03Nv01Nv01Nv02;Nv03Nv01Nv01Nv02;;;;Nv03Nv01Nv01Nv02;Nv03Nv01Nv01 +-19;Nv03Nv01Nv02Nv01;Nv03Nv01Nv02Nv01;;;;Nv03Nv01Nv02Nv01;Nv03Nv01Nv02 +-20;Nv03Nv01Nv02Nv02;Nv03Nv01Nv02Nv02;;;;Nv03Nv01Nv02Nv02;Nv03Nv01Nv02 +-21;Nv03Nv02Nv01Nv01;Nv03Nv02Nv01Nv01;;;;Nv03Nv02Nv01Nv01;Nv03Nv02Nv01 +-22;Nv03Nv02Nv01Nv02;Nv03Nv02Nv01Nv02;;;;Nv03Nv02Nv01Nv02;Nv03Nv02Nv01 +-23;Nv03Nv02Nv02Nv01;Nv03Nv02Nv02Nv01;;;;Nv03Nv02Nv02Nv01;Nv03Nv02Nv02 +-24;Nv03Nv02Nv02Nv02;Nv03Nv02Nv02Nv02;;;;Nv03Nv02Nv02Nv02;Nv03Nv02Nv02 \ No newline at end of file diff --git a/src/Entity/Niveau01.php b/src/Entity/Niveau01.php index a9ce71f..5cc3e1c 100644 --- a/src/Entity/Niveau01.php +++ b/src/Entity/Niveau01.php @@ -104,14 +104,6 @@ class Niveau01 */ private $modos; - public function __construct() - { - $this->niveau02s = new ArrayCollection(); - $this->registrations = new ArrayCollection(); - $this->users = new ArrayCollection(); - $this->modos = new ArrayCollection(); - } - // == CODE A NE PAS REGENERER public function setId(int $id): self { @@ -121,6 +113,14 @@ class Niveau01 } // == FIN DU CODE A NE PAS REGENERER + public function __construct() + { + $this->niveau02s = new ArrayCollection(); + $this->registrations = new ArrayCollection(); + $this->users = new ArrayCollection(); + $this->modos = new ArrayCollection(); + } + public function getId(): ?int { return $this->id; diff --git a/src/Entity/Niveau02.php b/src/Entity/Niveau02.php index fe2e2b1..da20d00 100644 --- a/src/Entity/Niveau02.php +++ b/src/Entity/Niveau02.php @@ -87,6 +87,15 @@ class Niveau02 */ private $users; + // == CODE A NE PAS REGENERER + public function setId(int $id): self + { + $this->id = $id; + + return $this; + } + // == FIN DU CODE A NE PAS REGENERER + public function __construct() { $this->niveau03s = new ArrayCollection(); diff --git a/src/Entity/Niveau03.php b/src/Entity/Niveau03.php index 4a079f1..01c538a 100644 --- a/src/Entity/Niveau03.php +++ b/src/Entity/Niveau03.php @@ -101,7 +101,14 @@ class Niveau03 return $this; } - // == + + public function setId(int $id): self + { + $this->id = $id; + + return $this; + } + // == FIN DU CODE A NE PAS REGENERER public function __construct() { diff --git a/src/Entity/Niveau04.php b/src/Entity/Niveau04.php index 400c6fb..b2411f2 100644 --- a/src/Entity/Niveau04.php +++ b/src/Entity/Niveau04.php @@ -108,7 +108,13 @@ class Niveau04 return $this; } - // == + public function setId(int $id): self + { + $this->id = $id; + + return $this; + } + // == FIN DU CODE A NE PAS REGENERER public function __construct() { diff --git a/symfony.lock b/symfony.lock index 872629e..1a5825b 100644 --- a/symfony.lock +++ b/symfony.lock @@ -22,6 +22,18 @@ "src/Repository/.gitignore" ] }, + "doctrine/doctrine-fixtures-bundle": { + "version": "3.4", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "3.0", + "ref": "1f5514cfa15b947298df4d771e694e578d4c204d" + }, + "files": [ + "src/DataFixtures/AppFixtures.php" + ] + }, "doctrine/doctrine-migrations-bundle": { "version": "3.2", "recipe": {