]> _ Git - psq.git/commitdiff
humeurs et agenda
authorLouis Jeckel <louis.jeckel@outlook.cm>
Fri, 4 Sep 2020 09:34:57 +0000 (11:34 +0200)
committerLouis Jeckel <louis.jeckel@outlook.cm>
Fri, 4 Sep 2020 09:34:57 +0000 (11:34 +0200)
14 files changed:
.idea/dictionaries/Louis.xml
app/Http/Controllers/AgendaController.php [new file with mode: 0644]
app/Http/Controllers/EnPlusController.php [new file with mode: 0644]
app/Http/Controllers/HumeurController.php [new file with mode: 0644]
app/Models/Humeur.php
app/Models/WeeklyAgenda.php
public/img/humeurs/olivier.jpg [new file with mode: 0644]
resources/views/agenda-humeurs/index.blade.php [deleted file]
resources/views/components/nav.blade.php
resources/views/en-plus/agenda/show.blade.php [new file with mode: 0644]
resources/views/en-plus/humeurs/show.blade.php [new file with mode: 0644]
resources/views/en-plus/index.blade.php [new file with mode: 0644]
resources/views/errors/404.blade.php
routes/web.php

index 24e8316fa977ce093d0360f6508c95c340d551d8..2dba9ce4d88e6fb821bc29490ebb7c5c7d772a33 100644 (file)
@@ -1,6 +1,8 @@
 <component name="ProjectDictionaryState">
   <dictionary name="Louis">
     <words>
+      <w>humeur</w>
+      <w>humeurs</w>
       <w>mailgun</w>
       <w>podcast</w>
       <w>webhook</w>
diff --git a/app/Http/Controllers/AgendaController.php b/app/Http/Controllers/AgendaController.php
new file mode 100644 (file)
index 0000000..c0a5f49
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\WeeklyAgenda;
+use Illuminate\Http\Request;
+
+class AgendaController extends Controller
+{
+    public function show(WeeklyAgenda $agenda)
+    {
+        \View::share('agenda', $agenda);
+        return view('en-plus.agenda.show');
+    }
+}
diff --git a/app/Http/Controllers/EnPlusController.php b/app/Http/Controllers/EnPlusController.php
new file mode 100644 (file)
index 0000000..2199e6a
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\Humeur;
+use App\Models\WeeklyAgenda;
+use Illuminate\Http\Request;
+
+class EnPlusController extends Controller
+{
+
+    public function index()
+    {
+        \View::share('humeur', Humeur::query()->orderByDesc('id')->firstOrFail());
+        \View::share('agenda', WeeklyAgenda::query()->orderByDesc('id')->firstOrFail());
+
+        return view('en-plus.index');
+    }
+}
diff --git a/app/Http/Controllers/HumeurController.php b/app/Http/Controllers/HumeurController.php
new file mode 100644 (file)
index 0000000..bab5c1b
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\Humeur;
+use App\Repositories\HumeurRepository;
+use Illuminate\Http\Request;
+
+class HumeurController extends Controller
+{
+    public function show($slug, HumeurRepository $repository)
+    {
+        /** @var Humeur $article */
+        $humeur = $repository->forSlug($slug);
+        abort_if($humeur === null, 404);
+
+        \View::share('humeur', $humeur);
+        return view('en-plus.humeurs.show');
+
+    }
+}
index acb9dc43fb95d2e0b0548a1ed4da088d99b69d13..32711d0fb621161a4cb6080560daab32eb28be30 100644 (file)
@@ -5,6 +5,11 @@ namespace App\Models;
 use A17\Twill\Models\Behaviors\HasSlug;
 use A17\Twill\Models\Model;
 
+/**
+ * Class Humeur
+ * @package App\Models
+ * @property string $link
+ */
 class Humeur extends Model
 {
     use HasSlug;
@@ -21,4 +26,13 @@ class Humeur extends Model
         'title',
     ];
 
+
+    /**
+     * @return string
+     */
+    public function getLinkAttribute(): string
+    {
+        return route('humeur.show', ['slug' => $this->slug]);
+    }
+
 }
index c18a2219f4f076b212c4957c9ae10e8be8418131..0e5da816d8df28072bef2deb128876d24d934cd5 100644 (file)
@@ -5,7 +5,14 @@ namespace App\Models;
 use A17\Twill\Models\Behaviors\HasBlocks;
 use A17\Twill\Models\Behaviors\HasMedias;
 use A17\Twill\Models\Model;
-
+use Carbon\Carbon;
+
+/**
+ * Class WeeklyAgenda
+ * @package App\Models
+ * @property Carbon $start_date
+ * @property-read Carbon $end_date
+ */
 class WeeklyAgenda extends Model
 {
     use HasMedias;
@@ -15,6 +22,8 @@ class WeeklyAgenda extends Model
         'title',
     ];
 
+    protected $dates = ['start_date'];
+
     protected $appends = ['title'];
 
     public $mediasParams = [
@@ -33,6 +42,11 @@ class WeeklyAgenda extends Model
         return $this->start_date;
     }
 
+    public function getEndDateAttribute(): Carbon
+    {
+        return $this->start_date->addWeek();
+    }
+
 
 }
 
