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]);
 }
 public function destroy($id)
 {
     TicketTask::whereId($id)->delete();
     // TODO: What should the response be?
     return '';
 }