API: changed date-format, camelCase instead of snake_case, null values, update and create for customer and project (#718)

This commit is contained in:
Kevin Papst
2019-04-24 18:13:33 +02:00
committed by GitHub
parent 215d4fc8bf
commit 460391136f
61 changed files with 2304 additions and 505 deletions

View File

@@ -170,6 +170,7 @@ class TimesheetFixtures extends Fixture implements DependentFixtureInterface
$start = new \DateTime();
$start = $start->modify('- ' . (rand(1, self::TIMERANGE_DAYS)) . ' days');
$start = $start->modify('- ' . (rand(1, 86400)) . ' seconds');
$start->setTimezone(new \DateTimeZone($user->getPreferenceValue(UserPreference::TIMEZONE, date_default_timezone_get())));
$entry = new Timesheet();
$entry

View File

@@ -87,7 +87,7 @@ class UserFixtures extends Fixture
->setEnabled($userData[6])
->setPassword($passwordEncoder->encodePassword($user, self::DEFAULT_PASSWORD))
->setApiToken($passwordEncoder->encodePassword($user, self::DEFAULT_API_TOKEN))
->setPreferences([$this->getUserPreference($user)])
->setPreferences($this->getUserPreferences($user, $userData[7]))
;
$manager->persist($user);
@@ -99,16 +99,28 @@ class UserFixtures extends Fixture
/**
* @param User $user
* @return UserPreference
* @param string|null $timezone
* @return array
*/
private function getUserPreference(user $user)
private function getUserPreferences(User $user, string $timezone = null)
{
$preference = new UserPreference();
$preference->setName(UserPreference::HOURLY_RATE);
$preference->setValue(rand(self::MIN_RATE, self::MAX_RATE));
$preference->setUser($user);
$preferences = [];
return $preference;
$prefHourlyRate = new UserPreference();
$prefHourlyRate->setName(UserPreference::HOURLY_RATE);
$prefHourlyRate->setValue(rand(self::MIN_RATE, self::MAX_RATE));
$prefHourlyRate->setUser($user);
$preferences[] = $prefHourlyRate;
if (null !== $timezone) {
$prefTimezone = new UserPreference();
$prefTimezone->setName(UserPreference::TIMEZONE);
$prefTimezone->setValue($timezone);
$prefTimezone->setUser($user);
$preferences[] = $prefTimezone;
}
return $preferences;
}
/**
@@ -132,7 +144,7 @@ class UserFixtures extends Fixture
->setAvatar(self::DEFAULT_AVATAR)
->setEnabled(true)
->setPassword($passwordEncoder->encodePassword($user, self::DEFAULT_PASSWORD))
->setPreferences([$this->getUserPreference($user)])
->setPreferences($this->getUserPreferences($user))
;
if ($i % self::BATCH_SIZE == 0) {
@@ -152,28 +164,68 @@ class UserFixtures extends Fixture
*/
protected function getUserDefinition()
{
// alias = $userData[0]
// title = $userData[1]
// username = $userData[2]
// email = $userData[3]
// roles = [$userData[4]]
// avatar = $userData[5]
// enabled = $userData[6]
// timezone = $userData[7]
return [
[
'John Doe', 'Developer', self::USERNAME_USER, 'john_user@example.com', User::ROLE_USER,
self::DEFAULT_AVATAR, true
'John Doe',
'Developer',
self::USERNAME_USER,
'john_user@example.com',
User::ROLE_USER,
self::DEFAULT_AVATAR,
true,
'America/Vancouver',
],
// inactive user to test login
[
'Chris Deactive', 'Developer (left company)', 'chris_user', 'chris_user@example.com', User::ROLE_USER,
self::DEFAULT_AVATAR, false
'Chris Deactive',
'Developer (left company)',
'chris_user',
'chris_user@example.com',
User::ROLE_USER,
self::DEFAULT_AVATAR,
false,
'Australia/Sydney',
],
[
'Tony Maier', 'Head of Sales', self::USERNAME_TEAMLEAD, 'tony_teamlead@example.com', User::ROLE_TEAMLEAD,
'https://en.gravatar.com/userimage/3533186/bf2163b1dd23f3107a028af0195624e9.jpeg', true
'Tony Maier',
'Head of Sales',
self::USERNAME_TEAMLEAD,
'tony_teamlead@example.com',
User::ROLE_TEAMLEAD,
'https://en.gravatar.com/userimage/3533186/bf2163b1dd23f3107a028af0195624e9.jpeg',
true,
'Asia/Bangkok',
],
// no avatar to test default image macro
[
'Anna Smith', 'Administrator', self::USERNAME_ADMIN, 'anna_admin@example.com', User::ROLE_ADMIN, null, true
'Anna Smith',
'Administrator',
self::USERNAME_ADMIN,
'anna_admin@example.com',
User::ROLE_ADMIN,
null,
true,
'Europe/London',
],
// no alias to test twig username macro
[
null, 'Super Administrator', self::USERNAME_SUPER_ADMIN, 'susan_super@example.com', User::ROLE_SUPER_ADMIN,
'/build/images/default_avatar.png', true
null,
'Super Administrator',
self::USERNAME_SUPER_ADMIN,
'susan_super@example.com',
User::ROLE_SUPER_ADMIN,
'/build/images/default_avatar.png',
true,
'Europe/Berlin',
]
];
}