This commit is contained in:
sayliraut
2024-08-01 17:31:12 +05:30
parent d0788543cd
commit 6a8ade88fa
2 changed files with 195 additions and 181 deletions

View File

@@ -137,7 +137,8 @@
</div>
</div>
<div class="col-md-12">
<div id="closed-hours-container">
<label for="timeHours" class="label">Closed Hours : </label><br>
<div id="closed-hours-container" style="display: none;">
<div class="closed-hour-entry">
<label for="day_of_week[]">Closed Day:</label>
<select name="day_of_week[]">
@@ -160,10 +161,11 @@
onclick="removeClosedHourEntry(this)">Remove</button>
</div>
</div>
<button type="button" onclick="addClosedHourEntry()">Add Another Time
<button type="button" onclick="addClosedHourEntry()">Add Time
Slot</button>
</div>
<div class="col-md-12">
<button id="update_restaurant_btn" type="submit"
class="download-btn-custom mt-3 custom-width-10">Save</button>
@@ -211,15 +213,22 @@
<script>
function addClosedHourEntry() {
const container = document.getElementById('closed-hours-container');
const entry = document.querySelector('.closed-hour-entry').cloneNode(true);
entry.querySelectorAll('input, select').forEach(input => input.value = '');
container.appendChild(entry);
if (container.style.display === "none") {
container.style.display = "block";
} else {
const entry = document.querySelector('.closed-hour-entry').cloneNode(true);
entry.querySelectorAll('input, select').forEach(input => input.value = '');
container.appendChild(entry);
}
}
function removeClosedHourEntry(button) {
const entry = button.parentNode;
entry.parentNode.removeChild(entry);
const container = document.getElementById('closed-hours-container');
if (!container.querySelector('.closed-hour-entry')) {
container.style.display = "none";
}
}
</script>
@endsection

View File

