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(); }