From 8f46a19771c12c9f20decff9faf66a314ae22f69 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Mon, 18 Mar 2024 16:10:01 +0100 Subject: [PATCH] clean controllers --- .vscode/settings.json | 2 +- .../Controllers/Bo/DashboardController.php | 3 +- app/Http/Controllers/Fo/HireController.php | 29 ----------- app/Http/Controllers/Fo/NewsController.php | 9 ++-- app/Http/Controllers/Fo/SiteController.php | 29 ----------- .../Controllers/Fo/StaticPageController.php | 51 +++++++++++++++++++ app/Providers/RouteServiceProvider.php | 1 - resources/views/fo/pages/hire.blade.php | 27 +++------- routes/web-fo.php | 6 +-- 9 files changed, 68 insertions(+), 89 deletions(-) delete mode 100644 app/Http/Controllers/Fo/HireController.php delete mode 100644 app/Http/Controllers/Fo/SiteController.php diff --git a/.vscode/settings.json b/.vscode/settings.json index fc2d189..7725b33 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,7 +20,7 @@ "commandCenter.border": "#e7e7e799" }, "peacock.remoteColor": "#103251", - "intelephense.environment.phpVersion": "8.2.0", + "intelephense.environment.phpVersion": "8.3.0", "intelephense.completion.fullyQualifyGlobalConstantsAndFunctions": true, "intelephense.phpdoc.useFullyQualifiedNames": true } diff --git a/app/Http/Controllers/Bo/DashboardController.php b/app/Http/Controllers/Bo/DashboardController.php index 960a9c1..e28be1b 100644 --- a/app/Http/Controllers/Bo/DashboardController.php +++ b/app/Http/Controllers/Bo/DashboardController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; -use Illuminate\Contracts\View\View; class DashboardController extends Controller { @@ -12,7 +11,7 @@ class DashboardController extends Controller * * @return \Illuminate\Contracts\View\View */ - public function index(): View + public function index(): \Illuminate\Contracts\View\View { return view('bo.pages.dashboard'); } diff --git a/app/Http/Controllers/Fo/HireController.php b/app/Http/Controllers/Fo/HireController.php deleted file mode 100644 index cd9df4a..0000000 --- a/app/Http/Controllers/Fo/HireController.php +++ /dev/null @@ -1,29 +0,0 @@ -where('type', StaticPageType::we_hire)->first(); - $sectionModels = Section::query()->where('page_id', $staticPageModel->id)->get(); - $videoModels = JobVideo::query()->inRandomOrder()->simplePaginate(4); - $testimonialModels = Testimonial::query()->where('type', TypeEnum::hire)->get(); - - return view('fo.pages.hire', \compact('staticPageModel', 'sectionModels', 'videoModels', 'testimonialModels')); - } -} diff --git a/app/Http/Controllers/Fo/NewsController.php b/app/Http/Controllers/Fo/NewsController.php index 8246886..937cb86 100644 --- a/app/Http/Controllers/Fo/NewsController.php +++ b/app/Http/Controllers/Fo/NewsController.php @@ -7,7 +7,6 @@ use App\Http\Controllers\Controller; use App\Models\News; use App\Models\Section; use App\Models\StaticPage; -use Illuminate\Database\Eloquent\Builder; class NewsController extends Controller { @@ -34,16 +33,18 @@ class NewsController extends Controller public function show(News $news): \Illuminate\Contracts\View\View { // Get only id from published news. + // @phpcs:disabled + // @phpstan-ignore-next-line $publishedNews = News::query()->where('published', true)->orderBy('publish_at', 'DESC')->get()->pluck('id'); + // @phpcs:enable // Search the position of the current news id. $positionId = \array_search($news->id, $publishedNews->toArray()); // Check if it's the last position. - $nextPositionId = ($positionId === count($publishedNews) - 1) ? 0 : intval($positionId) + 1 ; + $nextPositionId = ($positionId === count($publishedNews) - 1) ? 0 : intval($positionId) + 1; // Find the next news from the id. $nextNews = News::query()->where('id', $publishedNews[$nextPositionId])->firstOrFail(); - // Check if it's the first position. - $prevPositionId = ($positionId === 0) ? count($publishedNews) - 1 : intval($positionId) - 1 ; + $prevPositionId = ($positionId === 0) ? count($publishedNews) - 1 : intval($positionId) - 1; // Find the next news from the id. $prevNews = News::query()->where('id', $publishedNews[$prevPositionId])->firstOrFail(); diff --git a/app/Http/Controllers/Fo/SiteController.php b/app/Http/Controllers/Fo/SiteController.php deleted file mode 100644 index 21875b5..0000000 --- a/app/Http/Controllers/Fo/SiteController.php +++ /dev/null @@ -1,29 +0,0 @@ -order === Site::query()->max('order')) { - $nextSiteModel = Site::query()->orderBy('order')->first(); - } else { - $nextSiteModel = Site::query()->orderBy('order')->where('order', '>', $site->order)->first(); - } - - return view('fo.pages.site', [ - 'siteModel' => $site, - 'nextSiteModel' => $nextSiteModel - ]); - } -} diff --git a/app/Http/Controllers/Fo/StaticPageController.php b/app/Http/Controllers/Fo/StaticPageController.php index 9493b92..3ef6df1 100644 --- a/app/Http/Controllers/Fo/StaticPageController.php +++ b/app/Http/Controllers/Fo/StaticPageController.php @@ -12,6 +12,7 @@ use App\Http\Requests\Fo\ListenFormRequest; use App\Mail\SendConfirmationMail; use App\Mail\SendContactMail; use App\Models\HistoricalMilestone; +use App\Models\JobVideo; use App\Models\Section; use App\Models\Site; use App\Models\Slide; @@ -171,4 +172,54 @@ class StaticPageController extends Controller ['appName' => config('app.name')] )); } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Contracts\View\View + */ + public function hire(): \Illuminate\Contracts\View\View + { + $staticPageModel = StaticPage::query()->where('type', StaticPageType::we_hire)->first(); + $sectionModels = Section::query()->where('page_id', $staticPageModel->id)->get(); + $videoModels = JobVideo::query()->inRandomOrder()->simplePaginate(4); + $testimonialModels = Testimonial::query()->where('type', TypeEnum::hire)->get(); + $compagnyLifeSection = $sectionModels->where('section', PageSectionEnum::hire_life)->first(); + $formationSection = $sectionModels->where('section', PageSectionEnum::hire_formation)->first(); + $testimonialSection = $sectionModels->where('section', PageSectionEnum::hire_grow)->first(); + $paritySection = $sectionModels->where('section', PageSectionEnum::hire_parity)->first(); + $findSection = $sectionModels->where('section', PageSectionEnum::hire_find)->first(); + + return view('fo.pages.hire', \compact( + 'staticPageModel', + 'sectionModels', + 'videoModels', + 'testimonialModels', + 'compagnyLifeSection', + 'formationSection', + 'testimonialSection', + 'paritySection', + 'findSection' + )); + } + + /** + * Display a listing of the resource. + * + * @param \App\Models\Site $site + * @return \Illuminate\Contracts\View\View + */ + public function site(Site $site): \Illuminate\Contracts\View\View + { + if ($site->order === Site::query()->max('order')) { + $nextSiteModel = Site::query()->orderBy('order')->first(); + } else { + $nextSiteModel = Site::query()->orderBy('order')->where('order', '>', $site->order)->first(); + } + + return view('fo.pages.site', [ + 'siteModel' => $site, + 'nextSiteModel' => $nextSiteModel + ]); + } } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 52b28bb..afa6094 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -2,7 +2,6 @@ namespace App\Providers; -use App\Models\News; use App\Models\Strip; use App\Models\User; use Illuminate\Cache\RateLimiting\Limit; diff --git a/resources/views/fo/pages/hire.blade.php b/resources/views/fo/pages/hire.blade.php index 000c3f0..642f440 100644 --- a/resources/views/fo/pages/hire.blade.php +++ b/resources/views/fo/pages/hire.blade.php @@ -18,9 +18,6 @@ @section('content')
{{-- COMPAGNY LIFE --}} - @php - $compagnyLifeSection = $sectionModels->where('section', \App\Enums\Sections\PageSectionEnum::hire_life)->first(); - @endphp
@@ -45,8 +42,10 @@
- @endforeach @@ -113,9 +114,6 @@
{{-- FORMATION --}} - @php - $formationSection = $sectionModels->where('section', \App\Enums\Sections\PageSectionEnum::hire_formation)->first(); - @endphp {{-- FIXME: Toute cette partie est a revoir Toutes les illustrations devraient être adminisatrable en BO (optionnel) Tous les chiffres clés sont a l'heure actuelle dans le wysiwyg, @@ -137,9 +135,6 @@
{{-- TESTIMONIALS --}} - @php - $testimonialSection = $sectionModels->where('section', \App\Enums\Sections\PageSectionEnum::hire_grow)->first(); - @endphp
@@ -185,9 +180,6 @@
{{-- PARITY --}} - @php - $paritySection = $sectionModels->where('section', \App\Enums\Sections\PageSectionEnum::hire_parity)->first(); - @endphp
@@ -260,9 +252,6 @@
{{-- FIND --}} - @php - $findSection = $sectionModels->where('section', \App\Enums\Sections\PageSectionEnum::hire_find)->first(); - @endphp
diff --git a/routes/web-fo.php b/routes/web-fo.php index a35ecda..b14e7d9 100644 --- a/routes/web-fo.php +++ b/routes/web-fo.php @@ -1,7 +1,5 @@ name('fo.')->group(function () { Route::get('/on-se-devoile', [StaticPageController::class, 'unveil'])->name('unveil.show'); Route::get('/on-sengage', [StaticPageController::class, 'commit'])->name('commit.show'); Route::get('/on-vous-ecoute', [StaticPageController::class, 'listen'])->name('listen.show'); - Route::get('/sites/{site:slug}', [SiteController::class, 'show'])->name('sites.show'); + Route::get('/sites/{site:slug}', [StaticPageController::class, 'site'])->name('sites.show'); Route::get('/on-bouge', [NewsController::class, 'index'])->name('news.index'); Route::get('/on-bouge/{news:slug}', [NewsController::class, 'show'])->name('news.show'); - Route::get('/on-embauche', [HireController::class, 'show'])->name('hire.show'); + Route::get('/on-embauche', [StaticPageController::class, 'hire'])->name('hire.show'); Route::get('/on-produit', [StaticPageController::class, 'produce'])->name('produce.show'); // * RGPD