From fd99a98438b81d93b92ad4d8bfd067dcce7a92c6 Mon Sep 17 00:00:00 2001 From: Les De Ridder Date: Thu, 18 Oct 2018 00:01:03 +0200 Subject: [PATCH] Add results page stub and fix some minor things --- app/Http/Controllers/PollController.php | 12 ++++----- app/Poll.php | 4 ++- resources/views/view_poll.blade.php | 8 +++--- resources/views/view_poll_results.blade.php | 30 +++++++++++++++++++++ 4 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 resources/views/view_poll_results.blade.php diff --git a/app/Http/Controllers/PollController.php b/app/Http/Controllers/PollController.php index 9d30515..17de12a 100644 --- a/app/Http/Controllers/PollController.php +++ b/app/Http/Controllers/PollController.php @@ -92,11 +92,11 @@ class PollController extends Controller public function viewResults(Request $request, Poll $poll) { - if($poll->results_visible) { + $voted = $request->session()->pull('voted', false); - } else { - - } + return view('view_poll_results') + ->with('poll', $poll) + ->with('voted', $voted); } private static function createPieChart(Poll $poll) @@ -152,7 +152,6 @@ class PollController extends Controller $vote->poll_option_id = $option; $poll->votes()->save($vote); } - DB::commit(); if($poll->duplicate_vote_checking == 'cookies') { @@ -162,8 +161,7 @@ class PollController extends Controller $code->save(); } - //return redirect('PollController@viewResults', ['poll' => $poll]); - return view('view_poll')->with('poll', $poll)->with('new', false); + return redirect()->action('PollController@viewResults', ['poll' => $poll])->with('voted', true); } public function admin(Request $request, Poll $poll) diff --git a/app/Poll.php b/app/Poll.php index 14f2623..dc13794 100644 --- a/app/Poll.php +++ b/app/Poll.php @@ -4,6 +4,8 @@ namespace App; use Illuminate\Database\Eloquent\Model; +use Carbon\Carbon; + class Poll extends Model { public $timestamps = false; @@ -58,6 +60,6 @@ class Poll extends Model public function getResultsVisibleAttribute() { - return !$this->hide_results_until_closed || ($this->closes_at != null && $this->closes_at->isPast()); + return !$this->hide_results_until_closed || ($this->closes_at != null && Carbon::parse($this->closes_at)->isPast()); } } diff --git a/resources/views/view_poll.blade.php b/resources/views/view_poll.blade.php index 9fea38c..1ea1a64 100644 --- a/resources/views/view_poll.blade.php +++ b/resources/views/view_poll.blade.php @@ -16,7 +16,7 @@ $type = $poll->allow_multiple_answers ? "checkbox" : "radio"; Voting URLs: @else - Poll URL: $poll]) }}> + Poll URL: {{ action('PollController@view', ['poll' => $poll]) }} @endif @@ -25,9 +25,9 @@ $type = $poll->allow_multiple_answers ? "checkbox" : "radio";
@if ($hasVoted) @if (!$new || $poll->duplicate_vote_checking != 'codes') - You have already voted on this poll or need a code to vote. - -
+
+ You have already voted on this poll or need a code to vote. +
@if ($poll->results_visible)
diff --git a/resources/views/view_poll_results.blade.php b/resources/views/view_poll_results.blade.php new file mode 100644 index 0000000..cf542a6 --- /dev/null +++ b/resources/views/view_poll_results.blade.php @@ -0,0 +1,30 @@ +@extends('layouts.app') + +@section('title', "Results for '" . $poll->question . "'") + +@section('content') + @if ($voted) +
+ Your vote has been recorded!
+
+ @endif + + @if($poll->results_visible) +
+
+
+ TODO: Put results here. +
+
+
+
+ TODO: Put a pie chart here. +
+
+
+ @else +
+ Results for this poll are hidden until the poll is closed. +
+ @endif +@endsection