diff --git a/skolehjem/app/Http/Controllers/MultipleEventsController.php b/skolehjem/app/Http/Controllers/MultipleEventsController.php index 1ba35bc..711f503 100644 --- a/skolehjem/app/Http/Controllers/MultipleEventsController.php +++ b/skolehjem/app/Http/Controllers/MultipleEventsController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\MultipleEvents; +use App\MultipleEventsParent; use Illuminate\Http\Request; use Illuminate\Http\Response; //Not in use yet @@ -32,7 +33,7 @@ class MultipleEventsController extends Controller */ public function index() { - $multiEvents = MultipleEvents::query()->orderBY('date' , 'asc')->get(); + $multiEvents = MultipleEventsParent::query()->orderBY('id' , 'desc')->get(); return Response::detect("multiple-events.index", [ "multiEvents" => $multiEvents]); } @@ -57,55 +58,56 @@ class MultipleEventsController extends Controller { $requestBody = $request->validate([ "week" => "max:255", - "event_name" => "array", + "name" => "array", + "description" => "array", "accountable" => "array", "date" => "array", - "event_name.*" => "max:255", + "name.*" => "max:255", + "description.*" => "max:255", "accountable.*" => "max:255", "date.*" => "max:255" ]); + $multipleParent = new MultipleEventsParent(); - for ($i = 0; $i <= 3; $i++) { + $multipleParent->week = $request->week; + if($request->file("resource")) { + $multipleParent->resource_id = ResourceController::store($request)->id; + } + $multipleParent->save(); + + + + + for ($i = 0; $i < count($requestBody["name"]); $i++) { $multi_event = new MultipleEvents(); - $multi_event->week = $requestBody['week']; $multi_event->date = $requestBody['date'][$i]; + $multi_event->description = $requestBody['description'][$i]; $multi_event->accountable = $requestBody['accountable'][$i]; - $multi_event->event_name = $requestBody['event_name'][$i]; + $multi_event->name = $requestBody['name'][$i]; + $multi_event->event_end = "2021-27-04 16:00:00"; + $multi_event->multiple_events_parent_id = $multipleParent->id; $multi_event->save(); } //creates a new Event model with the given parameter - $event = new Event($requestBody); - - $allEvents = Event::query()->where('name', '=', $request->name)->get(); - - if(count($allEvents) > 0) { - return redirect()->route("events.index", ['events' => $event]); - } else { - if($request->file("resource")) { - $event->resource_id = ResourceController::store($request)->id; - } - - $event->save(); - $events = Event::query()->get(); + $event = new MultipleEventsParent($requestBody); + $multiEvents = MultipleEventsParent::query()->get(); if($request->newsoption == true){ $news = new News(); - - $news->name = "Ny ugenlig aktivitet"; - $news->subname = $event->name; - $news->arrangement_id = $event->id; - $news->type_id = '3'; - $news->content = $event->description; + $news->name = "Nye ugenlig aktivitet"; + $news->subname = $event->week; + $news->arrangement_id = $multipleParent->id; + $news->type_id = '5'; + $news->content = "Den ugenlige aktivitets plan er landet"; $news->resource_id = $event->resource_id; - NewsController::storeAndGet($news); + } - return redirect()->route('events.index', ['events' => $events]); - } + return redirect()->route('multiple-events.index', ['multiEvents' => $multiEvents]); } diff --git a/skolehjem/app/MultipleEvents.php b/skolehjem/app/MultipleEvents.php index 6867da8..815bb12 100644 --- a/skolehjem/app/MultipleEvents.php +++ b/skolehjem/app/MultipleEvents.php @@ -7,6 +7,6 @@ use Illuminate\Database\Eloquent\Model; class MultipleEvents extends Model { protected $fillable = [ - 'date', 'event_name', 'accountable', 'week' + 'date', 'event_end', 'event_name', 'accountable', 'week', 'description', 'multiple_events_parent_id' ]; } diff --git a/skolehjem/app/MultipleEventsParent.php b/skolehjem/app/MultipleEventsParent.php new file mode 100644 index 0000000..9fd0210 --- /dev/null +++ b/skolehjem/app/MultipleEventsParent.php @@ -0,0 +1,13 @@ +id(); + $table->string('week'); + $table->foreignId('resource_id')->nullable()->constrained('resources', 'id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('multiple_events'); + } +} diff --git a/skolehjem/database/migrations/2021_04_20_142356_create_multiple_events.php b/skolehjem/database/migrations/2021_04_20_142356_create_multiple_events.php index df41e30..61850c5 100644 --- a/skolehjem/database/migrations/2021_04_20_142356_create_multiple_events.php +++ b/skolehjem/database/migrations/2021_04_20_142356_create_multiple_events.php @@ -15,12 +15,12 @@ class CreateMultipleEvents extends Migration { Schema::create('multiple_events', function (Blueprint $table) { $table->id(); - $table->string('week'); - $table->json('date'); - $table->json('event_name'); - $table->json('accountable'); - //$table->longText('event_name'); - //$table->string('accountable'); + $table->foreignId('multiple_events_parent_id')->constrained('multiple_events_parent', 'id'); + $table->string("name"); + $table->string("accountable"); + $table->longText("description"); + $table->dateTime("date"); + $table->dateTime('event_end'); $table->timestamps(); }); } @@ -32,6 +32,6 @@ class CreateMultipleEvents extends Migration */ public function down() { - Schema::dropIfExists('multipleevents_controllers'); + Schema::dropIfExists('multiple_events'); } } diff --git a/skolehjem/database/seeds/NewsTypeSeeder.php b/skolehjem/database/seeds/NewsTypeSeeder.php index f31b6da..3b798fa 100644 --- a/skolehjem/database/seeds/NewsTypeSeeder.php +++ b/skolehjem/database/seeds/NewsTypeSeeder.php @@ -24,6 +24,9 @@ class NewsTypeSeeder extends Seeder [ 'type' => "Guide", ], + [ + 'type' => "MultipleEvent", + ], ]; foreach ($newstypedata as $data) { diff --git a/skolehjem/resources/lang/dk/msg.php b/skolehjem/resources/lang/dk/msg.php index 1dfd8bd..5a63f8b 100644 --- a/skolehjem/resources/lang/dk/msg.php +++ b/skolehjem/resources/lang/dk/msg.php @@ -83,5 +83,6 @@ return[ "tirsdag" => "Tirsdag", "onsdag" => "Onsdag", "torsdag" => "Torsdag", - "aktivitetaflyst" => "Aktivitet Aflyst :(" + "aktivitetaflyst" => "Aktivitet Aflyst :(", + "ugentligaktiviteter" => "Ugentlig aktivitet" ]; diff --git a/skolehjem/resources/lang/en/msg.php b/skolehjem/resources/lang/en/msg.php index 363e201..640f2df 100644 --- a/skolehjem/resources/lang/en/msg.php +++ b/skolehjem/resources/lang/en/msg.php @@ -85,5 +85,6 @@ return[ "send" => "Send messeags", "kategori" => "Category", "opret" => "Created at: ", - "aktivitetaflyst" => "Event Cancelled :(" + "aktivitetaflyst" => "Event Cancelled :(", + "ugentligaktiviteter" => "Weekly activities" ]; diff --git a/skolehjem/resources/views/admin/multiple-events/create.blade.php b/skolehjem/resources/views/admin/multiple-events/create.blade.php index d955664..23b4c4e 100644 --- a/skolehjem/resources/views/admin/multiple-events/create.blade.php +++ b/skolehjem/resources/views/admin/multiple-events/create.blade.php @@ -2,7 +2,7 @@ @extends("admin.layout.header") @section("title") - Aktivitet - Vis + Ugentligt aktivitet - Vis @endsection @section("path") @@ -38,34 +38,41 @@ @csrf + + - + + - + + - + + - + + - + + diff --git a/skolehjem/resources/views/admin/multiple-events/index.blade.php b/skolehjem/resources/views/admin/multiple-events/index.blade.php index ff57a9c..d6dc8dc 100644 --- a/skolehjem/resources/views/admin/multiple-events/index.blade.php +++ b/skolehjem/resources/views/admin/multiple-events/index.blade.php @@ -2,11 +2,11 @@ @extends("admin.layout.header") @section("title") - Aktiviteter - Vis + Ugentligt aktiviteter - Vis @endsection @section("path") - Vis ugenlige aktiviteter / + Vis ugentlig aktiviteter / @endsection @section("content") @@ -14,12 +14,7 @@
UgedagAktivitetAktivitets navnAktivitets beskrivelse Tovholder Tidsrum (Start)
Mandag
Tirsdag
Onsdag
Torsdag
- - - - - - + @if(auth()->user()->can('event.edit')) @endif @@ -32,12 +27,7 @@ - - - - - - + @if(auth()->user()->can('event.edit')) @endif diff --git a/skolehjem/resources/views/app/multiple-events/index.blade.php b/skolehjem/resources/views/app/multiple-events/index.blade.php new file mode 100644 index 0000000..68167bb --- /dev/null +++ b/skolehjem/resources/views/app/multiple-events/index.blade.php @@ -0,0 +1,161 @@ +@extends("app.layout.base") +@section("title") + Ugenlige aktiviteter +@endsection + +@section("content") + + +
+

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

