public function store(Request $request) { $data = ['zendesk_ticket_id' => $request->input('zendesk_ticket_id'), 'title' => $request->input('title'), 'due_at' => empty($request->input('due_at')) ? null : Carbon::createFromFormat(Carbon::ISO8601, $request->input('due_at'))]; TicketTask::create($data); // TODO: What should the response be? return ''; }
protected function createTasks($zendesk_ticket_id, User $requester) { // Create default tasks if (!$this->ticket['deliver_by']) { return; } $today = Carbon::now()->endOfDay(); // Work backwards from delivery date $deliver_at = $this->ticket['deliver_by']->endOfDay(); Task::create(['title' => 'Schedule Meeting with ' . $requester->first_name, 'due_at' => $today, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Communicate with photography team leader', 'due_at' => $today, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Confirm photographer', 'due_at' => $deliver_at->copy()->subWeekdays(7)->endOfDay(), 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Send update to ' . $requester->first_name, 'due_at' => $deliver_at->copy()->subWeekdays(7)->endOfDay(), 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Deliver photos to ' . $requester->first_name, 'due_at' => $deliver_at->copy()->addDays(3)->endOfDay(), 'zendesk_ticket_id' => $zendesk_ticket_id]); }
protected function createTasksForDigitalPiece($zendesk_ticket_id, User $requester) { // Create default tasks if (!$this->ticket['deliver_by']) { return; } $now = Carbon::now()->endOfDay(); // Change these $days_to_design = 14; $days_to_iterate_proof = 2; $days_to_meet = 2; // Work backwards from delivery date $deliver_at = $this->ticket['deliver_by']->endOfDay(); $sign_off_at = $deliver_at->copy(); $deliver_proof_at = $sign_off_at->copy()->subWeekdays($days_to_iterate_proof)->endOfDay(); $start_design_at = $deliver_proof_at->copy()->subWeekdays($days_to_design)->endOfDay(); $copy_due_at = $start_design_at->copy(); // Work forwards from now $schedule_meeting_at = $now->copy(); $gather_requirements_at = $now->copy()->addWeekdays($days_to_meet)->endOfDay(); // If starting project in the past, adjust our dates if ($start_design_at->isPast()) { $schedule_meeting_at = $start_design_at->copy()->subWeekdays(1)->endOfDay(); $gather_requirements_at = $schedule_meeting_at; } Task::create(['title' => 'Schedule Meeting with ' . $requester->first_name, 'due_at' => $schedule_meeting_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Requirements Gathered', 'due_at' => $gather_requirements_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Copy due', 'due_at' => $copy_due_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Start design work', 'due_at' => $start_design_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Deliver Proof', 'due_at' => $deliver_proof_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Proof Sign Off', 'due_at' => $sign_off_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); Task::create(['title' => 'Product Delivered', 'due_at' => $deliver_at, 'zendesk_ticket_id' => $zendesk_ticket_id]); }