From 2cbb517ef158806158c988c19591c911d88fe086 Mon Sep 17 00:00:00 2001 From: Anders Date: Wed, 12 Aug 2020 15:17:48 +0200 Subject: [PATCH 1/2] v0.9.0 - Added individual `Read more` buttons on news.index Added NewsType - To see if it's a news, menu, guide or event Added type column to News type_id & arrangement_id (Both needed to see what type (menu,guide,news,event) and arrangement(The individual types ID)) Added NewsTypeSeeder.php Fixed CSS Added & Fixed messages en/dk Fixed Editors Added routing when removing yourself from an event, on events.index --- .../app/Http/Controllers/EventController.php | 19 +++--- .../app/Http/Controllers/GuideController.php | 6 +- .../Http/Controllers/MenuPlanController.php | 4 ++ .../app/Http/Controllers/NewsController.php | 3 +- .../Http/Controllers/NewsTypeController.php | 24 +++++++ .../Http/Controllers/UserEventController.php | 21 ++++++ skolehjem/app/News.php | 2 +- skolehjem/app/NewsType.php | 12 ++++ .../2020_08_06_092000_create_news_table.php | 2 + .../2020_08_11_092000_create_news_type.php | 32 +++++++++ skolehjem/database/seeds/DatabaseSeeder.php | 1 + skolehjem/database/seeds/NewsTypeSeeder.php | 37 ++++++++++ skolehjem/public/css/webapp.css | 4 ++ skolehjem/public/css/webappdark.css | 4 ++ skolehjem/resources/lang/dk/msg.php | 3 + skolehjem/resources/lang/en/msg.php | 7 +- skolehjem/resources/sass/webapp/_default.scss | 4 ++ .../views/admin/events/create.blade.php | 4 +- .../views/admin/events/edit.blade.php | 4 +- .../views/admin/guides/create.blade.php | 4 +- .../views/admin/guides/edit.blade.php | 4 +- .../views/admin/menuplans/create.blade.php | 4 +- .../views/admin/menuplans/edit.blade.php | 4 +- .../views/admin/news/create.blade.php | 4 +- .../resources/views/admin/news/edit.blade.php | 4 +- .../views/app/events/index.blade.php | 11 +-- .../resources/views/app/events/show.blade.php | 4 +- .../views/app/events/yourevents.blade.php | 55 +++++++++++++-- .../views/app/guides/index.blade.php | 4 +- .../resources/views/app/news/index.blade.php | 67 +++++++++++++++---- skolehjem/routes/web.php | 2 + 31 files changed, 304 insertions(+), 56 deletions(-) create mode 100644 skolehjem/app/Http/Controllers/NewsTypeController.php create mode 100644 skolehjem/app/NewsType.php create mode 100644 skolehjem/database/migrations/2020_08_11_092000_create_news_type.php create mode 100644 skolehjem/database/seeds/NewsTypeSeeder.php diff --git a/skolehjem/app/Http/Controllers/EventController.php b/skolehjem/app/Http/Controllers/EventController.php index 423a5df..ad1cdba 100644 --- a/skolehjem/app/Http/Controllers/EventController.php +++ b/skolehjem/app/Http/Controllers/EventController.php @@ -86,12 +86,9 @@ class EventController extends Controller $news->name = "Ny aktivitet"; $news->subname = $event->name; - $news->content = "

" . $this->closetags(substr($event->description, 0, 300)). "

" . - '
'. //route("userevents.createajax", ["event_id" => $event->id ]) - 'Tilmeld'. - ' $event->id ]) .'">Læs mere'. - ' $event->id ]) .'">Se deltagere'. - '
'; + $news->arrangement_id = $event->id; + $news->type_id = '3'; + $news->content = $event->description; $news->resource_id = $event->resource_id; $news->save(); } @@ -184,11 +181,13 @@ class EventController extends Controller $news->name = "Aktivitet opdateret"; $news->subname = $event->name; + $news->arrangement_id = $event->id; + $news->type_id = '3'; $news->content = "

" . $this->closetags(substr($event->description, 0, 300)). "

