/**
  * Cast the user's vote.
  * @param int                      $id
  * @param \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function castVote($id, Request $request)
 {
     // Get the poll
     $poll = Poll::find($id);
     if (!$poll) {
         return redirect(route('polls.index'));
     }
     // Check if already voted
     if ($poll->voted($this->user)) {
         Flash::warning('You have already voted for this poll.');
         return redirect(route('polls.view', $id));
     }
     // Cast vote
     $option = PollOption::find($request->get('vote'));
     if (!$option) {
         return redirect(route('polls.view', $id));
     }
     $option->votes()->create(['user_id' => $this->user->id]);
     Flash::success('Vote cast');
     return redirect(route('polls.view', $id));
 }