From fe1cda993ae341f953ac84824741ef018345b5a9 Mon Sep 17 00:00:00 2001 From: Neerholt Date: Thu, 22 Apr 2021 15:31:42 +0200 Subject: [PATCH] v1.5.13 Added crud files --- .../Controllers/MultipleEventsController.php | 156 ++++++++++++++++++ skolehjem/app/MultipleEvents.php | 12 ++ ...21_04_20_142356_create_multiple_events.php | 37 +++++ 3 files changed, 205 insertions(+) create mode 100644 skolehjem/app/Http/Controllers/MultipleEventsController.php create mode 100644 skolehjem/app/MultipleEvents.php create mode 100644 skolehjem/database/migrations/2021_04_20_142356_create_multiple_events.php diff --git a/skolehjem/app/Http/Controllers/MultipleEventsController.php b/skolehjem/app/Http/Controllers/MultipleEventsController.php new file mode 100644 index 0000000..1ba35bc --- /dev/null +++ b/skolehjem/app/Http/Controllers/MultipleEventsController.php @@ -0,0 +1,156 @@ +middleware([ "auth" ]); + $this->middleware([ "lang" ]); + + $this->middleware([ "check.auth:event.show" ])->only("show", "index"); + $this->middleware([ "check.auth:event.create" ])->only("create", "store"); + $this->middleware([ "check.auth:event.edit" ])->only("edit", "update"); + $this->middleware([ "check.auth:event.delete" ])->only("delete"); + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $multiEvents = MultipleEvents::query()->orderBY('date' , 'asc')->get(); + return Response::detect("multiple-events.index", [ "multiEvents" => $multiEvents]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + //returns create multiple events blade file from the view folder + return Response::detect("multiple-events.create"); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $requestBody = $request->validate([ + "week" => "max:255", + "event_name" => "array", + "accountable" => "array", + "date" => "array", + "event_name.*" => "max:255", + "accountable.*" => "max:255", + "date.*" => "max:255" + ]); + + + for ($i = 0; $i <= 3; $i++) { + $multi_event = new MultipleEvents(); + $multi_event->week = $requestBody['week']; + + $multi_event->date = $requestBody['date'][$i]; + $multi_event->accountable = $requestBody['accountable'][$i]; + $multi_event->event_name = $requestBody['event_name'][$i]; + $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(); + + 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->resource_id = $event->resource_id; + + NewsController::storeAndGet($news); + } + + return redirect()->route('events.index', ['events' => $events]); + } + + } + + /** + * Display the specified resource. + * + * @param \App\MultipleEvents $multipleeventsController + * @return \Illuminate\Http\Response + */ + public function show(MultipleeventsController $multipleeventsController) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\MultipleEvents $multipleeventsController + * @return \Illuminate\Http\Response + */ + public function edit(MultipleeventsController $multipleeventsController) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\MultipleEvents $multipleeventsController + * @return \Illuminate\Http\Response + */ + public function update(Request $request, MultipleeventsController $multipleeventsController) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\MultipleEvents $multipleeventsController + * @return \Illuminate\Http\Response + */ + public function destroy(MultipleeventsController $multipleeventsController) + { + // + } +} diff --git a/skolehjem/app/MultipleEvents.php b/skolehjem/app/MultipleEvents.php new file mode 100644 index 0000000..6867da8 --- /dev/null +++ b/skolehjem/app/MultipleEvents.php @@ -0,0 +1,12 @@ +id(); + $table->string('week'); + $table->json('date'); + $table->json('event_name'); + $table->json('accountable'); + //$table->longText('event_name'); + //$table->string('accountable'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('multipleevents_controllers'); + } +}