From 239a7ee788ec36ac2414cc98892fafd8615ac0f5 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 27 Sep 2017 14:48:41 +0300 Subject: [PATCH] Working on time tracker --- app/Console/Commands/CreateTestData.php | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/app/Console/Commands/CreateTestData.php b/app/Console/Commands/CreateTestData.php index 8db2acbb8bee..085da9ecaf32 100644 --- a/app/Console/Commands/CreateTestData.php +++ b/app/Console/Commands/CreateTestData.php @@ -8,6 +8,8 @@ use App\Ninja\Repositories\ExpenseRepository; use App\Ninja\Repositories\InvoiceRepository; use App\Ninja\Repositories\PaymentRepository; use App\Ninja\Repositories\VendorRepository; +use App\Ninja\Repositories\TaskRepository; +use App\Ninja\Repositories\ProjectRepository; use App\Models\Client; use App\Models\TaxRate; use App\Models\Project; @@ -44,6 +46,7 @@ class CreateTestData extends Command * @param PaymentRepository $paymentRepo * @param VendorRepository $vendorRepo * @param ExpenseRepository $expenseRepo + * @param TaskRepository $taskRepo * @param AccountRepository $accountRepo */ public function __construct( @@ -52,6 +55,8 @@ class CreateTestData extends Command PaymentRepository $paymentRepo, VendorRepository $vendorRepo, ExpenseRepository $expenseRepo, + TaskRepository $taskRepo, + ProjectRepository $projectRepo, AccountRepository $accountRepo) { parent::__construct(); @@ -63,6 +68,8 @@ class CreateTestData extends Command $this->paymentRepo = $paymentRepo; $this->vendorRepo = $vendorRepo; $this->expenseRepo = $expenseRepo; + $this->taskRepo = $taskRepo; + $this->projectRepo = $projectRepo; $this->accountRepo = $accountRepo; } @@ -126,6 +133,7 @@ class CreateTestData extends Command $this->createInvoices($client); $this->createInvoices($client, true); + $this->createTasks($client); } } @@ -176,6 +184,31 @@ class CreateTestData extends Command $this->info('Payment: ' . $payment->amount); } + private function createTasks($client) + { + $data = [ + 'client_id' => $client->id, + 'name' => $this->faker->sentence(10), + ]; + $project = $this->projectRepo->save($data); + + for ($i = 0; $i < $this->count; $i++) { + $startTime = date_create()->modify(rand(-100, 100) . ' days')->format('U'); + $endTime = $startTime + (60 * 60 * 2); + $timeLog = "[[{$startTime},{$endTime}]]"; + $data = [ + 'client_id' => $client->id, + 'project_id' => $project->id, + 'description' => $this->faker->text($this->faker->numberBetween(50, 300)), + 'time_log' => $timeLog, + ]; + + $this->taskRepo->save(false, $data); + } + } + + + private function createVendors() { for ($i = 0; $i < $this->count; $i++) {