+ + @if(count(\App\Notification::query()->where("user_id", "=", auth()->user()->id)->get()) > 0) +
+
+ × + {{__('msg.aktivitetaflyst')}} + @foreach(\App\Notification::query()->where("user_id", "=", auth()->user()->id)->get() as $notification) +

{{ $notification->message }}{{ __("msg.canceled") }}

+ @endforeach +
+
+ @endif + + + + @if(!$multiEvents->isEmpty()) + @foreach($multiEvents as $event) +
+ @if($event->resource_id !== null) +
+ +
+ @endif +
+

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

+

{{ $event->week }}

+
+ @if (count(\App\UserEvent::query()->where('event_id', '=', $event->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 + $event->id ])}}">{{__('msg.læsmere')}} + $event->id ])}}">{{__('msg.sedeltagere')}} +
+
+
+ @endforeach + @else +

{{__('msg.dereringenaktiviteter')}}!

+ @endif + {{__('msg.setilmeldteaktiviteter')}} +
+
+@endsection +@section("scripts") + +@endsection + diff --git a/skolehjem/resources/views/app/news/index.blade.php b/skolehjem/resources/views/app/news/index.blade.php index 9ddd4ed..5fddd59 100644 --- a/skolehjem/resources/views/app/news/index.blade.php +++ b/skolehjem/resources/views/app/news/index.blade.php @@ -166,7 +166,7 @@
{{ $new->subname }} {{__('msg.opret')}}{{ date('Y-m-d H:i:s', strtotime($new->created_at))}}
- @if($new->resource_id !== null) + @if($new->resource_id !== null)
{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime(\App\Event::query()->where('id', '=', $new->arrangement_id)->first()->date))->format('d/m/Y \k\l\. H:i') }} {{\App\Event::query()->where('id', '=', $new->arrangement_id)->first()->accountable}}
@@ -181,7 +181,7 @@ $new->arrangement_id ])}}">{{__('msg.sedeltagere')}}
- @else + @else
{!! \App\Helpers::closetags(substr($new->content, 0, 300) ) !!}
{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime(\App\Event::query()->where('id', '=', $new->arrangement_id)->first()->date))->format('d/m/Y \k\l\. H:i') }} {{\App\Event::query()->where('id', '=', $new->arrangement_id)->first()->accountable}}
@@ -197,7 +197,7 @@
@endif - @else + @elseif($new->type == 'Guide')
Vejledninger:
{{ $new->subname }} @@ -207,7 +207,6 @@
{{__('msg.kategori')}} {{\App\GuidesCategory::query()->where('id', '=', \App\Guide::query()->where('id','=', $new->arrangement_id)->first()->guide_category_id)->first()->guidesCategoryName}}
@endif - - + + @elseif($new->type == 'MultipleEvent') +
+
Vejledninger:
+
Ugenlig aktiviteter for uge {{ $new->subname }} + {{__('msg.opret')}}{{ date('Y-m-d H:i:s', strtotime($new->created_at))}} +
+ @if($new->resource_id !== null) +
+
{{__('msg.kategori')}} {{\App\GuidesCategory::query()->where('id', '=', \App\Guide::query()->where('id','=', $new->arrangement_id)->first()->guide_category_id)->first()->guidesCategoryName}}
+ @endif + @endif + + + @endforeach @if(count(\App\News::query()->orderBy("created_at", "desc")->get()) == 0)

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

diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index ac213fd..f44ede0 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -39,6 +39,7 @@ Route::get("/settings", "SettingsController@index")->name("settings.index"); Route::post("/events/signup", "UserEventController@createajax")->name("userevents.createajax"); Route::post("/account/mailwants", "UserController@createajax")->name("users.createajax"); Route::get("/about", "AboutController@index")->name("about.index"); +Route::get("/multiple-events", "MultipleEventsController@index")->name("multiple-events.index"); Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->name("userevents.createajaxcancel"); Route::post("/account/cancelmailwants", "UserController@createajaxcancel")->name("users.createajaxcancel"); Route::delete("/notifications/delete", "EventController@deleteNotifications")->name("notifications.delete");
UgeAktivitets dagAktivitetTovholderTidsrumShowpreviewUpdate
{{ $event->week}}{{ ucfirst(\Carbon\Carbon::create(\Carbon\Carbon::getDays()[1])->dayName) }}{{ $event->event_name}}{{ $event->accountable}}{{ $event->date}} $event ]) }}">Showpreview $event ]) }}">Update