@@ -199,6 +199,8 @@
</div> --}}
<div class="col-md-12">
<label for="timeHours" class="label">Closed Hours : </label><br>
<div id="closed-hours-container">
@foreach ($restaurantClosedTime as $closedHour)
<div class="closed-hour-entry">
@@ -240,7 +242,7 @@
</div>
@endforeach
</div>
<button type="button" onclick="addClosedHourEntry()">Add Another Time
<button type="button" onclick="addClosedHourEntry()">Add Time
Slot</button>
</div>
@@ -307,183 +309,186 @@
@endsection
@section('section_script')
<script>
$(document).ready(function() {
$('#update_voucher').validate({
ignore: [],
debug: false,
rules: {
name: {
required: true
},
state_xid: {
required: true,
},
rest_id: {
required: true,
},
address: {
required: true,
},
phone_number: {
required: true,
},
latitude: {
required: true,
number: true,
normalizer: function(value) {
return $.trim(value);
}
},
longitude: {
required: true,
number: true,
normalizer: function(value) {
return $.trim(value);
}
},
timeHours: {
required: true,
number: true,
min: 1
},
timeQuantity: {
required: true,
number: true,
min: 1
},
maxCocktails: {
required: true,
number: true,
min: 1
},
bio: {
required: true,
},
try_on_1: {
required: true,
},
try_on_2: {
required: true,
},
try_on_3: {
required: true,
},
try_on_4: {
required: true,
},
'start_time[]': {
required: function(element) {
return $(element).closest('.closed-hour-entry').find('select[name="day_of_week[]"]').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",
},
state_xid: {
required: "Please select state",
},
rest_id: {
required: "Enter restaurant Id",
},
address: {
required: "Please enter location",
},
phone_number: {
required: "Please enter phone number",
},
latitude: {
required: "Please enter latitude",
number: "Latitude must be a number without spaces",
},
longitude: {
required: "Please enter longitude",
number: "Longitude must be a number without spaces",
},
timeHours: {
required: "Please enter the time in hours between redeeming two cocktails",
number: "Time must be a number",
min: "Time 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"
},
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"
},
bio: {
required: "Enter Bio",
},
try_on_1: {
required: "Please enter this field",
},
try_on_2: {
required: "Please enter this field",
},
try_on_3: {
required: "Please enter this field",
},
try_on_4: {
required: "Please enter this field",
},
'start_time[]': {
required: "Please select a start time",
},
'end_time[]': {
required: "Please select an end time",
}
},
errorClass: 'error-message',
submitHandler: function(form) {
var formData = new FormData(form);
$('#update_restaurant').text('Please wait...');
$('#update_restaurant').attr('disabled', true);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "{{ route('update_restaurant') }}",
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(result) {
if (result.status_code == 200) {
toastr.success('Restaurant Updated Successfully');
setTimeout(function() {
window.location.href = "{{ route('manage.restaurants') }}";
}, 2000);
} else {
toastr.error('Something Went Wrong');
setTimeout(function() {
window.location.href = "{{ route('manage.restaurants') }}";
}, 2000);
$(document).ready(function() {
$('#update_voucher').validate({
ignore: [],
debug: false,
rules: {
name: {
required: true
},
state_xid: {
required: true,
},
rest_id: {
required: true,
},
address: {
required: true,
},
phone_number: {
required: true,
},
latitude: {
required: true,
number: true,
normalizer: function(value) {
return $.trim(value);
}
},
longitude: {
required: true,
number: true,
normalizer: function(value) {
return $.trim(value);
}
},
timeHours: {
required: true,
number: true,
min: 1
},
timeQuantity: {
required: true,
number: true,
min: 1
},
maxCocktails: {
required: true,
number: true,
min: 1
},
bio: {
required: true,
},
try_on_1: {
required: true,
},
try_on_2: {
required: true,
},
try_on_3: {
required: true,
},
try_on_4: {
required: true,
},
'start_time[]': {
required: function(element) {
return $(element).closest('.closed-hour-entry').find(
'select[name="day_of_week[]"]').val() !== '';
}
},
'end_time[]': {
required: function(element) {
return $(element).closest('.closed-hour-entry').find(
'select[name="day_of_week[]"]').val() !== '';
}
}
$('#update_restaurant').attr('disabled', false);
$('#update_restaurant').text('Submit');
},
messages: {
name: {
required: "Enter restaurant Name",
},
state_xid: {
required: "Please select state",
},
rest_id: {
required: "Enter restaurant Id",
},
address: {
required: "Please enter location",
},
phone_number: {
required: "Please enter phone number",
},
latitude: {
required: "Please enter latitude",
number: "Latitude must be a number without spaces",
},
longitude: {
required: "Please enter longitude",
number: "Longitude must be a number without spaces",
},
timeHours: {
required: "Please enter the time in hours between redeeming two cocktails",
number: "Time must be a number",
min: "Time 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"
},
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"
},
bio: {
required: "Enter Bio",
},
try_on_1: {
required: "Please enter this field",
},
try_on_2: {
required: "Please enter this field",
},
try_on_3: {
required: "Please enter this field",
},
try_on_4: {
required: "Please enter this field",
},
'start_time[]': {
required: "Please select a start time",
},
'end_time[]': {
required: "Please select an end time",
}
},
errorClass: 'error-message',
submitHandler: function(form) {
var formData = new FormData(form);
$('#update_restaurant').text('Please wait...');
$('#update_restaurant').attr('disabled', true);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "{{ route('update_restaurant') }}",
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(result) {
if (result.status_code == 200) {
toastr.success('Restaurant Updated Successfully');
setTimeout(function() {
window.location.href =
"{{ route('manage.restaurants') }}";
}, 2000);
} else {
toastr.error('Something Went Wrong');
setTimeout(function() {
window.location.href =
"{{ route('manage.restaurants') }}";
}, 2000);
}
$('#update_restaurant').attr('disabled', false);
$('#update_restaurant').text('Submit');
},
});
$('#store_coupon').attr('disabled', false);
$('#store_coupon').text('Submit');
}
});
$('#store_coupon').attr('disabled', false);
$('#store_coupon').text('Submit');
}
});
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {