improvements

This commit is contained in:
Kevin Papst
2016-10-30 23:39:55 +01:00
parent 55ac11d517
commit 1678129fe9
47 changed files with 4390 additions and 1746 deletions

View File

@@ -35,6 +35,8 @@ class LoadFixtures extends AppBundleLoadFixtures
const AMOUNT_TIMESHEET = 1000; // timesheet entries total
const AMOUNT_PROJECTS = 20; // projects entries total
const AMOUNT_CUSTOMER = 10; // customer entries total
const RATE_MIN = 10; // minimum rate for one hour
const RATE_MAX = 80; // maximum rate for one hour
/**
* {@inheritdoc}
@@ -96,33 +98,33 @@ class LoadFixtures extends AppBundleLoadFixtures
$amountUser = count($allUser);
$allActivity = $this->getAllActivities($manager);
$amountActivity = count($allActivity);
for ($i = 0; $i <= self::AMOUNT_TIMESHEET; $i++) {
$startDay = round($i / 2);
$start = new \DateTime();
$start = $start->modify('- ' . (rand(1, 400)) . ' days');
$start = $start->modify('- ' . (rand(1, $startDay)) . ' days');
$start = $start->modify('- ' . (rand(1, 86400)) . ' seconds');
$end = clone $start;
$end = $end->modify('+ '.(rand(1, 43200)).' seconds');
//$duration = $end->modify('- ' . $start->getTimestamp() . ' seconds')->getTimestamp();
$duration = $end->getTimestamp() - $start->getTimestamp();
$rate = rand(self::RATE_MIN, self::RATE_MAX);
$entry = new Timesheet();
$entry->setActivity($allActivity[array_rand($allActivity)]);
$entry->setStatusid(1); // TODO
$entry->setBillable($i % 2 == 0);
$entry->setBudget(0);
$entry->setCleared($i % 7 == 0);
$entry->setComment($this->getRandomPhrase());
$entry->setDescription($this->getRandomPhrase());
$entry->setLocation($this->getRandomLocation());
$entry->setStart($start->getTimestamp());
$entry->setEnd($end->getTimestamp());
$entry->setDuration($end->modify('- ' . $start->getTimestamp() . ' seconds')->getTimestamp());
$entry->setUser($allUser[rand(1, $amountUser)]);
//$entry->setApproved(false); // TODO
//$entry->setFixedrate(); // TODO
//$entry->setRate(); // TODO
//$entry->setTrackingnumber(); // TODO
$entry->setRate(round(($duration / 3600) * $rate));
$entry->setBegin($start);
// leave one running time entry
if ($i < self::AMOUNT_TIMESHEET) {
$entry->setEnd($end);
$entry->setDuration($duration);
}
$manager->persist($entry);
}
@@ -137,7 +139,7 @@ class LoadFixtures extends AppBundleLoadFixtures
$entry->setName($this->getRandomProject());
$entry->setBudget(rand(1000, 100000));
$entry->setComment($this->getRandomPhrase());
$entry->setCustomerId(rand(1, self::AMOUNT_CUSTOMER)); // TODO
$entry->setCustomerId(rand(1, self::AMOUNT_CUSTOMER)); // TODO should be a user object
$entry->setVisible($i % 3 != 0);
$manager->persist($entry);