}
/**
+ * @param AdCampaignRepository $repository
* @return \Illuminate\View\View
- *
*/
- public function index()
+ public function index(AdCampaignRepository $repository)
{
$campaigns = AdCampaign::query()
- ->orderByDesc('id')
+ ->orderBy('position')
->take(3)
->published()
->visible()
protected $permalinkBase = 'campagnes-et-communication';
protected $indexOptions = [
-// 'reorder' => true
+ 'reorder' => true
];
+
}
public function index()
{
\View::share('humeur', Humeur::query()->orderByDesc('id')->firstOrFail());
- $agenda = WeeklyAgenda::query()
+ $agendas = WeeklyAgenda::query()
->orderBy('start_date')
->where('start_date', '>=', now()->addDay()->startof('week'))
- ->first();
- \View::share('agenda', $agenda);
+ ->take(4)
+ ->get();
+ \View::share('agendas', $agendas);
\View::share('title', "Agenda et Humeur");
return view('en-plus.index');
* @package App\Models
* @property Carbon $start_date
* @property-read Carbon $end_date
+ * @property int $id
*/
class WeeklyAgenda extends Model
{
return $this->startDateCarbon()->format('d/m/Y');
}
+ /**
+ * @return string
+ */
public function getFullTitle()
{
- return "Semaine du {$this->startDateCarbon()->format('d/m/Y')} au {$this->endDateCarbon()->format('d/m/Y')}";
+ return "Semaine du ".$this->getDatesString();
+ }
+
+ /**
+ * @return string
+ */
+ public function getDatesString()
+ {
+ return "{$this->startDateCarbon()->format('d/m/Y')} au {$this->endDateCarbon()->format('d/m/Y')}";
}
+ /*
+ *
+ */
public function getUrlAttribute()
{
- return route('agenda.show', ['agenda' => $this->id]);
+ return route('agenda.show', ['agenda' => $this->start_date]);
}
return $this->startDateCarbon()->addWeek();
}
+ /**
+ * @return WeeklyAgenda|null
+ */
+ public function nextWeek(): ?WeeklyAgenda
+ {
+ return self::query()
+ ->orderBy('start_date')
+ ->where('start_date', '>', $this->start_date)
+ ->first();
+ }
+
+ /**
+ * @return WeeklyAgenda|null
+ */
+ public function previousWeek(): ?WeeklyAgenda
+ {
+ return self::query()
+ ->orderByDesc('start_date')
+ ->where('start_date', '<', $this->start_date)
+ ->first();
+ }
/**
* @return string|null
--- /dev/null
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddPositionToAdCampaigns extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::table('ad_campaigns', function (Blueprint $table) {
+ //
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('ad_campaigns', function (Blueprint $table) {
+ //
+ });
+ }
+}
@section('content')
<div class="container psq-labos">
<h1>L'actu des labos</h1>
- <h2 class="text-center">Une séléction de nos articles publiés cette semaine</h2>
+ <h2 class="text-center">Une sélection de nos articles publiés récemment</h2>
<div class="mt-5 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
+ <a href="{!! $url!!}" target="_blank">
+ @endif
- <img src="{{$imageService::getUrl($event->uuid)}}" alt="" class="w-100">
- @if(!empty($url))
- </a>
+ <img src="{{$imageService::getUrl($event->uuid)}}" alt="" class="w-100">
+ @if(!empty($url))
+ </a>
@endif
</div>
</div>
+ <div class="row">
+ <div class="col-6">
+ @if(null !== $a = $agenda->previousWeek())
+ <a href="{{$a->url}}" class="btn btn-back">❮ Semaine précédente</a>
+ @endif
+ </div>
+ <div class="col-6">
+ @if(null !== $a = $agenda->nextWeek())
+ <a href="{{$a->url}}" class="btn btn-back float-right">Semaine suivante ❯</a>
+ @endif
+ </div>
+ </div>
+
+
</div>
</div>
<div class="col-sm-6">
<h1>L’AGENDA DES ACTEURS DU MÉDICAMENT</h1>
- @if($agenda === null)
+ @if(count($agendas) === 0)
<h2>Aucun événement pour cette semaine...</h2>
@else
- @if($event = $agenda->imageObject('events'))
- @if(!empty($url = $event->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))
+ <p class="text-left my-3" style="font-size: x-large">
+ Les Conférences de presse, les Colloques, les Rendez-Vous et les Dates essentielles des acteurs du Médicament et de leurs Partenaires
+ </p>
+
+
+ <h3>Les Rendez-Vous de la Pharma du </h3>
+ <ul>
+
+ @foreach($agendas as $agenda)
+ <li>
+ <a href="{{$agenda->url}}" class="click-here text-left mt-3">
+ {{$agenda->getDatesString()}}
</a>
- @endif
- @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>
+
+ </li>
+
+
+ @endforeach
+ </ul>
+
@endif
</div>
</div>