From bc847b38b0f298000749985f244070295aff7999 Mon Sep 17 00:00:00 2001 From: Anders Date: Tue, 25 Aug 2020 12:26:48 +0200 Subject: [PATCH 1/2] v0.14.15 - Removed the first foreach in location show, and made an inner join instead, so it comes in correct order (by time), instead of by time and by machine id. Added: The Reservations now gets deleted when time is past their washing time, as soon as you go onto your own reservations, the admin page for reservations or when the location show page reloads (every 1 minut) --- .../WashingReservationController.php | 6 ++++ .../views/admin/locations/show.blade.php | 34 +++++++++---------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/skolehjem/app/Http/Controllers/WashingReservationController.php b/skolehjem/app/Http/Controllers/WashingReservationController.php index a2fca22..e187c80 100644 --- a/skolehjem/app/Http/Controllers/WashingReservationController.php +++ b/skolehjem/app/Http/Controllers/WashingReservationController.php @@ -15,6 +15,8 @@ use App\WashingReservation; use Illuminate\Support\Facades\DB; use Illuminate\View\View; +date_default_timezone_set('Europe/Copenhagen'); + class WashingReservationController extends Controller { public function __construct() @@ -37,6 +39,8 @@ class WashingReservationController extends Controller */ public function index(Request $request) { + WashingReservation::query()->where('time', '<', date('Y-m-d H:i:s', strtotime('-1 hour')))->delete(); + $reservations = WashingReservation::query()->orderBY('time' , 'asc')->paginate($request->query("limit", 20)); return Response::detect("washing-reservations.index", [ "reservations" => $reservations]); @@ -260,6 +264,8 @@ class WashingReservationController extends Controller public function appindex(Request $request) { + WashingReservation::query()->where('time', '<', date('Y-m-d H:i:s', strtotime('-1 hour')))->delete(); + $reservations = WashingReservation::query()->where("user_id", "=", auth()->user()->id)->orderBY('time' , 'asc')->paginate($request->query("limit", 20)); return Response::detect("washing-reservations.index", [ "reservations" => $reservations]); diff --git a/skolehjem/resources/views/admin/locations/show.blade.php b/skolehjem/resources/views/admin/locations/show.blade.php index 43c8a97..d32860c 100644 --- a/skolehjem/resources/views/admin/locations/show.blade.php +++ b/skolehjem/resources/views/admin/locations/show.blade.php @@ -18,23 +18,23 @@ $i = 1; ?>
- @foreach(\App\WashingMachine::query()->where("location_id", "=", $location->id)->get() as $machine) - @foreach(\App\WashingReservation::query()->where("machine_id", "=", $machine->id)->where("time", "LIKE", date("Y-m-d"). "%")->orderBy("time", "asc")->get() as $reservation) - @if (date('Y-m-d H:i:s', strtotime('-1 hour')) < $reservation->time) - @if($i % 3 == 1) -
-
- @endif -
-

{{ \App\WashingMachine::query()->find($reservation->machine_id)->name }}

-
- Dato: {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('d/m/Y') }} - Tid: {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('\k\l\. H:i') }} - {{ \App\User::query()->where("id", "=", $reservation->user_id)->first()->name_first }} {{ \App\User::query()->where("id", "=", $reservation->user_id)->first()->name_last }} -
+ @foreach(\App\WashingReservation::query()->join('washing_machines', 'washing_machines.id', '=', 'washing_reservations.machine_id')->where("location_id", "=", $location->id)->where("time", "LIKE", date("Y-m-d"). "%")->orderBy("time", "asc")->get() as $reservation) + @if (date('Y-m-d H:i:s', strtotime('-1 hour')) < $reservation->time) + @if($i % 3 == 1)
- +
@endif - @endforeach +
+

{{ \App\WashingMachine::query()->find($reservation->machine_id)->name }}

+
+ Dato: {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('d/m/Y') }} + Tid: {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('\k\l\. H:i') }} - {{ \App\User::query()->where("id", "=", $reservation->user_id)->first()->name_first }} {{ \App\User::query()->where("id", "=", $reservation->user_id)->first()->name_last }} +
+
+ + @else + {{ \App\WashingReservation::query()->join('washing_machines', 'washing_machines.id', '=', 'washing_reservations.machine_id')->where("location_id", "=", $location->id)->where('time', '<', date('Y-m-d H:i:s'). '%')->delete() }} + @endif @endforeach @if($i == 1) Der er ingen vaskemaskine reservationer for i dag. @@ -46,8 +46,8 @@ @yield("scripts") From 725b34f6bf8e0ccd88de2c48a39d50f25689d37e Mon Sep 17 00:00:00 2001 From: frederikpyt Date: Tue, 25 Aug 2020 12:28:28 +0200 Subject: [PATCH 2/2] v0.10.15 - Fixed EventController.php deletion of old events --- skolehjem/app/Http/Controllers/EventController.php | 7 ++++++- skolehjem/resources/views/app/events/index.blade.php | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/skolehjem/app/Http/Controllers/EventController.php b/skolehjem/app/Http/Controllers/EventController.php index 27fe206..ed02a45 100644 --- a/skolehjem/app/Http/Controllers/EventController.php +++ b/skolehjem/app/Http/Controllers/EventController.php @@ -33,7 +33,12 @@ class EventController extends Controller */ public function index(Request $request) { - DB::table('events')->where('date', '<=', date('Y-m-d H:i', strtotime('-1 day')))->delete(); + DB::table('user_events') + ->where('event_id') + ->delete(); + DB::table('events') + ->where('events.date', '<=', date('Y-m-d H:i', strtotime('-1 day'))) + ->delete(); $events = Event::query()->orderBY('date' , 'asc')->paginate($request->input("limit", 20)); diff --git a/skolehjem/resources/views/app/events/index.blade.php b/skolehjem/resources/views/app/events/index.blade.php index 2fe138b..a0473a9 100644 --- a/skolehjem/resources/views/app/events/index.blade.php +++ b/skolehjem/resources/views/app/events/index.blade.php @@ -45,7 +45,6 @@
@endif - @if(!$events->isEmpty()) @foreach($events as $event)