" . - '
'. //route("userevents.createajax", ["event_id" => $event->id ]) - 'Tilmeld'. - ' $event->id ]) .'">Læs mere'. - ' $event->id ]) .'">Se deltagere'. + '
'. //route("userevents.createajax", ["event_id" => $event->id ]) + 'Tilmeld'. + ' $event->id ]) .'">Læs mere'. + ' $event->id ]) .'">Se deltagere'. '
'; $news->save(); } diff --git a/skolehjem/app/Http/Controllers/GuideController.php b/skolehjem/app/Http/Controllers/GuideController.php index d1f9887..49692a0 100644 --- a/skolehjem/app/Http/Controllers/GuideController.php +++ b/skolehjem/app/Http/Controllers/GuideController.php @@ -80,8 +80,10 @@ class GuideController extends Controller $news->name = "Ny Vejledning"; $news->subname = $guide->name; + $news->arrangement_id = $guide->id; + $news->type_id = '4'; - $news->content = $this->closetags(substr($guide->guide_articles, 0, 300)). '
$guide]). '" class="sde-blue ">Læs mere'; + $news->content = $guide->guide_articles; $news->resource_id = $guide->resource_id; $news->save(); @@ -142,6 +144,8 @@ class GuideController extends Controller $news->name = "Vejledning opdateret"; $news->subname = $guidee->name; + $news->arrangement_id = $guide->id; + $news->type_id = '4'; $news->content = $this->closetags(substr($guidee->guide_articles, 0, 300)). '
$guide]). '" class="sde-blue ">Læs mere'; diff --git a/skolehjem/app/Http/Controllers/MenuPlanController.php b/skolehjem/app/Http/Controllers/MenuPlanController.php index db6bbac..7e9f6f5 100644 --- a/skolehjem/app/Http/Controllers/MenuPlanController.php +++ b/skolehjem/app/Http/Controllers/MenuPlanController.php @@ -77,6 +77,8 @@ class MenuPlanController extends Controller $news->name = "Ny menuplan"; $news->subname = "Uge " . $menuPlan->week; + $news->arrangement_id = $menuPlan->id; + $news->type_id = '2'; $news->content = $menuPlan->menu; if($request->file("resource")) { @@ -142,6 +144,8 @@ class MenuPlanController extends Controller $news->name = "Opdateret menuplan"; $news->subname = "Uge " . $menuplan->week; + $news->arrangement_id = $menuplan->id; + $news->type_id = '2'; $news->content = $menuplan->menu; $news->save(); diff --git a/skolehjem/app/Http/Controllers/NewsController.php b/skolehjem/app/Http/Controllers/NewsController.php index 8e802d5..f6f1144 100644 --- a/skolehjem/app/Http/Controllers/NewsController.php +++ b/skolehjem/app/Http/Controllers/NewsController.php @@ -56,6 +56,7 @@ class NewsController extends Controller $news = new News($data); $news->name = ""; + $news->type_id = '1'; $news->save(); return redirect()->route("news.index"); @@ -93,7 +94,7 @@ class NewsController extends Controller public function update(Request $request, News $news) { $data = $request->validate([ - "name" => "required", + "subname" => "required", "content" => "required" ]); diff --git a/skolehjem/app/Http/Controllers/NewsTypeController.php b/skolehjem/app/Http/Controllers/NewsTypeController.php new file mode 100644 index 0000000..7f59b32 --- /dev/null +++ b/skolehjem/app/Http/Controllers/NewsTypeController.php @@ -0,0 +1,24 @@ +Du er hermed tilmeldt denne aktivitet!

'; } + + public function createajaxcancel(Request $request) + { + // Check the UserEvent table if there is a row that has the user_id AND the event_id + $UserEvent = UserEvent::where('user_id', auth()->user()->id) + ->where('event_id', $request->event_id); + + + // If you are in the Event, then remove yourself. + if (count($UserEvent->get()) > 0) { + // If not, then it keeps going and saves and shows a success message + $UserEvent->delete(); + + if (request()->cookie('languagesSetting') == "dk") + return '

Du er hermed afmeldt aktiviteten!

'; + if (request()->cookie('languagesSetting') == "en") + return '

You are no longer participating in this event!

'; + + return '

Du er hermed afmeldt aktiviteten!

'; + } + } } diff --git a/skolehjem/app/News.php b/skolehjem/app/News.php index fead782..8f6f0c4 100644 --- a/skolehjem/app/News.php +++ b/skolehjem/app/News.php @@ -7,6 +7,6 @@ use Illuminate\Database\Eloquent\Model; class News extends Model { protected $fillable = [ - 'name', 'subname', 'content', 'resource_id' + 'name', 'subname', 'content', 'resource_id', 'arrangement_id', 'type' ]; } diff --git a/skolehjem/app/NewsType.php b/skolehjem/app/NewsType.php new file mode 100644 index 0000000..f07508f --- /dev/null +++ b/skolehjem/app/NewsType.php @@ -0,0 +1,12 @@ +string('subname'); $table->text("content"); $table->foreignId('resource_id')->nullable()->constrained('resources', 'id'); + $table->integer("arrangement_id")->nullable(); //Gets ID from given event, menu, guide or news + $table->foreignid("type_id")->nullable()->constrained("news_types", "id"); $table->timestamps(); }); } diff --git a/skolehjem/database/migrations/2020_08_11_092000_create_news_type.php b/skolehjem/database/migrations/2020_08_11_092000_create_news_type.php new file mode 100644 index 0000000..eca5083 --- /dev/null +++ b/skolehjem/database/migrations/2020_08_11_092000_create_news_type.php @@ -0,0 +1,32 @@ +id(); + $table->string("type"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('news_types'); + } +} diff --git a/skolehjem/database/seeds/DatabaseSeeder.php b/skolehjem/database/seeds/DatabaseSeeder.php index dfd923b..2ab2566 100644 --- a/skolehjem/database/seeds/DatabaseSeeder.php +++ b/skolehjem/database/seeds/DatabaseSeeder.php @@ -16,5 +16,6 @@ class DatabaseSeeder extends Seeder $this->call(UserSeeder::class); $this->call(ContactSeeder::class); $this->call(LocationSeeder::class); + $this->call(NewsTypeSeeder::class); } } diff --git a/skolehjem/database/seeds/NewsTypeSeeder.php b/skolehjem/database/seeds/NewsTypeSeeder.php new file mode 100644 index 0000000..f31b6da --- /dev/null +++ b/skolehjem/database/seeds/NewsTypeSeeder.php @@ -0,0 +1,37 @@ + "News", + ], + [ + 'type' => "Menu", + ], + [ + 'type' => "Activity", + ], + [ + 'type' => "Guide", + ], + ]; + + foreach ($newstypedata as $data) { + $newsType = new \App\NewsType(); + + $newsType->type = $data["type"]; + + $newsType->save(); + } + } +} diff --git a/skolehjem/public/css/webapp.css b/skolehjem/public/css/webapp.css index d31a0be..48bd4a0 100644 --- a/skolehjem/public/css/webapp.css +++ b/skolehjem/public/css/webapp.css @@ -7019,6 +7019,10 @@ main { bottom: 30px; } +.container > * { + word-break: break-word; +} + #snackbar.show { visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; diff --git a/skolehjem/public/css/webappdark.css b/skolehjem/public/css/webappdark.css index a3fa2c4..238bd99 100644 --- a/skolehjem/public/css/webappdark.css +++ b/skolehjem/public/css/webappdark.css @@ -7019,6 +7019,10 @@ main { bottom: 30px; } +.container > * { + word-break: break-word; +} + #snackbar.show { visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; diff --git a/skolehjem/resources/lang/dk/msg.php b/skolehjem/resources/lang/dk/msg.php index 32f5729..fb059ae 100644 --- a/skolehjem/resources/lang/dk/msg.php +++ b/skolehjem/resources/lang/dk/msg.php @@ -53,6 +53,9 @@ return[ "ændrer" => "Skift", "profilbillede" => "Upload profil billede", "omkring" => "Omkring", + "læsmere" => "Læs mere", + "sedeltagere" => "Se deltagere", + "af" => "Af" diff --git a/skolehjem/resources/lang/en/msg.php b/skolehjem/resources/lang/en/msg.php index 6efd68b..a8b7008 100644 --- a/skolehjem/resources/lang/en/msg.php +++ b/skolehjem/resources/lang/en/msg.php @@ -17,7 +17,7 @@ return[ "dereringenmenuplanerdenneuge" => "There is no menu for this week", "uge" => "week", "ugestor" => "Week", - "dereringenaktiviteter" => "There is no activity this week", + "dereringenaktiviteter" => "There are no activities", "setilmeldteaktiviteter" => "See registered Activities", "tilmeldteaktiviteter" => "Your registered Activities", "tilmeldtesnavn" => "Participants", @@ -61,5 +61,8 @@ return[ "ændrebillede" => "Change picture", "ændrer" => "Change", "profilbillede" => "Upload profile picture", - "Omkring" => "About", + "omkring" => "About", + "læsmere" => "Read more", + "sedeltagere" => "See participants", + "af" => "By" ]; diff --git a/skolehjem/resources/sass/webapp/_default.scss b/skolehjem/resources/sass/webapp/_default.scss index 4a33da4..3b6f714 100644 --- a/skolehjem/resources/sass/webapp/_default.scss +++ b/skolehjem/resources/sass/webapp/_default.scss @@ -524,6 +524,10 @@ $primary-color: $blue; bottom: 30px; } +.container > * { + word-break: break-word; +} + #snackbar.show { visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; diff --git a/skolehjem/resources/views/admin/events/create.blade.php b/skolehjem/resources/views/admin/events/create.blade.php index f4bf348..779f707 100644 --- a/skolehjem/resources/views/admin/events/create.blade.php +++ b/skolehjem/resources/views/admin/events/create.blade.php @@ -53,9 +53,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/events/edit.blade.php b/skolehjem/resources/views/admin/events/edit.blade.php index 5dd32de..5e0e371 100644 --- a/skolehjem/resources/views/admin/events/edit.blade.php +++ b/skolehjem/resources/views/admin/events/edit.blade.php @@ -52,9 +52,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/guides/create.blade.php b/skolehjem/resources/views/admin/guides/create.blade.php index 00d663d..b702be3 100644 --- a/skolehjem/resources/views/admin/guides/create.blade.php +++ b/skolehjem/resources/views/admin/guides/create.blade.php @@ -48,9 +48,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/guides/edit.blade.php b/skolehjem/resources/views/admin/guides/edit.blade.php index 0597a2a..de2d78e 100644 --- a/skolehjem/resources/views/admin/guides/edit.blade.php +++ b/skolehjem/resources/views/admin/guides/edit.blade.php @@ -48,9 +48,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/menuplans/create.blade.php b/skolehjem/resources/views/admin/menuplans/create.blade.php index 2493a78..432e0ec 100644 --- a/skolehjem/resources/views/admin/menuplans/create.blade.php +++ b/skolehjem/resources/views/admin/menuplans/create.blade.php @@ -63,9 +63,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': ['#ffffff-#000000'] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/menuplans/edit.blade.php b/skolehjem/resources/views/admin/menuplans/edit.blade.php index 7c91c33..eae43e5 100644 --- a/skolehjem/resources/views/admin/menuplans/edit.blade.php +++ b/skolehjem/resources/views/admin/menuplans/edit.blade.php @@ -47,9 +47,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/news/create.blade.php b/skolehjem/resources/views/admin/news/create.blade.php index e8ea921..7c80196 100644 --- a/skolehjem/resources/views/admin/news/create.blade.php +++ b/skolehjem/resources/views/admin/news/create.blade.php @@ -33,9 +33,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/admin/news/edit.blade.php b/skolehjem/resources/views/admin/news/edit.blade.php index 41ba581..6472ee3 100644 --- a/skolehjem/resources/views/admin/news/edit.blade.php +++ b/skolehjem/resources/views/admin/news/edit.blade.php @@ -34,9 +34,9 @@ modules: { 'toolbar': [ [ 'bold', 'italic', 'underline', 'strike' ], - [{ 'color': [] }, { 'background': [] }], + [{ 'color': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], - [{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ], + [{ 'header': '1' }, { 'header': '2' }, 'blockquote' ], [{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }], [ {'direction': 'rtl'}, { 'align': [] }], [ 'link' ], diff --git a/skolehjem/resources/views/app/events/index.blade.php b/skolehjem/resources/views/app/events/index.blade.php index 29c10b8..944c148 100644 --- a/skolehjem/resources/views/app/events/index.blade.php +++ b/skolehjem/resources/views/app/events/index.blade.php @@ -41,7 +41,7 @@ @if($event->resource_id !== null)

{{ $event->name }}

-

Af: {{ $event->accountable }}

+

{{__('msg.af')}}: {{ $event->accountable }}

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}

@else @@ -51,14 +51,15 @@

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}

@endif -
+
{!! \App\Helpers::closetags(substr($event->description, 0, 300) )!!} {!! session()->get('error#' . $event->id) !!} {!! session()->get('signup#' . $event->id) !!} -
diff --git a/skolehjem/resources/views/app/events/show.blade.php b/skolehjem/resources/views/app/events/show.blade.php index a07bf84..b23f0b4 100644 --- a/skolehjem/resources/views/app/events/show.blade.php +++ b/skolehjem/resources/views/app/events/show.blade.php @@ -13,7 +13,9 @@

{{__('msg.aktiviteter')}}

-

{{ $event->name }}

+

{{ $event->name }}

+

{{__('msg.af')}}: {{ $event->accountable }}

+

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}

{!!$event->description!!}
diff --git a/skolehjem/resources/views/app/events/yourevents.blade.php b/skolehjem/resources/views/app/events/yourevents.blade.php index 4da8260..f4296b6 100644 --- a/skolehjem/resources/views/app/events/yourevents.blade.php +++ b/skolehjem/resources/views/app/events/yourevents.blade.php @@ -4,6 +4,34 @@ @endsection @section("content") + +

{{__('msg.tilmeldteaktiviteter')}}

{!! session()->get('eventunsubscribed') !!} @@ -12,10 +40,29 @@
@csrf @method("delete") -

{{$userevent->name}}

-

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}

-

{!! $userevent->description !!}

- +
+ @if($userevent->resource_id !== null) +
+

{{ $userevent->name }}

+

{{__('msg.af')}}: {{ $userevent->accountable }}

+

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}

+
+ @else +
+

{{ $userevent->name }}

+

{{__('msg.af')}}: {{ $userevent->accountable }}

+

{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}

+
+ @endif +
+ {!! \App\Helpers::closetags(substr($userevent->description, 0, 300) )!!} + +
+
@endforeach @else diff --git a/skolehjem/resources/views/app/guides/index.blade.php b/skolehjem/resources/views/app/guides/index.blade.php index 31a4630..1bd1187 100644 --- a/skolehjem/resources/views/app/guides/index.blade.php +++ b/skolehjem/resources/views/app/guides/index.blade.php @@ -48,7 +48,9 @@ @endif
{!! \App\Helpers::closetags(substr($guide->guide_articles, 0, 300)) !!} - $guide->id ])}}">Læs mere +
@endforeach diff --git a/skolehjem/resources/views/app/news/index.blade.php b/skolehjem/resources/views/app/news/index.blade.php index c534185..5c32db3 100644 --- a/skolehjem/resources/views/app/news/index.blade.php +++ b/skolehjem/resources/views/app/news/index.blade.php @@ -29,22 +29,43 @@
@foreach(\App\News::query()->orderBy("created_at", "desc")->get() as $new) -
- @if($new->resource_id !== null) -
-

