From bc3f2a0df0037c5d3d9ea36d49ed107a3c78763d Mon Sep 17 00:00:00 2001 From: Louis Jeckel Date: Thu, 13 Aug 2020 17:47:02 +0200 Subject: [PATCH] add social articles --- .../Controllers/Admin/PdfFileController.php | 4 ++ .../Admin/SocialArticleController.php | 24 +++++++++++ .../Controllers/SocialArticleController.php | 27 +++++++++++++ .../Requests/Admin/SocialArticleRequest.php | 18 +++++++++ app/Models/Article.php | 7 +++- app/Models/Revisions/GuestRevision.php | 10 ----- .../Revisions/SocialArticleRevision.php | 10 +++++ app/Models/Slugs/SocialArticleSlug.php | 10 +++++ app/Models/SocialArticle.php | 40 +++++++++++++++++++ app/Models/Translations/GuestTranslation.php | 11 ----- app/PdfFile.php | 5 ++- app/Repositories/SocialArticleRepository.php | 22 ++++++++++ config/twill-navigation.php | 18 ++++++++- ...3_145002_create_social_articles_tables.php | 35 ++++++++++++++++ resources/views/admin/pdfFiles/form.blade.php | 2 +- .../views/admin/socialArticles/form.blade.php | 5 +++ resources/views/errors/404.blade.php | 18 +++++++-- resources/views/site/layouts/block.blade.php | 8 +++- .../views/social-articles/show.blade.php | 23 +++++++++++ routes/admin.php | 5 +++ routes/web.php | 2 + 21 files changed, 273 insertions(+), 31 deletions(-) create mode 100644 app/Http/Controllers/Admin/SocialArticleController.php create mode 100644 app/Http/Controllers/SocialArticleController.php create mode 100644 app/Http/Requests/Admin/SocialArticleRequest.php delete mode 100644 app/Models/Revisions/GuestRevision.php create mode 100644 app/Models/Revisions/SocialArticleRevision.php create mode 100644 app/Models/Slugs/SocialArticleSlug.php create mode 100644 app/Models/SocialArticle.php delete mode 100644 app/Models/Translations/GuestTranslation.php create mode 100644 app/Repositories/SocialArticleRepository.php create mode 100644 database/migrations/2020_08_13_145002_create_social_articles_tables.php create mode 100644 resources/views/admin/socialArticles/form.blade.php create mode 100644 resources/views/social-articles/show.blade.php diff --git a/app/Http/Controllers/Admin/PdfFileController.php b/app/Http/Controllers/Admin/PdfFileController.php index 8f564b6..b278ed5 100644 --- a/app/Http/Controllers/Admin/PdfFileController.php +++ b/app/Http/Controllers/Admin/PdfFileController.php @@ -9,5 +9,9 @@ class PdfFileController extends ModuleController protected $moduleName = 'pdfFiles'; + + + + } diff --git a/app/Http/Controllers/Admin/SocialArticleController.php b/app/Http/Controllers/Admin/SocialArticleController.php new file mode 100644 index 0000000..14558d5 --- /dev/null +++ b/app/Http/Controllers/Admin/SocialArticleController.php @@ -0,0 +1,24 @@ + [ + 'title' => 'Titre', + 'field' => 'title', + 'sort' => true, + ], + 'count' => [ + 'title' => "Nombre d'impressions", + 'field' => 'count', + ], + ]; + + protected $permalinkBase = 'article'; +} diff --git a/app/Http/Controllers/SocialArticleController.php b/app/Http/Controllers/SocialArticleController.php new file mode 100644 index 0000000..3827455 --- /dev/null +++ b/app/Http/Controllers/SocialArticleController.php @@ -0,0 +1,27 @@ +forSlug($slug); + + if($article === null) { + abort(404, "Cet article n'existe pas !"); + } + + $article->addView(); + + \View::share('article', $article); + + return view('social-articles.show'); + } +} diff --git a/app/Http/Requests/Admin/SocialArticleRequest.php b/app/Http/Requests/Admin/SocialArticleRequest.php new file mode 100644 index 0000000..eb0d880 --- /dev/null +++ b/app/Http/Requests/Admin/SocialArticleRequest.php @@ -0,0 +1,18 @@ + [ 'desktop' => [ @@ -55,4 +55,7 @@ class Article extends Model implements Sortable ], ], ]; + + + } diff --git a/app/Models/Revisions/GuestRevision.php b/app/Models/Revisions/GuestRevision.php deleted file mode 100644 index 2323f1b..0000000 --- a/app/Models/Revisions/GuestRevision.php +++ /dev/null @@ -1,10 +0,0 @@ -count ++; + $this->save(); + } + + +} diff --git a/app/Models/Translations/GuestTranslation.php b/app/Models/Translations/GuestTranslation.php deleted file mode 100644 index d74eae6..0000000 --- a/app/Models/Translations/GuestTranslation.php +++ /dev/null @@ -1,11 +0,0 @@ -model = $model; + } +} diff --git a/config/twill-navigation.php b/config/twill-navigation.php index 29e71d6..5e954f2 100644 --- a/config/twill-navigation.php +++ b/config/twill-navigation.php @@ -12,13 +12,18 @@ return [ 'route' => 'admin.publish', ], 'content' => [ - 'title' => 'Gestion du Contenu', + 'title' => 'Contenu du site', 'route' => 'admin.content.homepage', 'primary_navigation' => [ 'homepage' => [ 'title' => "Page d'accueil", 'route' => 'admin.content.homepage', ], +// 'pdfFiles' => [ +// 'title' => 'Lettres', +// 'module' => true +// ], + 'adCampaigns' => [ 'title' => 'Campagnes publicitaires', 'module' => true @@ -65,6 +70,17 @@ return [ ] ] ], + 'other_content' => [ + 'title' => 'Autre contenu', + 'route' => 'admin.other-content.socialArticles.index', + 'primary_navigation' => [ + 'socialArticles' => [ + 'title' => 'Articles réseaux sociaux', + 'module' => true + ] + + ] + ] diff --git a/database/migrations/2020_08_13_145002_create_social_articles_tables.php b/database/migrations/2020_08_13_145002_create_social_articles_tables.php new file mode 100644 index 0000000..d60ef3e --- /dev/null +++ b/database/migrations/2020_08_13_145002_create_social_articles_tables.php @@ -0,0 +1,35 @@ +string('title'); + $table->unsignedInteger('count')->default(0); + + + // add those 2 columns to enable publication timeframe fields (you can use publish_start_date only if you don't need to provide the ability to specify an end date) + // $table->timestamp('publish_start_date')->nullable(); + // $table->timestamp('publish_end_date')->nullable(); + }); + + + Schema::create('social_article_slugs', function (Blueprint $table) { + createDefaultSlugsTableFields($table, 'social_article'); + }); + + } + + public function down() + { + Schema::dropIfExists('social_article_slugs'); + Schema::dropIfExists('social_articles'); + } +} diff --git a/resources/views/admin/pdfFiles/form.blade.php b/resources/views/admin/pdfFiles/form.blade.php index 2a22637..7ae7e6c 100644 --- a/resources/views/admin/pdfFiles/form.blade.php +++ b/resources/views/admin/pdfFiles/form.blade.php @@ -2,7 +2,7 @@ @section('contentFields') @formField('input', [ - 'name' => 'description', + 'name' => 'slug', 'label' => 'Description', 'maxlength' => 100 ]) diff --git a/resources/views/admin/socialArticles/form.blade.php b/resources/views/admin/socialArticles/form.blade.php new file mode 100644 index 0000000..7dacf56 --- /dev/null +++ b/resources/views/admin/socialArticles/form.blade.php @@ -0,0 +1,5 @@ +@extends('twill::layouts.form') + +@section('contentFields') + @formField('block_editor', ['blocks' => ['image', 'text', 'youtube']]) +@stop diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php index 7549540..fc64aaa 100644 --- a/resources/views/errors/404.blade.php +++ b/resources/views/errors/404.blade.php @@ -1,5 +1,15 @@ -@extends('errors::minimal') - +@extends('layouts.app') @section('title', __('Not Found')) -@section('code', '404') -@section('message', __('Not Found')) + +@section('content') + +
+ + +

{{($m = $exception->getMessage()) === '' ? __('Not Found') : $m }}

+ +

Cette page est introuvable... cliquez ici pour retourner sur la page d'accueil

+ + +
+@endsection diff --git a/resources/views/site/layouts/block.blade.php b/resources/views/site/layouts/block.blade.php index 7653476..43f1dce 100644 --- a/resources/views/site/layouts/block.blade.php +++ b/resources/views/site/layouts/block.blade.php @@ -1,6 +1,12 @@ @extends('layouts.app', ['hideNav' => true]) @section('content') - @yield('content') +
+
+ @yield('content') + +
+ +
@endsection diff --git a/resources/views/social-articles/show.blade.php b/resources/views/social-articles/show.blade.php new file mode 100644 index 0000000..b4738a5 --- /dev/null +++ b/resources/views/social-articles/show.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('content') + +
+
+ +
+ +
+
+

{{$article->title}}

+
+ {!! $article->renderBlocks() !!} +
+ +
+ +
+ +
+ +@endsection diff --git a/routes/admin.php b/routes/admin.php index 7abe2c0..afdd22d 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -5,6 +5,7 @@ Route::module('pdfFiles'); /** Dynamic content */ Route::prefix('content')->group(function() { + Route::module('pdfFiles'); Route::module('articles'); Route::module('adCampaigns'); Route::module('events'); @@ -17,6 +18,10 @@ Route::prefix('settings')->group(function() { Route::module('pillBoxSpaces'); }); +Route::prefix('other-content')->group(function () { + Route::module('socialArticles'); +}); + /** Publishing and mass sending process */ Route::prefix('publish')->group(function() { diff --git a/routes/web.php b/routes/web.php index 01b1b03..6ca9a52 100644 --- a/routes/web.php +++ b/routes/web.php @@ -68,6 +68,8 @@ Route::domain(env('CLIENT_DOMAIN_NAME'))->group(function() { Route::get('{slug}', 'ActuLabosController@show')->name('actus-labos.show'); }); + Route::get('article/{slug}', 'SocialArticleController@show')->name('social-article.show'); + /** Metadata */ Route::prefix('/files/{file:slug}')->group(function () { Route::get('/cover', 'FileController@cover'); -- 2.39.5