Guest User

Untitled

a guest
Apr 8th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Application\Sonata\UserBundle\DataFixtures\ORM;
  4.  
  5. use Doctrine\Common\DataFixtures\AbstractFixture;
  6. use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
  7. use Doctrine\Common\Persistence\ObjectManager;
  8. use Doctrine\Common\DataFixtures\FixtureInterface;
  9. use Application\Sonata\UserBundle\Entity\User;
  10. use Symfony\Component\DependencyInjection\ContainerAwareInterface;
  11. use Symfony\Component\DependencyInjection\ContainerInterface;
  12.  
  13. class LoadUserData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface
  14. {
  15. /**
  16. * @var ContainerInterface
  17. */
  18. private $container;
  19.  
  20. /**
  21. * {@inheritDoc}
  22. */
  23. public function setContainer(ContainerInterface $container = null)
  24. {
  25. $this->container = $container;
  26. }
  27.  
  28. /**
  29. * {@inheritDoc}
  30. */
  31. public function load(ObjectManager $manager)
  32. {
  33. $test_password = 'test';
  34.  
  35. $factory = $this->container->get('security.encoder_factory');
  36.  
  37.  
  38. /** @var $manager \FOS\UserBundle\Doctrine\UserManager */
  39. $manager = $this->container->get('fos_user.user_manager');
  40.  
  41. /** @var $user \Application\Sonata\UserBundle\Entity\User */
  42. $user = $manager->createUser();
  43.  
  44. $user->setUsername('superadmin');
  45. $user->setEmail('superadmin@example.com');
  46. $user->setFirstname('Super');
  47. $user->setLastname('Admin');
  48. $user->setRoles(array('ROLE_SUPER_ADMIN'));
  49. $user->setEnabled(true);
  50. $encoder = $factory->getEncoder($user);
  51. $password = $encoder->encodePassword($test_password, $user->getSalt());
  52. $user->setPassword($password);
  53.  
  54. $manager->updateUser($user);
  55.  
  56. $this->addReference('user.super_admin', $user);
  57.  
  58. unset($user);
  59.  
  60. /** @var $user \Application\Sonata\UserBundle\Entity\User */
  61. $user = $manager->createUser();
  62.  
  63. $user->setUsername('admin');
  64. $user->setPlainPassword($test_password);
  65. $user->setEmail('admin@example.com');
  66. $user->setFirstname('Regular');
  67. $user->setLastname('Admin');
  68. $user->setRoles(array('ROLE_ADMIN'));
  69. $user->setEnabled(true);
  70. $encoder = $factory->getEncoder($user);
  71. $password = $encoder->encodePassword($user->getPlainPassword(), $user->getSalt());
  72. $user->setPassword($password);
  73.  
  74. $manager->updateUser($user);
  75.  
  76. $this->addReference('user.admin', $user);
  77.  
  78. $faker = \Faker\Factory::create();
  79.  
  80. for ($i = 0; $i < 10; $i++)
  81. {
  82. /** @var $user \Application\Sonata\UserBundle\Entity\User */
  83. $user = $manager->createUser();
  84.  
  85. $user->setUsername($faker->userName);
  86. $user->setPlainPassword($test_password);
  87. $user->setEmail($faker->safeEmail);
  88. $user->setFirstname($faker->firstName);
  89. $user->setLastname($faker->lastName);
  90. $user->setRoles(array('ROLE_USER'));
  91. $user->setEnabled(true);
  92. $encoder = $factory->getEncoder($user);
  93. $password = $encoder->encodePassword($user->getPlainPassword(), $user->getSalt());
  94. $user->setPassword($password);
  95.  
  96. $manager->updateUser($user);
  97.  
  98. $this->addReference('user.demo_'.$i, $user);
  99. }
  100. }
  101.  
  102. /**
  103. * Get the order of this fixture
  104. *
  105. * @return integer
  106. */
  107. function getOrder()
  108. {
  109. return 1;
  110. }
  111. }
Add Comment
Please, Sign In to add comment