{{ $new->name }}

-

{{ $new->subname }}

+
+ @if($new->resource_id !== null) +
+

{{ $new->name }}

+

{{ $new->subname }}

+
+ @else +
+

{{ $new->name }}

+

{{ $new->subname }}

+
+ @endif + +
+ @if ($new->type_id == 1 || $new->type_id == 2) {{-- If it's a news or menu then display the whole message --}} + {!! $new->content !!} + @else {{-- If it's a menu, guide or event. Then display up to 300 characters of text --}} + {!! \App\Helpers::closetags(substr($new->content, 0, 300) ) !!} + @endif + + @if ($new->type_id == 3) {{-- If it's displaying an event, then show `Tilmeld`, `Læs mere` & `Se deltagere` --}} +
+ @if (count(\App\UserEvent::query()->where('event_id', '=', $new->arrangement_id)->where('user_id', '=', Auth::user()->id)->get()) > 0) + {{__('msg.afmeld')}} + @else {{-- ^ If you're already participating in the event, then show a ´cancel´ button - v Else show a ´participate´ button --}} + {{__('msg.tilmeld')}} + @endif + $new->arrangement_id ])}}">{{__('msg.læsmere')}} + $new->arrangement_id ])}}">{{__('msg.sedeltagere')}} +
+ @elseif ($new->type_id == 4) {{-- Else if's displaying guides, then show `Læs mere` --}} + + @endif {{-- Else if it's a menu or news, then don't show a button at bottom --}}
- @else -
-

{{ $new->name }}

-

{{ $new->subname }}

-
- @endif -
- {!! $new->content !!}
-
@endforeach @if(count(\App\News::query()->orderBy("created_at", "desc")->get()) == 0)

{{__('msg.ingennyheder')}}

@@ -58,10 +79,12 @@ var x = document.getElementById("snackbar"); x.innerHTML = data; x.className = "show"; + setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); } function ajaxCall(event_id) { + axios.post("{{ route("userevents.createajax") }}", { event_id: event_id @@ -70,10 +93,26 @@ var data = response.data; snackbar(data); + setTimeout(function(){document.location.reload(false)}, 2000); }).catch(function (error) { console.log(error); }); } + function ajaxCallCancel(event_id) { + + axios.post("{{ route("userevents.createajaxcancel") }}", + { + event_id: event_id + } + ).then(function (response) { + var data = response.data; + + snackbar(data); + setTimeout(function(){document.location.reload(false)}, 2000); + }).catch(function (error) { + console.log(error); + }); + } @endsection diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index 9fcb986..488a577 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -34,6 +34,7 @@ Route::get("/app/washing-reservations", "WashingReservationController@appindex") Route::get("/settings", "SettingsController@index")->name("settings.index"); Route::post("/events/signup", "UserEventController@createajax")->name("userevents.createajax"); Route::get("/about", "AboutController@index")->name("about.index"); +Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->name("userevents.createajaxcancel"); //Search/Filter @@ -65,3 +66,4 @@ Route::resource("roles", "RolesController"); Route::resource("guides", "GuideController"); Route::resource("locations", "LocationController"); Route::resource("news", "NewsController"); +Route::resource("newstype", "NewsTypeController"); From c84d2a3d73e909f2b8537f704dcdb98bb96f6021 Mon Sep 17 00:00:00 2001 From: Neerholt Date: Wed, 12 Aug 2020 15:25:29 +0200 Subject: [PATCH 2/2] v0.9.1 - You can now convert menuplan to pdf --- .idea/php.xml | 13 +- .idea/skolehjem-webapp.iml | 10 +- .../Http/Controllers/MenuPlanController.php | 18 +- skolehjem/composer.json | 1 + skolehjem/composer.lock | 414 ++++++++++-------- skolehjem/config/app.php | 1 + .../views/admin/menuplans/index.blade.php | 2 + skolehjem/routes/web.php | 3 + 8 files changed, 274 insertions(+), 188 deletions(-) diff --git a/.idea/php.xml b/.idea/php.xml index bb5a856..3f70f6c 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -4,7 +4,6 @@ - @@ -26,8 +25,6 @@ - - @@ -62,8 +59,6 @@ - - @@ -120,6 +115,14 @@ + + + + + + + + diff --git a/.idea/skolehjem-webapp.iml b/.idea/skolehjem-webapp.iml index 7c6434f..1c12b7e 100644 --- a/.idea/skolehjem-webapp.iml +++ b/.idea/skolehjem-webapp.iml @@ -7,6 +7,7 @@ + @@ -14,6 +15,7 @@ + @@ -30,14 +32,11 @@ - - - @@ -54,7 +53,8 @@ - + + @@ -69,7 +69,6 @@ - @@ -77,6 +76,7 @@ + diff --git a/skolehjem/app/Http/Controllers/MenuPlanController.php b/skolehjem/app/Http/Controllers/MenuPlanController.php index db6bbac..bbe049b 100644 --- a/skolehjem/app/Http/Controllers/MenuPlanController.php +++ b/skolehjem/app/Http/Controllers/MenuPlanController.php @@ -2,10 +2,12 @@ namespace App\Http\Controllers; +use App; use App\ExternalLink; use App\MenuPlan; use App\News; use App\User; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\DB; @@ -156,7 +158,7 @@ class MenuPlanController extends Controller * Remove the specified resource from storage. * Test delete return index function. * @param int $id - * @return \Illuminate\Http\RedirectResponse + * @return RedirectResponse */ public function destroy($id) { @@ -165,5 +167,19 @@ class MenuPlanController extends Controller return redirect()->route("menu-plans.index"); } + /** + * Remove the specified resource from storage. + * Test delete return index function. + * @param $Id + * @return RedirectResponse + */ + public function genPDF($Id){ + $menuPlan = MenuPlan::query()->where("id", "=", $Id)->first(); + $pdf = \Illuminate\Support\Facades\App::make('dompdf.wrapper'); + $data = '
'. '

Uge '. $menuPlan->week. '

' .$menuPlan->menu. '
'; + $pdf->loadHTML($data); + return $pdf->stream(); + + } } diff --git a/skolehjem/composer.json b/skolehjem/composer.json index 15daac3..8cd540d 100644 --- a/skolehjem/composer.json +++ b/skolehjem/composer.json @@ -9,6 +9,7 @@ "license": "MIT", "require": { "php": "^7.2.5", + "barryvdh/laravel-dompdf": "^0.8.6", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^1.0", "guzzlehttp/guzzle": "^6.3", diff --git a/skolehjem/composer.lock b/skolehjem/composer.lock index 7b23866..7c857bf 100644 --- a/skolehjem/composer.lock +++ b/skolehjem/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8ba128c6252a57bde3eb22750ed51bef", + "content-hash": "8e62a745d683f5494f4d1efefc047dfd", "packages": [ { "name": "asm89/stack-cors", @@ -58,6 +58,62 @@ ], "time": "2019-12-24T22:41:47+00:00" }, + { + "name": "barryvdh/laravel-dompdf", + "version": "v0.8.6", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-dompdf.git", + "reference": "d7108f78cf5254a2d8c224542967f133e5a6d4e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/d7108f78cf5254a2d8c224542967f133e5a6d4e8", + "reference": "d7108f78cf5254a2d8c224542967f133e5a6d4e8", + "shasum": "" + }, + "require": { + "dompdf/dompdf": "^0.8", + "illuminate/support": "^5.5|^6|^7", + "php": ">=7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.8-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\DomPDF\\ServiceProvider" + ], + "aliases": { + "PDF": "Barryvdh\\DomPDF\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\DomPDF\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "A DOMPDF Wrapper for Laravel", + "keywords": [ + "dompdf", + "laravel", + "pdf" + ], + "time": "2020-02-25T20:44:34+00:00" + }, { "name": "brick/math", "version": "0.8.15", @@ -102,12 +158,6 @@ "brick", "math" ], - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], "time": "2020-04-15T15:59:35+00:00" }, { @@ -218,20 +268,6 @@ "uppercase", "words" ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], "time": "2020-05-29T15:13:26+00:00" }, { @@ -294,21 +330,73 @@ "parser", "php" ], - "funding": [ + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "dompdf/dompdf", + "version": "v0.8.5", + "source": { + "type": "git", + "url": "https://github.com/dompdf/dompdf.git", + "reference": "6782abfc090b132134cd6cea0ec6d76f0fce2c56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/6782abfc090b132134cd6cea0ec6d76f0fce2c56", + "reference": "6782abfc090b132134cd6cea0ec6d76f0fce2c56", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "phenx/php-font-lib": "^0.5.1", + "phenx/php-svg-lib": "^0.3.3", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5", + "squizlabs/php_codesniffer": "^3.5" + }, + "suggest": { + "ext-gd": "Needed to process images", + "ext-gmagick": "Improves image processing performance", + "ext-imagick": "Improves image processing performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.7-dev" + } + }, + "autoload": { + "psr-4": { + "Dompdf\\": "src/" + }, + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" }, { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" + "name": "Brian Sweeney", + "email": "eclecticgeek@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" + "name": "Gabriel Bull", + "email": "me@gabrielbull.com" } ], - "time": "2020-05-25T17:44:05+00:00" + "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", + "homepage": "https://github.com/dompdf/dompdf", + "time": "2020-02-20T03:52:51+00:00" }, { "name": "dragonmantank/cron-expression", @@ -542,12 +630,6 @@ "crossdomain", "laravel" ], - "funding": [ - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], "time": "2020-04-28T08:47:37+00:00" }, { @@ -1356,12 +1438,6 @@ "sftp", "storage" ], - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], "time": "2020-05-18T15:13:39+00:00" }, { @@ -1495,16 +1571,6 @@ "logging", "psr-3" ], - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], "time": "2020-05-22T08:12:19+00:00" }, { @@ -1709,6 +1775,83 @@ ], "time": "2020-06-07T11:41:29+00:00" }, + { + "name": "phenx/php-font-lib", + "version": "0.5.2", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-font-lib.git", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7" + }, + "type": "library", + "autoload": { + "psr-4": { + "FontLib\\": "src/FontLib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/PhenX/php-font-lib", + "time": "2020-03-08T15:31:32+00:00" + }, + { + "name": "phenx/php-svg-lib", + "version": "v0.3.3", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-svg-lib.git", + "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", + "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", + "shasum": "" + }, + "require": { + "sabberworm/php-css-parser": "^8.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.5|^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Svg\\": "src/Svg" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/PhenX/php-svg-lib", + "time": "2019-09-11T20:02:13+00:00" + }, { "name": "phpoption/phpoption", "version": "1.7.4", @@ -1762,16 +1905,6 @@ "php", "type" ], - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], "time": "2020-06-07T10:40:07+00:00" }, { @@ -2266,13 +2399,52 @@ "identifier", "uuid" ], - "funding": [ + "time": "2020-03-29T20:13:32+00:00" + }, + { + "name": "sabberworm/php-css-parser", + "version": "8.3.1", + "source": { + "type": "git", + "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "codacy/coverage": "^1.4", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Sabberworm\\CSS": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "url": "https://github.com/ramsey", - "type": "github" + "name": "Raphael Schweikert" } ], - "time": "2020-03-29T20:13:32+00:00" + "description": "Parser for CSS Files written in PHP", + "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", + "keywords": [ + "css", + "parser", + "stylesheet" + ], + "time": "2020-06-01T09:10:00+00:00" }, { "name": "spatie/laravel-permission", @@ -2340,12 +2512,6 @@ "security", "spatie" ], - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - } - ], "time": "2020-05-20T00:31:29+00:00" }, { @@ -2586,20 +2752,6 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-27T08:34:37+00:00" }, { @@ -2787,20 +2939,6 @@ "interoperability", "standards" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -3507,20 +3645,6 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { @@ -3845,20 +3969,6 @@ "interoperability", "standards" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -4300,16 +4410,6 @@ "env", "environment" ], - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], "time": "2020-06-07T18:25:35+00:00" }, { @@ -4416,20 +4516,6 @@ "constructor", "instantiate" ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], "time": "2020-05-29T17:27:14+00:00" }, { @@ -4484,12 +4570,6 @@ "flare", "reporting" ], - "funding": [ - { - "url": "https://www.patreon.com/spatie", - "type": "patreon" - } - ], "time": "2020-03-02T15:52:04+00:00" }, { @@ -4950,20 +5030,6 @@ "php", "symfony" ], - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], "time": "2020-04-04T19:56:08+00:00" }, { @@ -5681,12 +5747,6 @@ "highlight.php", "syntax" ], - "funding": [ - { - "url": "https://github.com/allejo", - "type": "github" - } - ], "time": "2020-03-02T05:59:21+00:00" }, { diff --git a/skolehjem/config/app.php b/skolehjem/config/app.php index 2c1b451..e1168d1 100644 --- a/skolehjem/config/app.php +++ b/skolehjem/config/app.php @@ -161,6 +161,7 @@ return [ Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, + Barryvdh\DomPDF\ServiceProvider::class, /* * Package Service Providers... diff --git a/skolehjem/resources/views/admin/menuplans/index.blade.php b/skolehjem/resources/views/admin/menuplans/index.blade.php index 212f5d7..a9ae2af 100644 --- a/skolehjem/resources/views/admin/menuplans/index.blade.php +++ b/skolehjem/resources/views/admin/menuplans/index.blade.php @@ -19,12 +19,14 @@ + @foreach($menuPlans as $menuplan) +
UgePrint Update Delete
{{$menuplan->week}} $menuplan ]) }}">Print $menuplan ]) }}">Update
$menuplan ]) }}" class="w-100 nostyle"> @csrf diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index 9fcb986..a81eb7b 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -49,6 +49,9 @@ Route::get("/risrosapi", "FeedbackController@search")->name("feedbacks.search"); Route::get("/languages", "UserController@setLanguages")->name("users.setLanguages"); Route::get("/darkmode", "UserController@setDarkMode")->name("users.setDarkMode"); +//Convert to PDF +Route::get("/pdf/{menuPlan}", "MenuPlanController@genPDF")->name("pdf.genPDF")->hasParameter("Id"); + Route::resource("contacts", "ContactController"); Route::resource("menu-plans", "MenuPlanController");