diff --git a/public/img/humeurs/olivier.jpg b/public/img/humeurs/olivier.jpg
new file mode 100644 (file)
index 0000000..040175a
Binary files /dev/null and b/public/img/humeurs/olivier.jpg differ
diff --git a/resources/views/agenda-humeurs/index.blade.php b/resources/views/agenda-humeurs/index.blade.php
deleted file mode 100644 (file)
index e69de29..0000000
index 6ed9e683fe264055e33032bc407688b6fbc8d0ca..e09f2623d3d8f492a6caf249916b0f6961964107 100644 (file)
@@ -13,7 +13,7 @@
     </div>
 
     <div>
-        <a href="#">
+        <a href="{{route('humeur-agenda.index')}}">
             <img src="{{asset('img/nav/3-enplus.svg')}}" alt="Pill Icon">
             <p>Agenda<br> & Humeur</p>
         </a>
diff --git a/resources/views/en-plus/agenda/show.blade.php b/resources/views/en-plus/agenda/show.blade.php
new file mode 100644 (file)
index 0000000..8788d7e
--- /dev/null
@@ -0,0 +1,32 @@
+@extends('layouts.app')
+@inject('imageService', \A17\Twill\Services\MediaLibrary\ImageService)
+@section('content')
+
+    <div class="container psq-plus">
+        <h1>Semaine du {{$agenda->start_date->format('d/m/Y')}} au {{$agenda->end_date->format('d/m/Y')}}</h1>
+
+        <div class="row">
+
+            @foreach($agenda->imageObjects('events') as $event)
+                <div class="col-sm-4 mb-2">
+                    @if(!empty($url =  $event->getMetadata('url')))
+                    <a href="{!! $url!!}" target="_blank">
+                    @endif
+
+                        <img src="{{$imageService::getUrl($event->uuid)}}" alt="" class="w-100">
+                    @if(!empty($url))
+                    </a>
+                    @endif
+
+                </div>
+
+
+            @endforeach
+
+        </div>
+
+
+
+    </div>
+
+@endsection
diff --git a/resources/views/en-plus/humeurs/show.blade.php b/resources/views/en-plus/humeurs/show.blade.php
new file mode 100644 (file)
index 0000000..05d85d7
--- /dev/null
@@ -0,0 +1,22 @@
+@extends('layouts.app')
+
+@section('content')
+
+    <div class="container psq-plus">
+        <h1>Nos mauvaises humeurs</h1>
+        <article>
+
+            <h2>{{$humeur->title}}</h2>
+            <div class="content">
+                {!! $humeur->content !!}
+
+            </div>
+        </article>
+
+
+
+
+
+    </div>
+
+@endsection
diff --git a/resources/views/en-plus/index.blade.php b/resources/views/en-plus/index.blade.php
new file mode 100644 (file)
index 0000000..d746b9b
--- /dev/null
@@ -0,0 +1,36 @@
+@extends('layouts.app')
+
+@section('content')
+
+
+    <div class="container psq-plus">
+        <div class="row">
+            <div class="col-sm-6">
+                <h1>Nos mauvaises humeurs</h1>
+                <article class="box p-3 mb-3">
+                    <h2>{{$humeur->title}}</h2>
+                    <p>{!! $humeur->extract !!}</p>
+                    <a href="{{$humeur->link}}" class="click-here">Lire la suite</a>
+                    <p>Par Olivier Robichon</p>
+                    <img src="{{asset('/img/humeurs/olivier.jpg')}}" alt="Photo Olivier Robichon" style="max-width: 100px;">
+                </article>
+                <a href="#" class="click-here text-left">Toutes nos mauvaises humeurs</a>
+
+
+            </div>
+            <div class="col-sm-6">
+                <h1>L’AGENDA DES ACTEURS DU MÉDICAMENT</h1>
+                @if(!empty($url =  $agenda->imageObject('events')->getMetadata('url')))
+                    <a href="{!! $url !!}" target="_blank">
+                @endif
+                    <img style="max-width: 350px;" class="w-100 d-block m-auto" src="{{$agenda->image('events')}}" alt="">
+                @if(!empty($url))
+                </a>
+                @endif
+
+                <a href="{{route('agenda.show', ['agenda' => $agenda->start_date])}}" class="click-here text-left mt-3">Les Conférences de presse, les Colloques, les Rendez-Vous et les Dates essentielles des acteurs du Médicament et de leurs Partenaires</a>
+            </div>
+        </div>
+    </div>
+
+@endsection
index fc64aaaee273bd397a33249b1c50e45f76ed2eca..bcb7ca3ab6147d747db267432f7ab06e8bf9cb58 100644 (file)
@@ -6,8 +6,6 @@
     <div class="container error-404">
 
 
-        <h1>{{($m = $exception->getMessage()) === '' ? __('Not Found') : $m }}</h1>
-
         <p>Cette page est introuvable... <a href="/">cliquez ici pour retourner sur la page d'accueil</a></p>
 
 
index 81eddc9b068be5bca0d99ab33910d2df53ba4247..f5648a333a4beb55e7843ea4d0a3ad348d6a05c4 100644 (file)
@@ -82,6 +82,9 @@ Route::domain(env('CLIENT_DOMAIN_NAME'))->group(function() {
         Route::get('/cover', 'FileController@cover');
     });
 
+    Route::get('agenda-et-humeurs', 'EnPlusController@index')->name('humeur-agenda.index');
+    Route::get('humeur/{slug}', 'HumeurController@show')->name('humeur.show');
+    Route::get('agenda/{agenda:start_date}', 'AgendaController@show')->name('agenda.show');
 
     Route::get('/l/{link:slug}', 'TrackedLinkController@redirect')->name('track');