From 4f8384676b12fdaa96272045fd65c92f10471d08 Mon Sep 17 00:00:00 2001 From: Jagad R R Date: Sat, 18 Jan 2025 15:01:28 +0700 Subject: [PATCH] add validation for masa input --- ...ormEntertainmentPresentationController.php | 18 +++++++++++++---- .../Forms/FormMeetingSeminarController.php | 18 +++++++++++++---- .../Controllers/Forms/FormOtherController.php | 20 ++++++++++++++----- .../Forms/FormUpCountryController.php | 18 +++++++++++++---- .../Forms/FormVehicleController.php | 18 +++++++++++++---- .../forms/entertainment/create.blade.php | 19 ++++++++++++++++++ .../pages/forms/entertainment/edit.blade.php | 19 ++++++++++++++++++ 7 files changed, 109 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php index ea120cc..d267d1d 100644 --- a/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php +++ b/app/Http/Controllers/Forms/FormEntertainmentPresentationController.php @@ -34,10 +34,10 @@ class FormEntertainmentPresentationController extends Controller $this->checkAuthorization(auth()->user(), ['forms.entertainment.view']); $role = auth()->user()->getRoleNames()[0]; - $forms = FormEntertaimentPresentation::whereMonth('tanggal', date('m')) - ->whereYear('tanggal', date('Y')) - ->where('tanggal', '<=', date('Y-m-' . env('CLOSING_DATE'))) - ->whereRaw('DAY(CURDATE()) <= ' . env('CLOSING_DATE')) + $startDate = date('Y-m-' . env('STARTING_DATE')); // Starting date from .env for the current month + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); // Closing date for the next month + + $forms = FormEntertaimentPresentation::whereBetween('tanggal', [$startDate, $closingDateNextMonth]) ->orderBy('tanggal', 'desc') ->with('user') ->get(); @@ -127,6 +127,16 @@ class FormEntertainmentPresentationController extends Controller 'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], ]); + $currentDate = date('Y-m-d'); + $startDate = date('Y-m-' . env('STARTING_DATE')); + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); + + if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) { + return response()->json([ + 'error' => 'Current date is not within the valid range.' + ], 400); + } + $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang; $region = Region::where('id', $cabang->region_id)->first(); $kategori = Kategori::where('name', 'Entertainment')->first(); diff --git a/app/Http/Controllers/Forms/FormMeetingSeminarController.php b/app/Http/Controllers/Forms/FormMeetingSeminarController.php index 0023d8c..9e1195a 100644 --- a/app/Http/Controllers/Forms/FormMeetingSeminarController.php +++ b/app/Http/Controllers/Forms/FormMeetingSeminarController.php @@ -34,10 +34,10 @@ class FormMeetingSeminarController extends Controller $this->checkAuthorization(auth()->user(), ['forms.meeting.view']); $role = auth()->user()->getRoleNames()[0]; - $forms = FormMeetingSeminar::whereMonth('created_at', date('m')) - ->whereYear('created_at', date('Y')) - ->where('created_at', '<=', date('Y-m-' . env('CLOSING_DATE'))) - ->whereRaw('DAY(CURDATE()) <= ' . env('CLOSING_DATE')) + $startDate = date('Y-m-' . env('STARTING_DATE')); // Starting date from .env for the current month + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); // Closing date for the next month + + $forms = FormMeetingSeminar::whereBetween('created_at', [$startDate, $closingDateNextMonth]) ->orderBy('created_at', 'desc') ->with('user') ->get(); @@ -128,6 +128,16 @@ class FormMeetingSeminarController extends Controller 'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], ]); + $currentDate = date('Y-m-d'); + $startDate = date('Y-m-' . env('STARTING_DATE')); + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); + + if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) { + return response()->json([ + 'error' => 'Current date is not within the valid range.' + ], 400); + } + $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang; $region = Region::where('id', $cabang->region_id)->first(); $kategori = Kategori::where('name', 'Meeting / Seminar')->first(); diff --git a/app/Http/Controllers/Forms/FormOtherController.php b/app/Http/Controllers/Forms/FormOtherController.php index 9377422..9cb784a 100644 --- a/app/Http/Controllers/Forms/FormOtherController.php +++ b/app/Http/Controllers/Forms/FormOtherController.php @@ -30,12 +30,12 @@ class FormOtherController extends Controller $this->checkAuthorization(auth()->user(), ['forms.other.view']); $role = auth()->user()->getRoleNames()[0]; - $forms = FormOthers::whereMonth('tanggal', date('m')) - ->whereYear('tanggal', date('Y')) - ->where('tanggal', '<=', date('Y-m-' . env('CLOSING_DATE'))) - ->whereRaw('DAY(CURDATE()) <= ' . env('CLOSING_DATE')) + $startDate = date('Y-m-' . env('STARTING_DATE')); // Starting date from .env for the current month + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); // Closing date for the next month + + $forms = FormOthers::whereBetween('tanggal', [$startDate, $closingDateNextMonth]) ->orderBy('tanggal', 'desc') - ->with(['user', 'kategori']) + ->with('user') ->get(); $availableBudget = null; @@ -124,6 +124,16 @@ class FormOtherController extends Controller 'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], ]); + $currentDate = date('Y-m-d'); + $startDate = date('Y-m-' . env('STARTING_DATE')); + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); + + if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) { + return response()->json([ + 'error' => 'Current date is not within the valid range.' + ], 400); + } + $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang; $region = Region::where('id', $cabang->region_id)->first(); $kategori = Kategori::where('id', $request->kategori_id)->first(); diff --git a/app/Http/Controllers/Forms/FormUpCountryController.php b/app/Http/Controllers/Forms/FormUpCountryController.php index f27403f..22bb9ed 100644 --- a/app/Http/Controllers/Forms/FormUpCountryController.php +++ b/app/Http/Controllers/Forms/FormUpCountryController.php @@ -34,10 +34,10 @@ class FormUpCountryController extends Controller $this->checkAuthorization(auth()->user(), ['forms.country.view']); $role = auth()->user()->getRoleNames()[0]; - $forms = FormUpCountry::whereMonth('tanggal', date('m')) - ->whereYear('tanggal', date('Y')) - ->where('tanggal', '<=', date('Y-m-' . env('CLOSING_DATE'))) - ->whereRaw('DAY(CURDATE()) <= ' . env('CLOSING_DATE')) + $startDate = date('Y-m-' . env('STARTING_DATE')); // Starting date from .env for the current month + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); // Closing date for the next month + + $forms = FormUpCountry::whereBetween('tanggal', [$startDate, $closingDateNextMonth]) ->orderBy('tanggal', 'desc') ->with(['rayon', 'user']) ->get(); @@ -140,6 +140,16 @@ class FormUpCountryController extends Controller 'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], ]); + $currentDate = date('Y-m-d'); + $startDate = date('Y-m-' . env('STARTING_DATE')); + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); + + if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) { + return response()->json([ + 'error' => 'Current date is not within the valid range.' + ], 400); + } + $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang; $region = Region::where('id', $cabang->region_id)->first(); $kategori = Kategori::where('name', 'Up Country')->first(); diff --git a/app/Http/Controllers/Forms/FormVehicleController.php b/app/Http/Controllers/Forms/FormVehicleController.php index fc11527..82c9de0 100644 --- a/app/Http/Controllers/Forms/FormVehicleController.php +++ b/app/Http/Controllers/Forms/FormVehicleController.php @@ -34,10 +34,10 @@ class FormVehicleController extends Controller $this->checkAuthorization(auth()->user(), ['forms.vehicle.view']); $role = auth()->user()->getRoleNames()[0]; - $forms = FormVehicleRunningCost::whereMonth('tanggal', date('m')) - ->whereYear('tanggal', date('Y')) - ->where('tanggal', '<=', date('Y-m-' . env('CLOSING_DATE'))) - ->whereRaw('DAY(CURDATE()) <= ' . env('CLOSING_DATE')) + $startDate = date('Y-m-' . env('STARTING_DATE')); // Starting date from .env for the current month + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); // Closing date for the next month + + $forms = FormVehicleRunningCost::whereBetween('tanggal', [$startDate, $closingDateNextMonth]) ->orderBy('tanggal', 'desc') ->with('user') ->get(); @@ -128,6 +128,16 @@ class FormVehicleController extends Controller 'bukti_total' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])], ]); + $currentDate = date('Y-m-d'); + $startDate = date('Y-m-' . env('STARTING_DATE')); + $closingDateNextMonth = date('Y-m-', strtotime('+1 month')) . env('CLOSING_DATE'); + + if ($currentDate < $startDate || $currentDate > $closingDateNextMonth) { + return response()->json([ + 'error' => 'Current date is not within the valid range.' + ], 400); + } + $cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang; $region = Region::where('id', $cabang->region_id)->first(); $kategori = Kategori::where('name', 'Vehicle Running Cost')->first(); diff --git a/resources/views/backend/pages/forms/entertainment/create.blade.php b/resources/views/backend/pages/forms/entertainment/create.blade.php index aa47bc4..855aaff 100644 --- a/resources/views/backend/pages/forms/entertainment/create.blade.php +++ b/resources/views/backend/pages/forms/entertainment/create.blade.php @@ -22,6 +22,25 @@ +
diff --git a/resources/views/backend/pages/forms/entertainment/edit.blade.php b/resources/views/backend/pages/forms/entertainment/edit.blade.php index b051cb5..cdd2a0b 100644 --- a/resources/views/backend/pages/forms/entertainment/edit.blade.php +++ b/resources/views/backend/pages/forms/entertainment/edit.blade.php @@ -22,6 +22,25 @@
+