diff --git a/app/Console/Commands/ReinstateRestaurant.php b/app/Console/Commands/ReinstateRestaurant.php index fa76af0..1c40396 100644 --- a/app/Console/Commands/ReinstateRestaurant.php +++ b/app/Console/Commands/ReinstateRestaurant.php @@ -44,7 +44,7 @@ class ReinstateRestaurant extends Command if ($managerestaurant && $managerestaurant->is_active == 1) { $redeemDate = Carbon::parse($record->redeem_date); - $fourHourPlusTimeOfRecord = $redeemDate->copy()->addHours($managerestaurant->time_hours); + $fourHourPlusTimeOfRecord = $redeemDate->copy()->addHours(4); $currentTime = Carbon::now(); diff --git a/app/Http/Controllers/Admin/ManageRestrauntController.php b/app/Http/Controllers/Admin/ManageRestrauntController.php index b0b9cb0..10f4d39 100644 --- a/app/Http/Controllers/Admin/ManageRestrauntController.php +++ b/app/Http/Controllers/Admin/ManageRestrauntController.php @@ -12,6 +12,7 @@ use Exception; use App\Helpers\onesignalhelper; use App\Models\IamPrincipal; use App\Models\ManageState; +use App\Models\RestaurantTimeInterval; use Illuminate\Support\Facades\Log; use Maatwebsite\Excel\Facades\Excel; use Illuminate\Support\Facades\DB; @@ -45,7 +46,7 @@ class ManageRestrauntController extends Controller */ public function add() { - $state = ManageState::where('is_active', 1)->get()->toArray(); + $state = ManageState::with('timeInterval')->where('is_active', 1)->get()->toArray(); return view('Admin.pages.manage_restaurants.add_restaurant', compact('state')); } @@ -84,10 +85,6 @@ class ManageRestrauntController extends Controller $restaurant->try_on_2 = $request->input('try_on_2'); $restaurant->try_on_3 = $request->input('try_on_3'); $restaurant->try_on_4 = $request->input('try_on_4'); - $restaurant->time_hours = $request->input('timeHours'); - $restaurant->max_numb_day = $request->input('maxNumbDay'); - $restaurant->max_numb_week = $request->input('maxNumbWeek'); - $restaurant->max_numb_month = $request->input('maxNumbMonth'); $restaurant->save(); foreach ($request->input('operating_hours') as $day => $hours) { @@ -99,6 +96,13 @@ class ManageRestrauntController extends Controller ]); } + $restTimeInterval = new RestaurantTimeInterval(); + $restTimeInterval->manage_restaurants_xid = $restaurant->id; + $restTimeInterval->time_hours = $request->timeHours; + $restTimeInterval->time_interval = $request->timeInterval; + $restTimeInterval->quantity = $request->timeQuantity; + $restTimeInterval->save(); + $imagePath = ListingImageUrl('restaurant_images', $restaurant->image); $allCustomerOneSignalIds = IamPrincipal::select('id', 'one_signal_player_id')->where('is_active', 1)->where('notification_status', 1)->where('principal_type_xid', 3)->get(); @@ -141,7 +145,9 @@ class ManageRestrauntController extends Controller { try { $operating_hours = OperatingHour::where('manage_restaurant_xid', $id)->get()->keyBy('day_of_week'); - $restaurantItem = ManageRestaurant::where('id', $id)->first(); + $restaurantItem = ManageRestaurant::with('timeInterval')->where('id', $id)->first(); + $timeInterval = $restaurantItem->timeInterval->first(); + $state = ManageState::where('is_active', 1)->get()->toArray(); $restaurantItem['image'] = ListingImageUrl('restaurant_images', $restaurantItem['image']); return view( @@ -150,7 +156,8 @@ class ManageRestrauntController extends Controller 'restaurantItem', 'operating_hours', - 'state' + 'state', + 'timeInterval' ) ); } catch (Exception $e) { @@ -193,12 +200,9 @@ class ManageRestrauntController extends Controller $restaurant->try_on_2 = $request->input('try_on_2'); $restaurant->try_on_3 = $request->input('try_on_3'); $restaurant->try_on_4 = $request->input('try_on_4'); - $restaurant->time_hours = $request->input('timeHours'); - $restaurant->max_numb_day = $request->input('maxNumbDay'); - $restaurant->max_numb_week = $request->input('maxNumbWeek'); - $restaurant->max_numb_month = $request->input('maxNumbMonth'); $restaurant->save(); + // Handle operating hours foreach ($request->input('operating_hours') as $day => $hours) { $operatingHour = OperatingHour::where('manage_restaurant_xid', $restaurant->id) ->where('day_of_week', $day) @@ -221,6 +225,26 @@ class ManageRestrauntController extends Controller } } + // Handle time interval + $timeInterval = RestaurantTimeInterval::where('manage_restaurants_xid', $restaurant->id)->first(); + + if ($timeInterval) { + // Update existing record + $timeInterval->update([ + 'time_hours' => $request->input('timeHours'), + 'time_interval' => $request->input('timeInterval'), + 'quantity' => $request->input('timeQuantity'), + ]); + } else { + // Create new record + RestaurantTimeInterval::create([ + 'manage_restaurants_xid' => $restaurant->id, + 'time_hours' => $request->input('timeHours'), + 'time_interval' => $request->input('timeInterval'), + 'quantity' => $request->input('timeQuantity'), + ]); + } + DB::commit(); return jsonResponseWithSuccessMessage(__('success.update_data')); @@ -233,6 +257,7 @@ class ManageRestrauntController extends Controller + /* Created By : Sayli Raut Created at : 29 May 2024 @@ -248,7 +273,7 @@ class ManageRestrauntController extends Controller return view('Admin.pages.manage_restaurants.view_restaurant', compact('restaurantItem', 'operating_hours')); } catch (Exception $e) { - Log::error("view Voucher Load Failed" . $e->getMessage()) ; + Log::error("view Voucher Load Failed" . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } diff --git a/app/Models/ManageRestaurant.php b/app/Models/ManageRestaurant.php index 66bc0f6..d1691a0 100644 --- a/app/Models/ManageRestaurant.php +++ b/app/Models/ManageRestaurant.php @@ -55,5 +55,10 @@ class ManageRestaurant extends Model } + public function timeInterval() + { + return $this->hasMany(RestaurantTimeInterval::class, 'manage_restaurants_xid', 'id'); + } + } diff --git a/app/Models/RestaurantTimeInterval.php b/app/Models/RestaurantTimeInterval.php new file mode 100644 index 0000000..e2b1752 --- /dev/null +++ b/app/Models/RestaurantTimeInterval.php @@ -0,0 +1,21 @@ +string('exclusion', 255)->nullable(); $table->string('latitude'); $table->string('longtitude'); - $table->integer('time_hours')->default(1)->comment('Time in hours between redeeming two cocktails'); - $table->integer('max_numb_day')->default(1)->comment('Maximum number of cocktails per day'); - $table->integer('max_numb_week')->default(1)->comment('Maximum number of cocktails per week'); - $table->integer('max_numb_month')->default(1)->comment('Maximum number of cocktails per month'); $table->boolean('is_active')->default(1)->comment('1=Active, 0=Expired'); $table->integer('created_by')->nullable(); $table->integer('modified_by')->nullable(); diff --git a/database/migrations/2024_07_01_110903_create_resaurant_time_intervals_table.php b/database/migrations/2024_07_01_110903_create_resaurant_time_intervals_table.php new file mode 100644 index 0000000..b70c87a --- /dev/null +++ b/database/migrations/2024_07_01_110903_create_resaurant_time_intervals_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedBigInteger('manage_restaurants_xid'); + $table->foreign('manage_restaurants_xid')->references('id')->on('manage_restaurants')->onDelete('cascade'); + $table->integer('time_hours'); + $table->integer('quantity'); + $table->enum('time_interval', ['day', 'week', 'month'])->default('day'); + $table->boolean('is_active')->default(1)->comment('1=Active, 0=Expired'); + $table->softDeletes(); + $table->integer('created_by')->nullable(); + $table->integer('modified_by')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('resaurant_time_intervals'); + } +}; diff --git a/public/assets/js/admin/manage_restaurant/add_restaurant.js b/public/assets/js/admin/manage_restaurant/add_restaurant.js index c834ea4..ce4f7d0 100644 --- a/public/assets/js/admin/manage_restaurant/add_restaurant.js +++ b/public/assets/js/admin/manage_restaurant/add_restaurant.js @@ -24,14 +24,14 @@ $(document).on("click", "#update_restaurant_btn", function (e) { latitude: { required: true, number: true, - normalizer: function(value) { + normalizer: function (value) { return $.trim(value); } }, longitude: { required: true, number: true, - normalizer: function(value) { + normalizer: function (value) { return $.trim(value); } }, @@ -55,17 +55,12 @@ $(document).on("click", "#update_restaurant_btn", function (e) { number: true, min: 1 }, - maxNumbDay: { + timeQuantity: { required: true, number: true, min: 1 }, - maxNumbWeek: { - required: true, - number: true, - min: 1 - }, - maxNumbMonth: { + maxCocktails: { required: true, number: true, min: 1 @@ -118,20 +113,15 @@ $(document).on("click", "#update_restaurant_btn", function (e) { number: "Time must be a number", min: "Time must be greater than 0" }, - maxNumbDay: { - required: "Please enter the maximum number of cocktails per day", - number: "Value must be a number", - min: "Value must be greater than 0" + timeQuantity: { + required: "Please enter the time quantity", + number: "Time quantity must be a number", + min: "Time quantity must be greater than 0" }, - maxNumbWeek: { - required: "Please enter the maximum number of cocktails per week", - number: "Value must be a number", - min: "Value must be greater than 0" - }, - maxNumbMonth: { - required: "Please enter the maximum number of cocktails per month", - number: "Value must be a number", - min: "Value must be greater than 0" + maxCocktails: { + required: "Please enter the maximum number of cocktails", + number: "Maximum number of cocktails must be a number", + min: "Maximum number of cocktails must be greater than 0" } }, errorClass: 'error-message', diff --git a/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php b/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php index ae03f9c..ee9f1be 100644 --- a/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php +++ b/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php @@ -135,51 +135,37 @@