From e6527a72af214f987ed90282d55eb803444cd215 Mon Sep 17 00:00:00 2001 From: Shikiryu Date: Wed, 25 Sep 2019 15:20:22 +0200 Subject: [PATCH] =?UTF-8?q?:art:=20Emp=C3=AAche=202=20posts=20par=20jour?= =?UTF-8?q?=20et=20am=C3=A9liore=20l'affichage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/HomeController.php | 22 +++- app/Http/Controllers/WelcomeController.php | 15 +++ app/Post.php | 9 ++ resources/views/home.blade.php | 8 +- resources/views/welcome.blade.php | 126 ++++++--------------- routes/web.php | 7 +- 6 files changed, 82 insertions(+), 105 deletions(-) create mode 100644 app/Http/Controllers/WelcomeController.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 71b42e9..5268516 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -2,7 +2,8 @@ namespace App\Http\Controllers; -use Illuminate\Http\Request; +use App\Post; +use DateTime; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; @@ -26,11 +27,20 @@ class HomeController extends Controller public function index() { setlocale(LC_TIME, 'fr_FR.utf8'); - $today = new \DateTime(); + $today = new DateTime(); + $user_id = Auth::user()->getAuthIdentifier(); + $posts = Post::where('user_id', $user_id)->orderBy('date_post', 'DESC')->get(); + $today_post = Post::whereDate('date_post', '=', $today->format('Y-m-d')) + ->where('user_id', $user_id) + ->count(); - $posts = \App\Post::where('user_id', Auth::user()->getAuthIdentifier())->get(); + $already = false; + if ($today_post > 0) { + $already = true; + } return view('home', [ + 'already' => $already, 'today' => $today, 'posts' => $posts, ]); @@ -38,17 +48,19 @@ class HomeController extends Controller public function store() { + $today = new DateTime(); + $data = request()->validate([ 'message' => 'required' ]); $data = [ 'user_id' => Auth::user()->getAuthIdentifier(), - 'date_post' => new \DateTime(), // Take back the date from the form ? + 'date_post' => new DateTime(), // Take back the date from the form ? 'content' => $data['message'], ]; - $check = \App\Post::create($data); + $check = Post::create($data); return Redirect::to('home')->withSuccess('Great! Form successfully submit with validation.'); } diff --git a/app/Http/Controllers/WelcomeController.php b/app/Http/Controllers/WelcomeController.php new file mode 100644 index 0000000..f7cba65 --- /dev/null +++ b/app/Http/Controllers/WelcomeController.php @@ -0,0 +1,15 @@ + new \DateTime(), + ]); + } +} diff --git a/app/Post.php b/app/Post.php index e2a77eb..5f112ca 100644 --- a/app/Post.php +++ b/app/Post.php @@ -23,4 +23,13 @@ class Post extends Model protected $hidden = [ ]; + + /** + * The attributes that should be cast to native types. + * + * @var array + */ + protected $casts = [ + 'date_post' => 'datetime', + ]; } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index e016c87..cfcfed1 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -5,7 +5,7 @@
-
Dashboard
+
{{ __('Dashboard') }}
@if (session('status')) @@ -15,6 +15,9 @@ @endif

{{ strftime('%B %G', $today->format('U')) }}

+ @if($already) + + @else
@csrf
@@ -32,9 +35,10 @@
+ @endif @foreach($posts as $post)
-

{{ $post->date_post }}

+

{{ \Carbon\Carbon::instance($post->date_post)->diffForHumans() }}

{{ $post->content }}

@endforeach diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 3fb48cc..caff2a3 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,100 +1,40 @@ - - - - - +@extends('layouts.app') - Laravel +@section('content') +
+
+
+
+
{{ __('Accueil') }}
- - - - - - - -
- @if (Route::has('login')) -
- - +
+@endsection diff --git a/routes/web.php b/routes/web.php index c1bc654..0af147d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -11,11 +11,8 @@ | */ -Route::get('/', function () { - return view('welcome'); -}); - Auth::routes(); -Route::get('/home', 'HomeController@index')->name('home'); +Route::get('/', 'WelcomeController@index')->name('home'); +Route::get('/home', 'HomeController@index')->name('dashboard'); Route::post('store', 'HomeController@store')->name('store');