Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/src/ChamiloLMS/CoreBundle/DataFixtures/ORM/LoadUserData.php

120 lines
3.3 KiB

<?php
namespace ChamiloLMS\CoreBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class LoadUserData extends AbstractFixture implements ContainerAwareInterface, OrderedFixtureInterface
{
private $container;
function getOrder()
{
return 1;
}
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @param ObjectManager $manager
*/
public function load(ObjectManager $manager)
{
$manager = $this->getUserManager();
$groupManager = $this->getGroupManager();
$faker = $this->getFaker();
// Creating groups
$studentGroup = $groupManager->createGroup('students');
$studentGroup->addRole('ROLE_STUDENT');
$groupManager->updateGroup($studentGroup);
$teacherGroup = $groupManager->createGroup('teachers');
$teacherGroup->addRole('ROLE_TEACHER');
$groupManager->updateGroup($teacherGroup);
// Creating admin user.
$user = $manager->createUser();
$user->setUsername('admin');
$user->setUserId(1);
$user->setFirstname('Jane');
$user->setLastname('Doe');
$user->setEmail($faker->safeEmail);
$user->setPlainPassword('admin');
$user->setEnabled(true);
$user->setSuperAdmin(true);
$user->setLocked(false);
$manager->updateUser($user);
// Creating student user.
$user = $manager->createUser();
$user->setUserId(2);
$user->setFirstname('student');
$user->setLastname('student');
//$user->setPhone($faker->phoneNumber);
$user->setUsername('student');
$user->setEmail($faker->safeEmail);
$user->setPlainPassword('student');
$user->setEnabled(true);
$user->setLocked(false);
$user->addGroup($studentGroup);
$manager->updateUser($user);
// Creating random student users.
foreach (range(2, 100) as $id) {
$user = $manager->createUser();
$user->setUserId($id);
$user->setFirstname($faker->firstName);
$user->setLastname($faker->lastName);
//$user->setPhone($faker->phoneNumber);
$user->setUsername($faker->userName);
$user->setEmail($faker->safeEmail);
$user->setPlainPassword($faker->randomNumber());
$user->setEnabled(true);
$user->setLocked(false);
$user->addGroup($studentGroup);
$manager->updateUser($user);
}
}
/**
* @return \FOS\UserBundle\Model\UserManagerInterface
*/
public function getUserManager()
{
return $this->container->get('fos_user.user_manager');
}
/**
* @return \FOS\UserBundle\Entity\GroupManager
*/
public function getGroupManager()
{
return $this->container->get('fos_user.group_manager');
}
/**
* @return \Faker\Generator
*/
public function getFaker()
{
return $this->container->get('faker.generator');
}
}