public function updateGoat(Request $request, $id)
 {
     $goat = Goat::find($id);
     $userCollabs = array();
     $deptCollabs = array();
     if ($request->collabs) {
         foreach ($request->collabs as $col) {
             if (strpos($col, 'user') !== false) {
                 array_push($userCollabs, substr($col, 5));
             } else {
                 array_push($deptCollabs, substr($col, 5));
             }
         }
     }
     $this->createChanges($goat, $request->department, $request->description, $request->success_measure, $request->leads, $userCollabs, $deptCollabs, $request->due_date, $request->priority);
     $goat->description = $request->description;
     $goat->success_measure = $request->success_measure;
     $goat->due_date = $request->due_date;
     $goat->priority = $request->priority;
     $goat->department_id = $request->department;
     $goat->save();
     $leads = array_fill_keys($request->leads ? $request->leads : array(), ['user_role' => 'L']);
     $collabs = array_fill_keys($userCollabs, ['user_role' => 'C']);
     $goat->userLeads()->sync($leads + $collabs);
     $goat->departmentCollaborators()->sync($deptCollabs);
     return redirect('/view');
 }
 public function destroy(Request $request)
 {
     $type = $request->type;
     if ($type == 'G') {
         $this->validate($request, ['businessId' => 'required', 'goalId' => 'required']);
         $elem = Goat::find($request->goalId);
     } elseif ($type == 'O') {
         $this->validate($request, ['businessId' => 'required', 'goalId' => 'required', 'objId' => 'required']);
         $elem = Goat::find($request->objId);
     } elseif ($type == 'A') {
         $this->validate($request, ['businessId' => 'required', 'goalId' => 'required', 'objId' => 'required', 'actionId' => 'required']);
         $elem = Goat::find($request->actionId);
     } else {
         $this->validate($request, ['businessId' => 'required', 'goalId' => 'required', 'objId' => 'required', 'actionId' => 'required', 'taskId' => 'required']);
         $elem = Goat::find($request->taskId);
     }
     $elem->delete();
     return back();
 }