partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

Version20151001180120.php (1382B)


      1 <?php
      2 
      3 namespace PartKeepr\CoreBundle\DoctrineMigrations;
      4 
      5 use Doctrine\DBAL\Schema\Schema;
      6 use PartKeepr\AuthBundle\Entity\UserProvider;
      7 
      8 /**
      9  * Attaches the builtin user provider to all existing users.
     10  */
     11 class Version20151001180120 extends BaseMigration
     12 {
     13     /**
     14      * @param Schema $schema
     15      */
     16     public function up(Schema $schema)
     17     {
     18         $this->performDatabaseUpgrade();
     19 
     20         $userProviderRepository = $this->getEM()->getRepository(
     21             'PartKeeprAuthBundle:UserProvider'
     22         );
     23 
     24         $builtinProvider = $userProviderRepository->findOneBy(['type' => 'Builtin']);
     25 
     26         if ($builtinProvider === null) {
     27             $builtinProvider = new UserProvider();
     28             $builtinProvider->setType('Builtin');
     29 
     30             $this->getEM()->persist($builtinProvider);
     31         }
     32 
     33         $repository = $this->getEM()->getRepository(
     34             'PartKeeprAuthBundle:User'
     35         );
     36 
     37         $users = $repository->findAll();
     38 
     39         foreach ($users as $user) {
     40             if ($user->getProvider() === null) {
     41                 $user->setProvider($builtinProvider);
     42             }
     43 
     44             $user->setLegacy(true);
     45         }
     46 
     47         $this->getEM()->flush();
     48     }
     49 
     50     /**
     51      * @param Schema $schema
     52      */
     53     public function down(Schema $schema)
     54     {
     55         // this down() migration is auto-generated, please modify it to your needs
     56     }
     57 }