diff --git a/app/Http/Controllers/Admin/ManageRestrauntController.php b/app/Http/Controllers/Admin/ManageRestrauntController.php index 1ba121f..5aa2a80 100644 --- a/app/Http/Controllers/Admin/ManageRestrauntController.php +++ b/app/Http/Controllers/Admin/ManageRestrauntController.php @@ -105,16 +105,16 @@ class ManageRestrauntController extends Controller $restTimeInterval->time_interval = $request->timeInterval; $restTimeInterval->quantity = $request->timeQuantity; $restTimeInterval->save(); - - // Storing closed restaurant date and time - if ($request->filled('closed_date')) { - $ClosedTime = new RestaurantClosedHour(); - $ClosedTime->restaurant_id = $restaurant->id; - $ClosedTime->day = $request->closed_date; - $ClosedTime->start_time = $request->closed_start_time; - $ClosedTime->end_time = $request->closed_end_time; - $ClosedTime->save(); + if($request->filled('day_of_week')){ + foreach ($request->day_of_week as $index => $day) { + RestaurantClosedHour::create([ + 'restaurant_id' => $restaurant->id, + 'day_of_week' => $day, + 'start_time' => $request->start_time[$index], + 'end_time' => $request->end_time[$index], + ]); } + } // Sending notifications $imagePath = ListingImageUrl('restaurant_images', $restaurant->image); @@ -159,7 +159,7 @@ class ManageRestrauntController extends Controller try { // $operating_hours = OperatingHour::where('manage_restaurant_xid', $id)->get()->keyBy('day_of_week'); $restaurantItem = ManageRestaurant::with('timeInterval')->where('id', $id)->first(); - $restaurantClosedTime = RestaurantClosedHour::with('restaurant')->where('restaurant_id', $id)->first(); + $restaurantClosedTime = RestaurantClosedHour::with('restaurant')->where('restaurant_id', $id)->get(); $timeInterval = $restaurantItem->timeInterval->first(); $state = ManageState::where('is_active', 1)->get()->toArray(); @@ -181,6 +181,7 @@ class ManageRestrauntController extends Controller } } + /* Created By : Sayli Raut Created at : 29 May 2024 @@ -234,25 +235,15 @@ class ManageRestrauntController extends Controller ]); } - $closedTime = RestaurantClosedHour::where('restaurant_id', $restaurant->id)->first(); + $closedTime = RestaurantClosedHour::where('restaurant_id', $restaurant->id)->delete(); - if ($closedTime) { - if ($request->filled('closed_date')) { - $closedTime->update([ - 'day' => $request->input('closed_date'), - 'start_time' => $request->input('closed_start_time'), - 'end_time' => $request->input('closed_end_time'), - ]); - } elseif (!$request->filled('closed_date') && !$request->filled('closed_start_time') && !$request->filled('closed_end_time')) { - $closedTime->delete(); - } - } else { - if ($request->filled('closed_date')) { + if ($request->day_of_week) { + foreach ($request->day_of_week as $index => $day) { RestaurantClosedHour::create([ - 'restaurant_id' => $restaurant->id, - 'day' => $request->input('closed_date'), - 'start_time' => $request->input('closed_start_time'), - 'end_time' => $request->input('closed_end_time'), + 'restaurant_id' => $request->id, + 'day_of_week' => $day, + 'start_time' => $request->start_time[$index], + 'end_time' => $request->end_time[$index], ]); } } diff --git a/app/Models/RestaurantClosedHour.php b/app/Models/RestaurantClosedHour.php index 161900b..6ad3a67 100644 --- a/app/Models/RestaurantClosedHour.php +++ b/app/Models/RestaurantClosedHour.php @@ -10,9 +10,8 @@ class RestaurantClosedHour extends Model use HasFactory; protected $table = 'restaurant_closed_hours'; - protected $fillable = [ - 'restaurant_id', 'day', 'start_time', 'end_time' - ]; + protected $fillable = ['restaurant_id', 'day_of_week', 'start_time', 'end_time']; + public function restaurant() { diff --git a/database/migrations/2024_07_12_094733_create_restaurant_closed_hours_table.php b/database/migrations/2024_07_12_094733_create_restaurant_closed_hours_table.php index 72f416e..8f172fa 100644 --- a/database/migrations/2024_07_12_094733_create_restaurant_closed_hours_table.php +++ b/database/migrations/2024_07_12_094733_create_restaurant_closed_hours_table.php @@ -14,9 +14,13 @@ return new class extends Migration Schema::create('restaurant_closed_hours', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('restaurant_id'); - $table->string('day')->nullable(); - $table->time('start_time')->nullable(); - $table->time('end_time')->nullable(); + $table->unsignedTinyInteger('day_of_week'); // 0 = Sunday, 1 = Monday + $table->time('start_time'); + $table->time('end_time'); + $table->boolean('is_active')->default(1)->comment('1=Active, 0=Expired'); + $table->integer('created_by')->nullable(); + $table->integer('modified_by')->nullable(); + $table->softDeletes(); $table->timestamps(); $table->foreign('restaurant_id')->references('id')->on('manage_restaurants')->onDelete('cascade'); diff --git a/public/assets/js/admin/manage_restaurant/add_restaurant.js b/public/assets/js/admin/manage_restaurant/add_restaurant.js index 48ec218..23e9d5a 100644 --- a/public/assets/js/admin/manage_restaurant/add_restaurant.js +++ b/public/assets/js/admin/manage_restaurant/add_restaurant.js @@ -1,4 +1,4 @@ -$(document).on("click", "#update_restaurant_btn", function (e) { +$(document).ready(function() { $('#update_restaurant_form').validate({ ignore: [], debug: false, @@ -7,48 +7,48 @@ $(document).on("click", "#update_restaurant_btn", function (e) { required: true }, state_xid: { - required: true, + required: true }, rest_id: { - required: true, + required: true }, address: { - required: true, + required: true }, image: { - required: true, + required: true }, phone_number: { - required: true, + required: true }, 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); } }, bio: { - required: true, + required: true }, try_on_1: { - required: true, + required: true }, try_on_2: { - required: true, + required: true }, try_on_3: { - required: true, + required: true }, try_on_4: { - required: true, + required: true }, timeHours: { required: true, @@ -65,58 +65,60 @@ $(document).on("click", "#update_restaurant_btn", function (e) { number: true, min: 1 }, - closed_start_time: { - required: function (element) { - return $('input[name="closed_date"]').val() !== ''; + 'start_time[]': { + required: function(element) { + return $(element).closest('.closed-hour-entry').find( + 'select[name="day_of_week[]"]').val() !== ''; } }, - closed_end_time: { - required: function (element) { - return $('input[name="closed_date"]').val() !== ''; + 'end_time[]': { + required: function(element) { + return $(element).closest('.closed-hour-entry').find( + 'select[name="day_of_week[]"]').val() !== ''; } } }, messages: { name: { - required: "Enter restaurant Name", + required: "Enter restaurant Name" }, state_xid: { - required: "Please Select state", + required: "Please Select state" }, rest_id: { - required: "Enter restaurant Id", + required: "Enter restaurant Id" }, address: { - required: "Please enter location", + required: "Please enter location" }, image: { - required: "Please insert image", + required: "Please insert image" }, phone_number: { - required: "Please enter phone number", + required: "Please enter phone number" }, latitude: { required: "Please enter latitude", - number: "Latitude must be a number without spaces", + number: "Latitude must be a number without spaces" }, longitude: { required: "Please enter longitude", - number: "Longitude must be a number without spaces", + number: "Longitude must be a number without spaces" }, bio: { - required: "Enter Bio", + required: "Enter Bio" }, try_on_1: { - required: "Please enter this field", + required: "Please enter this field" }, try_on_2: { - required: "Please enter this field", + required: "Please enter this field" }, try_on_3: { - required: "Please enter this field", + required: "Please enter this field" }, try_on_4: { - required: "Please enter this field", + required: "Please enter this field" }, timeHours: { required: "Please enter the time in hours between redeeming two cocktails", @@ -133,16 +135,15 @@ $(document).on("click", "#update_restaurant_btn", function (e) { number: "Maximum number of cocktails must be a number", min: "Maximum number of cocktails must be greater than 0" }, - closed_start_time: { - required: "Please select the start time for closing hours" + 'start_time[]': { + required: "Please select a start time" }, - closed_end_time: { - required: "Please select the end time for closing hours" + 'end_time[]': { + required: "Please select an end time" } }, errorClass: 'error-message', - submitHandler: function (form) { - e.preventDefault(); + submitHandler: function(form) { var form = $('#update_restaurant_form')[0]; var formData = new FormData(form); @@ -160,31 +161,38 @@ $(document).on("click", "#update_restaurant_btn", function (e) { data: formData, processData: false, contentType: false, - beforeSend: function () { + beforeSend: function() { $('#update_restaurant_btn').html('Please wait...'); $('#update_restaurant_btn').attr('disabled', true); }, - success: function (result) { + success: function(result) { if (result.status_code == 200) { toastr.success('Restaurant Updated Successfully'); - setTimeout(function () { - window.location.href = base_url + "/manage-restaurants"; + setTimeout(function() { + window.location.href = base_url + + "/manage-restaurants"; }, 2000); } else { toastr.error('Something Went Wrong'); - setTimeout(function () { - window.location.href = base_url + "/manage-restaurants"; + setTimeout(function() { + window.location.href = base_url + + "/manage-restaurants"; }, 2000); } }, - error: function (xhr, status, error) { + error: function(xhr, status, error) { toastr.error('Something Went Wrong'); }, - complete: function () { + complete: function() { $('#update_restaurant_btn').attr('disabled', false); $('#update_restaurant_btn').text('Submit'); } }); } }); + + $(document).on("click", "#update_restaurant_btn", function(e) { + e.preventDefault(); + $('#update_restaurant_form').submit(); + }); }); 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 aafdb0f..828f0fa 100644 --- a/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php +++ b/resources/views/Admin/pages/manage_restaurants/add_restaurant.blade.php @@ -109,7 +109,7 @@ -