/** * Show all the notifications * * @return response */ public function index(Request $request) { $_invites = []; foreach ($request->user()->invites() as $invite) { $attempt = Attempt::find($invite->attempt_id); array_push($_invites, ['sender' => ['id' => $attempt->user->id, 'name' => $attempt->user->name], 'challenge' => ['id' => $attempt->challenge->id, 'title' => $attempt->challenge->title, 'game' => $attempt->challenge->game->name], 'attempt' => ['id' => $attempt->id]]); } return view('notifications.index', ['invites' => $_invites]); }
/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update(UpdateAttemptRequest $request, $mission_id, $id) { $attempt = Attempt::findOrFail($id); if ($attempt->mission->user->id === $request->user()->id) { $attempt->fill($request->all()); } else { $attempt->fill($request->except('status')); } $attempt->save(); if ($request->ajax()) { return response()->json(['success' => true]); } else { return redirect()->route('missions.show', $mission_id)->with('status.success', 'Success! Your attempt is now updated!'); } }
/** * Remove a user * * @param App\Http\Requests\RemoveUserAttemptRequest $request * @param App\Attempt $attempt * * @return response */ public function removeUser(RemoveUserAttemptRequest $request, Attempt $attempt) { $user = \App\User::where('name', $request->username)->first(); $attempt->users()->detach($user->id); return redirect()->route('attempts.show', [$attempt])->with('success', 'The user has been removed.'); }