/** * Update activity result * @param $id * @param $resultId * @param Request $request * @param ResultRequestManager $resultRequestManager * @return \Illuminate\Http\RedirectResponse */ public function update($id, $resultId, Request $request, ResultRequestManager $resultRequestManager) { $resultData = $request->all(); $activityResult = $this->resultManager->getResult($resultId, $id); $activityData = $this->activityManager->getActivityData($id); if (Gate::denies('ownership', $activityData)) { return redirect()->back()->withResponse($this->getNoPrivilegesMessage()); } $this->authorizeByRequestType($activityResult, 'result', true); if ($this->resultManager->update($resultData, $activityResult)) { $this->activityManager->resetActivityWorkflow($id); $response = ['type' => 'success', 'code' => [$resultId ? 'updated' : 'created', ['name' => 'Activity Result']]]; return redirect()->to(sprintf('/activity/%s/result', $id))->withResponse($response); } $response = ['type' => 'danger', 'code' => [$resultId ? 'update_failed' : 'save_failed', ['name' => 'Activity Result']]]; return redirect()->back()->withInput()->withResponse($response); }