diff --git a/skolehjem/app/Http/Controllers/EventController.php b/skolehjem/app/Http/Controllers/EventController.php index f313402..59555ed 100644 --- a/skolehjem/app/Http/Controllers/EventController.php +++ b/skolehjem/app/Http/Controllers/EventController.php @@ -193,8 +193,6 @@ class EventController extends Controller $news->resource_id = $event->resource_id; $news->content = "

" . $this->closetags(substr($event->description, 0, 300)); - - NewsController::storeAndGet($news); } diff --git a/skolehjem/app/Http/Controllers/MultipleEventsController.php b/skolehjem/app/Http/Controllers/MultipleEventsController.php index 48fab0b..a4f5c63 100644 --- a/skolehjem/app/Http/Controllers/MultipleEventsController.php +++ b/skolehjem/app/Http/Controllers/MultipleEventsController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\MultipleEvents; use App\MultipleEventsParent; +use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Http\Response; use Barryvdh\DomPDF\Facade as PDF; @@ -59,6 +60,7 @@ class MultipleEventsController extends Controller public function store(Request $request) { $requestBody = $request->validate([ + "week" => "required", "name" => "array", "description" => "array", "accountable" => "array", @@ -93,14 +95,13 @@ class MultipleEventsController extends Controller $multiEvents = MultipleEventsParent::query()->get(); if($request->newsoption == true){ $news = new News(); - $news->name = "Nye ugentlig aktivitets"; + $news->name = "Ny ugentlig aktivitet"; $news->subname = $request->week; $news->arrangement_id = $multipleParent->id; $news->type_id = '5'; - $news->content = "Den ugentlige aktivitets plan er landet"; + $news->content = "Den ugentlige aktivitets plan for uge ".$request->week." er her!"; $news->resource_id = $request->resource_id; NewsController::storeAndGet($news); - } return redirect()->route('events.index', ['multiEvents' => $multiEvents]); @@ -127,7 +128,8 @@ class MultipleEventsController extends Controller public function edit($id) { $multiEvents = MultipleEvents::where('multiple_events_parent_id', '=', $id)->get(); - return Response::detect("multiple-events.edit", ["multiEvents" => $multiEvents, "parentEvent" => $id]); + $parentEvent = MultipleEventsParent::find($id); + return Response::detect("multiple-events.edit", ["multiEvents" => $multiEvents, "parentEvent" => $parentEvent]); } /** @@ -139,7 +141,54 @@ class MultipleEventsController extends Controller */ public function update(Request $request, $id) { - dd($request); + $requestBody = $request->validate([ + "week" => "required", + "name" => "array", + "description" => "array", + "accountable" => "array", + "date" => "array", + ]); + + $parentEvent = MultipleEventsParent::find($id); + + if($request->file("resource")) { + $parentEvent->update(["week" => $request->week, "resource_id" => ResourceController::store($request)->id]) ; + } else + $parentEvent->update(["week" => $request->week]); + + //dd($requestBody); + foreach ($requestBody["name"] as $key => $singleEvent) { + if ($key == "new") { + //dd(count($s)); + for ($i = 0; $i < count($singleEvent); $i++) { + $multi_event = new MultipleEvents(); + $multi_event->name = $requestBody["name"]["new"][$i]; + $multi_event->description = $requestBody["description"]["new"][$i]; + $multi_event->accountable = $requestBody["accountable"]["new"][$i]; + $multi_event->date = $requestBody["date"]["new"][$i]; + $multi_event->multiple_events_parent_id = $id; + $multi_event->save(); + } + } else { + $event = MultipleEvents::find($key); + $event->update(["name" => $requestBody["name"][$key][0], "description" => $requestBody["description"][$key][0], "accountable" => $requestBody["accountable"][$key][0], "date" => date("Y-m-d H:i:s", strtotime($requestBody["date"][$key][0]))]); + } + } + + if($request->newsoption == true){ + $news = new News(); + $news->name = "Opdateret ugentlig aktivitet"; + $news->subname = $request->week; + $news->arrangement_id = $parentEvent->id; + $news->type_id = '5'; + $news->content = "Den ugentlige aktivitets plan for uge ".$request->week." er opdateret!"; + $news->resource_id = $request->resource_id; + + NewsController::storeAndGet($news); + } + + $events = Event::query()->orderBY('date' , 'asc')->get(); + return Response::detect("events.index", [ "events" => $events]); } @@ -162,21 +211,30 @@ class MultipleEventsController extends Controller */ public function destroy(Request $request, $id) { - if ($request->signup != null) { // If input signup is not empty, which has been set when you look at the individuel signup, then delete the user who have signed up for the event + if ($request->signup != null) { // If input signup is not empty, which has been set when you look at the individuel signup, then delete the user who have signed up for the specific week event $UserEvent = UserEvent::find($id); $UserEvent->delete(); return 1; - } else { // Else if you are deleting an event. Then delete all the sign ups AND the event - $userEvents = UserEvent::where('multiple_event_id', "=", $id)->get(); + } elseif ($request->onlyMultiEvent != null) { // Delete a single event from multiple events, and all its signups + $userEvents = UserEvent::where('multiple_event_id', '=', $id)->get(); + $multiEvent = MultipleEvents::find($id); + + foreach ($userEvents as $ue) { + $ue->delete(); + } + + $multiEvent->delete(); + + return 1; + } else { // Delete all multiple events and signups, from the parent/weekly event $multiparent = MultipleEventsParent::find($id); $multievent = MultipleEvents::where('multiple_events_parent_id', '=', $id)->get(); - foreach ($userEvents as $userEvent) { - $userEvent->delete(); - } - foreach ($multievent as $me) { + foreach (UserEvent::where('multiple_event_id', '=', $me->id)->get() as $ue) { + $ue->delete(); + } $me->delete(); } $news = News::query()->join('news_types', 'news_types.id', '=', 'news.type_id')->where("type", "=", "MultipleEvent")->where("arrangement_id", "=", $id); diff --git a/skolehjem/app/MultipleEvents.php b/skolehjem/app/MultipleEvents.php index cd7e30c..a752237 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', 'description', 'multiple_events_parent_id' + 'date', 'name', 'accountable', 'description', 'multiple_events_parent_id' ]; } diff --git a/skolehjem/public/.htaccess b/skolehjem/public/.htaccess index 3ee71cb..88c4832 100644 --- a/skolehjem/public/.htaccess +++ b/skolehjem/public/.htaccess @@ -20,7 +20,7 @@ RewriteRule ^ index.php [L] #Rewrite everything to https - RewriteEngine On - RewriteCond %{HTTPS} !=on - RewriteRule ^(.*)$ https://%{HTTP_HOST} [L,R=301] + #RewriteEngine On + #RewriteCond %{HTTPS} !=on + #RewriteRule ^(.*)$ https://%{HTTP_HOST} [L,R=301] diff --git a/skolehjem/resources/views/admin/events/edit.blade.php b/skolehjem/resources/views/admin/events/edit.blade.php index 0d30e4f..32b28d2 100644 --- a/skolehjem/resources/views/admin/events/edit.blade.php +++ b/skolehjem/resources/views/admin/events/edit.blade.php @@ -37,7 +37,7 @@

{!! $event->description !!}
- + date)) }}" type="datetime-local" name="date" id="date" required>