more fixtures and installation docu

This commit is contained in:
Kevin Papst
2016-10-20 23:19:06 +02:00
parent 3702bd5400
commit 0924573af0
2 changed files with 36 additions and 4 deletions

View File

@@ -29,6 +29,21 @@ $ cd kimai2/
$ composer install
```
This was the basic task of the installation. If you have not yet setup a database, you
can create it and import example data by executing these commands:
```bash
$ cd kimai2/
$ php bin/console doctrine:database:create
$ php bin/console doctrine:schema:create
$ php bin/console doctrine:fixtures:load
```
If you have imported the example data, you can login with two accounts:
- Username: *clara_customer* / Password: *kitten* / Role: Customer
- Username: *john_user* / Password: *kitten* / Role: User
- Username: *tony_teamlead* / Password: *kitten* / Role: Teamlead
- Username: *anna_admin* / Password: *kitten* / Role: Administrator
Usage
-----

View File

@@ -49,16 +49,33 @@ class LoadFixtures implements FixtureInterface, ContainerAwareInterface
{
$passwordEncoder = $this->container->get('security.password_encoder');
$claraCustomer = new User();
$claraCustomer->setUsername('clara_customer');
$claraCustomer->setEmail('clara_customer@example.com');
$claraCustomer->setRoles(['ROLE_CUSTOMER']);
$encodedPassword = $passwordEncoder->encodePassword($claraCustomer, 'kitten');
$claraCustomer->setPassword($encodedPassword);
$manager->persist($claraCustomer);
$johnUser = new User();
$johnUser->setUsername('john_user');
$johnUser->setEmail('john_user@symfony.com');
$johnUser->setEmail('john_user@example.com');
$johnUser->setRoles(['ROLE_USER']);
$encodedPassword = $passwordEncoder->encodePassword($johnUser, 'kitten');
$johnUser->setPassword($encodedPassword);
$manager->persist($johnUser);
$tonyTeamlead = new User();
$tonyTeamlead->setUsername('tony_teamlead');
$tonyTeamlead->setEmail('tony_teamlead@example.com');
$tonyTeamlead->setRoles(['ROLE_TEAMLEAD']);
$encodedPassword = $passwordEncoder->encodePassword($tonyTeamlead, 'kitten');
$tonyTeamlead->setPassword($encodedPassword);
$manager->persist($tonyTeamlead);
$annaAdmin = new User();
$annaAdmin->setUsername('anna_admin');
$annaAdmin->setEmail('anna_admin@symfony.com');
$annaAdmin->setEmail('anna_admin@example.com');
$annaAdmin->setRoles(['ROLE_ADMIN']);
$encodedPassword = $passwordEncoder->encodePassword($annaAdmin, 'kitten');
$annaAdmin->setPassword($encodedPassword);
@@ -76,13 +93,13 @@ class LoadFixtures implements FixtureInterface, ContainerAwareInterface
$post->setSummary($this->getRandomPostSummary());
$post->setSlug($this->container->get('slugger')->slugify($post->getTitle()));
$post->setContent($this->getPostContent());
$post->setAuthorEmail('anna_admin@symfony.com');
$post->setAuthorEmail(array_rand(['anna_admin@example.com', 'tony_teamlead@example.com'], 1));
$post->setPublishedAt(new \DateTime('now - '.$i.'days'));
foreach (range(1, 5) as $j) {
$comment = new Comment();
$comment->setAuthorEmail('john_user@symfony.com');
$comment->setAuthorEmail(array_rand(['clara_customer@example.com', 'john_user@example.com'], 1));
$comment->setPublishedAt(new \DateTime('now + '.($i + $j).'seconds'));
$comment->setContent($this->getRandomCommentContent());
$comment->setPost($post);