Add restaurant

This commit is contained in:
sayliraut
2024-05-29 17:11:02 +05:30
parent 1a8e62a821
commit e186b24845
12 changed files with 789 additions and 289 deletions

View File

@@ -12,28 +12,125 @@ use Illuminate\Support\Facades\DB;
class ManageRestrauntController extends Controller
{
public function index(){
public function index()
{
$restaurant = ManageRestaurant::with('operatingHours')->latest()->get();
return view('Admin.pages.manage_users.manage_restaurants.manage_restaurants', compact('restaurant'));
return view('Admin.pages.manage_restaurants.manage_restaurants', compact('restaurant'));
}
public function add()
{
return view('Admin.pages.manage_users.manage_restaurants.add_restaurant');
return view('Admin.pages.manage_restaurants.add_restaurant');
}
public function update(Request $request)
public function store_restaurant(Request $request)
{
dd($request);
try {
DB::beginTransaction();
// Handling image upload
if ($request->hasFile('image')) {
$image = $request->file('image');
$imagePath = saveSingleImageWithoutCrop($image, 'restaurant_images');
} else {
$imagePath = $request->image;
}
// Creating the restaurant
$restaurant = new ManageRestaurant();
$restaurant->name = $request->input('name');
$restaurant->description = $request->input('description');
$restaurant->image = $imagePath;
$restaurant->restaurant_id = $request->input('rest_id');
$restaurant->address = $request->input('address');
$restaurant->bio = $request->input('bio');
$restaurant->latitude = $request->input('latitude');
$restaurant->longtitude = $request->input('longitude');
$restaurant->exclusion = $request->input('exclusion');
$restaurant->try_on_1 = $request->input('try_on_1');
$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->save();
foreach ($request->input('operating_hours') as $day => $hours) {
OperatingHour::create([
'manage_restaurant_xid' => $restaurant->id,
'day_of_week' => $day,
'start_time' => $hours['start_time'],
'end_time' => $hours['end_time']
]);
}
DB::commit();
return jsonResponseWithSuccessMessage(__('success.save_data'));
} catch (Exception $e) {
DB::rollBack();
Log::error("update Restaurant Services Page Load Failed " . $e->getMessage());
Log::error("Restaurant Store Page Load Failed: " . $e->getMessage());
return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500);
}
}
public function edit_restaurant(Request $request, $id)
{
try {
$hours = OperatingHour::where('manage_restaurant_xid', $id)->get();
$restaurantItem = ManageRestaurant::where('id', $id)->first();
$restaurantItem['image'] = ListingImageUrl('restaurant_images', $restaurantItem['image']);
// dd($voucherItem);
return view(
'Admin.pages.manage_restaurants.edit_restaurant',
compact(
'restaurantItem',
'hours'
)
);
} catch (Exception $e) {
Log::error("edit voucher Page Load Failed " . $e->getMessage());
return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500);
}
}
// public function update(Request $request)
// {
// try {
// dd($request);
// DB::beginTransaction();
// $restaurant = ManageRestaurant::where('id', $request->restaurant_id)->first();
// // dd($passport_data);
// if (isset($request->image)) {
// $image = $request->image;
// $image_db = null;
// } else {
// $image = null;
// $image_db = $restaurant->image;
// }
// $normalImage = saveSingleImageWithoutCrop($image, 'restaurant_images', $image_db);
// $restaurant->restaurant_name = $request->input('name');
// $restaurant->description = $request->input('description');
// $restaurant->image = $normalImage;
// $restaurant->restaurant_id = $request->input('rest_id');
// $restaurant->city_xid = $request->input('city');
// $restaurant->bio = $request->input('bio');
// $restaurant->try_on_1 = $request->input('try_on_1');
// $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->save();
// DB::commit();
// return jsonResponseWithSuccessMessage(__('success.update_data'));
// } catch (Exception $e) {
// DB::rollBack();
// Log::error("update Restaurant Services Page Load Failed " . $e->getMessage());
// return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500);
// }
// }
}

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class RestaurantAppController extends Controller
{
public function index()
{
return view('Admin.pages.manage_users.manage_restaurant_app.manage_restaurant_app');
}
}

View File

@@ -8,4 +8,18 @@ use Illuminate\Database\Eloquent\Model;
class OperatingHour extends Model
{
use HasFactory;
protected $fillable=[
'id',
'manage_restaurant_xid',
'day_of_week',
'restaurant_id',
'start_time',
'end_time',
'created_at',
'updated_at',
];
public function restaurant()
{
return $this->belongsTo(ManageRestaurant::class, 'manage_restaurant_xid');
}
}

View File

@@ -17,8 +17,8 @@ return new class extends Migration
$table->id();
$table->foreignId('manage_restaurant_xid')->references('id')->on('manage_restaurants')->onDelete('cascade');
$table->enum('day_of_week', ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']);
$table->time('start_time');
$table->time('end_time');
$table->time('start_time')->nullable();
$table->time('end_time')->nullable();
$table->timestamps();
});
}

View File

@@ -1,139 +1,3 @@
// $(document).on("click", "#update_restaurant_btn", function (e) {
// $('#update_restaurant_form').validate({
// ignore: [],
// debug: false,
// rules: {
// name: {
// required: true
// },
// description: {
// required: true,
// },
// rest_id: {
// required: true,
// },
// address: {
// required: true,
// },
// image:{
// required: true,
// },
// exclusion:{
// required:true,
// },
// latitude:{
// required: true,
// },
// longtitude:{
// required: true,
// },
// bio:{
// required: true,
// },
// try_on_1:{
// required: true,
// },
// try_on_2:{
// required: true,
// },
// try_on_3:{
// required: true,
// },
// try_on_4:{
// required: true,
// },
// },
// messages: {
// name: {
// required: "Enter restaurant Name",
// },
// description: {
// required: "Enter Description",
// },
// rest_id: {
// required: "Enter restaurant Id",
// },
// address: {
// required: "Please enter location",
// },
// image: {
// required: "Please insert image",
// },
// exclusion: {
// required: "Please enter exclusion",
// },
// latitude: {
// required: "Please enter latitude",
// },
// longtitude: {
// required: "Please enter longtitude",
// },
// 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",
// },
// },
// errorClass: 'error-message',
// submitHandler: function(form) {
// var formData = new FormData(form);
// let base_url = url_path;
// e.preventDefault();
// $.ajaxSetup({
// headers: {
// 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
// }
// });
// $.ajax({
// url: base_url + '/update_restraunt',
// type: 'POST',
// data: formData,
// processData: false,
// contentType: false,
// beforeSend:function(){
// $('#add_restaurant_btn').html('Please wait...');
// $('#add_restaurant_btn').attr('disabled', true);
// },
// success: function(result) {
// if (result.status_code == 200) {
// toastr.success('Restaurant Updated Sucessfully');
// setTimeout(function() {
// window.location.href = base_url + "/manage_restraunt";
// }, 2000);
// } else {
// toastr.error('Something Went Wrong');
// setTimeout(function() {
// window.location.href = base_url + "/manage_restraunt";
// }, 2000);
// }
// },
// error: function(xhr, status, error) {
// toastr.error('Something Went Wrong');
// // Handle error
// },
// complete: function() {
// // Code to execute regardless of success or failure
// $('#update_restaurant_btn').attr('disabled', false);
// $('#update_restaurant_btn').text('Submit');
// }
// });
// }
// });
// });
$(document).on("click", "#update_restaurant_btn", function (e) {
$('#update_restaurant_form').validate({
ignore: [],
@@ -160,7 +24,7 @@ $(document).on("click", "#update_restaurant_btn", function (e) {
latitude: {
required: true,
},
longitude: { // Fixed the typo 'longtitude' to 'longitude'
longitude: {
required: true,
},
bio: {
@@ -235,7 +99,7 @@ $(document).on("click", "#update_restaurant_btn", function (e) {
});
$.ajax({
url: base_url + '/update_restraunt',
url: base_url + '/store_restaurant',
type: 'POST',
data: formData,
processData: false,
@@ -248,12 +112,12 @@ $(document).on("click", "#update_restaurant_btn", function (e) {
if (result.status_code == 200) {
toastr.success('Restaurant Updated Successfully');
setTimeout(function () {
window.location.href = base_url + "/manage_restaurant";
window.location.href = base_url + "/manage-restaurants";
}, 2000);
} else {
toastr.error('Something Went Wrong');
setTimeout(function () {
window.location.href = base_url + "/manage_restaurant";
window.location.href = base_url + "/manage-restaurants";
}, 2000);
}
},

View File

@@ -110,11 +110,11 @@
</li>
<li class="tooltip-element <?php
if ($currentPage == 'restaurant-app') {
if ($currentPage == 'manage-restaurant_app') {
echo 'active';
}
?>" data-tooltip="1">
<a href="{{ route('manage.restaurants') }}" data-active="1">
<a href="{{ route('manage.restaurants_app') }}" data-active="1">
<div class="icons">
<img src="{{ asset('public/assets/img/restraunt.svg') }}" />
<span class="text">Restaurant App</span>
@@ -153,6 +153,19 @@
</a>
</li>
<li class="tooltip-element <?php
if ($currentPage == 'manage-vouchers') {
echo 'active';
}
?>" data-tooltip="3">
<a href="{{ route('manage.restaurants') }}" data-active="3">
<div class="icons">
<img src="{{ asset('public/assets/img/coupon 1.svg') }}" />
<span class="text">Manage Restaurant</span>
</div>
</a>
</li>
<li class="tooltip-element <?php
if ($currentPage == 'manage-vouchers') {
echo 'active';

View File

@@ -109,12 +109,12 @@
<label>{{ $day }} Start Time:</label>
<input type="time" class="form-control"
name="operating_hours[{{ $day }}][start_time]"
required>
>
</div>
<div class="col-md-3">
<label>{{ $day }} End Time:</label>
<input type="time" class="form-control"
name="operating_hours[{{ $day }}][end_time]" required>
name="operating_hours[{{ $day }}][end_time]" >
</div>
</div>
@endforeach

View File

@@ -0,0 +1,165 @@
@extends('Admin.layouts.master')
@section('content')
@php
$currentPage = 'restraunt';
@endphp
<div class="layout-px-spacing">
<div class="middle-content container-xxl p-0">
<div class="row layout-top-spacing ">
<div class="top-tabel">
<div class="row">
<div class="col-md-4">
<a class="d-flex align-items-center justify-content-center pl-2"
href="{{ route('manage.restaurants') }}">
<img class="back-btn" src="{{ asset('public/assets/img/left-arrow.svg') }}">
<h6 class="card-title p-0">Edit Details</h6>
</a>
</div>
<div class="col-md-8">
</div>
</div>
</div>
<form method="POST" id="update_voucher" class="form py-5 pb-0" action="javascript:void(0)"
enctype="multipart/form-data">
{{ csrf_field() }}
<input type="hidden" name="id" id="id" value="{{ $restaurantItem->id }}" />
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
<div class="widget-content widget-content-area br-8 position-btn h-10">
<div class="view-details Article">
<div class="row">
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Restaurant Name</label>
<input type="text" class="form-control" id="name" name="name"
maxlength="40" value="{{ $restaurantItem->name }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Description</label>
<div id="rest-quill-edit" class="editor-quill" style="height: 100px;">
{!! $restaurantItem->description !!}</div>
<input type="hidden" id="description" name="description"
value="{{ $restaurantItem->description }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Restaurant ID</label>
<input type="text" class="form-control" id="restaurant_id" name="restaurant_id"
maxlength="30" value="{{ $restaurantItem->restaurant_id }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Image</label>
<input type="file" accept="image/*" class="form-control" name="image"
id="imageInputNormal">
<div id="imageInputPreviewNormal" style="width: 30%;">
<img src="{{ $restaurantItem->image }}" alt="Image Preview"
style="width: 40%;">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Restaurant Location</label>
<input type="text" class="form-control" id="location_name"
name="location_name" value="{{ $restaurantItem->address }}"
maxlength="100">
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">Bio</label>
<input type="text" class="form-control" name="bio"
value="{{ $restaurantItem->bio }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label for="company-name" class="label">While at Restaurant be sure to try
:</label>
<input type="text" class="form-control mb-3" name="try_on_1"
value="{{ $restaurantItem->try_on_1 }}">
<input type="text" class="form-control mb-3" name="try_on_2"
value="{{ $restaurantItem->try_on_2 }}">
<input type="text" class="form-control mb-3" name="try_on_3"
value="{{ $restaurantItem->try_on_3 }}">
<input type="text" class="form-control mb-3" name="try_on_4"
value="{{ $restaurantItem->try_on_4 }}">
<input type="text" class="form-control mb-3" name="try_on_5"
value="{{ $restaurantItem->try_on_5 }}">
</div>
</div>
<div class="col-md-12">
<button class="download-btn "style="width: 30%;" id="update_coupon">
<span>Submit</span>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script>
const imageInput = document.getElementById('imageInputThumb');
const imagePreview = document.getElementById('imagePreviewThumb');
imageInput.addEventListener('change', function() {
console.log("in change kjbck");
const file = this.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(event) {
const img = document.createElement('img');
img.src = event.target.result;
img.style.maxWidth = '200px';
img.style.maxHeight = '200px';
imagePreview.innerHTML = '';
imagePreview.appendChild(img);
};
reader.readAsDataURL(file);
} else {
imagePreview.innerHTML = '';
}
});
const imageInputEdit = document.getElementById('imageInputNormal');
const imagePreviewEdit = document.getElementById('imageInputPreviewNormal');
imageInputEdit.addEventListener('change', function() {
const file = this.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(event) {
const img = document.createElement('img');
img.src = event.target.result;
img.style.maxWidth = '200px';
img.style.maxHeight = '200px';
imagePreviewEdit.innerHTML = '';
imagePreviewEdit.appendChild(img);
};
reader.readAsDataURL(file);
} else {
imagePreviewEdit.innerHTML = '';
}
});
</script>
@endsection
@section('section_script')
@endsection

View File

@@ -0,0 +1,188 @@
@extends('Admin.layouts.master')
@section('content')
<?php $currentPage = 'manage-restaurant'; ?>
<!-- END LOADER -->
<!-- BEGIN MAIN CONTAINER -->
<div class="layout-px-spacing">
<div class="middle-content container-xxl p-0">
<div class="row layout-top-spacing ">
<div class="top-tabel">
<div class="row">
<div class="col-md-4">
<h6 class="card-title">Manage Restaurant</h6>
{{-- voucher to restaurant updated --}}
</div>
<div class="col-md-8">
</div>
</div>
</div>
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
<div class="widget-content widget-content-area br-8 position-btn" style="overflow: auto;">
<table id="zero-config" class="table dt-table-hover" style="width:100%">
<thead class="text-center">
{{-- <th class="w-10px pe-2">
<div class="form-check form-check-sm form-check-custom form-check-solid me-3">
<input class="form-check-input" type="checkbox" name=""
id="select-all-ids" />
</div>
</th> --}}
<th class="text-center">Sr no</th>
<th class="text-center">Restaurant Name</th>
<th class="text-center">Restaurant ID</th>
<th class="text-center">Image </th>
<th class="text-center">Status</th>
<th class="no-content">Action</th>
</tr>
</thead>
<tbody class="text-center">
@php($count = 0)
@foreach ($restaurant as $restaurants)
@php($count++)
<tr>
{{-- <td>
<div
class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" id="checkbox_ids"
name="caregiver_ids" value="{{ $restaurants->id }}" />
</div>
</td> --}}
<td class="text-center">{{ $count }}</td>
<td class="text-center">{{ $restaurants->name }}</td>
<td class="text-center">{{ $restaurants->restaurant_id }}</td>
<td><img src="{{ ListingImageUrl('restaurant_images', $restaurants['image']) }}"
height="50px" width="50px"></td>
{{-- <td>
<div class="switch-btn">
<input type="checkbox" id="switch18" switch="bool" checked />
<label for="switch18" data-on-label="Active" data-off-label="Expired"></label>
</div>
</td> --}}
<td class="text-center">
<form>
<div class="switch-btn" id="status-change">
<input type="checkbox" id="switch18-{{ $restaurants->id }}"
switch="bool" data-id="{{ $restaurants->id }}" name="status"
value="1" {{ $restaurants->is_active ? 'checked' : '' }} />
<label for="switch18-{{ $restaurants->id }}" data-on-label="Active"
data-off-label="Expired"></label>
</div>
</form>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="">
<img src="{{ asset('public/assets/img/view.svg') }}" />
<span>View</span>
</a>
</li>
<li>
<a href="{{ route('edit_restaurant', $restaurants->id) }}">
<img src="{{ asset('public/assets/img/edit.svg') }}" />
<span>Edit</span>
</a>
</li>
{{-- <li>
<a href="" data-toggle="modal" data-target="#delete-modal">
<img src="{{ asset('public/assets/img/delete-recycle.svg')}}" />
<span>Delete</span>
</a>
</li> --}}
<li>
<a href="#" id="delete_voucher_id"
data-id="{{ $restaurants->id }}" data-toggle="modal"
data-target="#delete-voucher-modal">
<img
src="{{ asset('public/assets/img/delete-recycle.svg') }}" />
<span>Delete Details</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="delete-voucher-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close">
x
</button>
</div>
<div class="modal-body">
<p class="modal-text" style="text-align:center;">Are you sure you want to<br>Delete </p>
<input type="hidden" id="news_delete">
<div class="modal-btn d-flex ">
<a class="extra-btn" href="#" data-dismiss="modal">No</a>
<a class="download-btn-custom" id="delete_voucher" href="#" data-dismiss="modal">Yes</a>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('section_script')
<script src="../src/plugins/src/table/datatable/datatables.js"></script>
<script>
$('#zero-config').DataTable({
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
"<'table-responsive'tr>" +
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
"oLanguage": {
"oPaginate": {
"sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
"sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
},
"sInfo": "Showing page _PAGE_ of _PAGES_",
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
"sSearchPlaceholder": "Search...",
"sLengthMenu": "Results : _MENU_",
},
"stripeClasses": [],
"lengthMenu": [7, 10, 20, 50],
"pageLength": 10
});
</script>
<script>
$(document).ready(function() {
$('<button><a class="extra-btn width-max-content" href="{{ route('add_manage_restraunt') }}">Add</a></button><button><a class="extra-btn width-max-content" href="manage-restraunts-archive.php">View Archive List</a></button>')
.insertBefore("#zero-config_filter label");
});
</script>
@endsection

View File

@@ -0,0 +1,268 @@
@extends('Admin.layouts.master')
@section('content')
<?php $currentPage = "manage-restaurant_app" ?>
@endsection
<div class="main-container" id="container">
<div class="overlay"></div>
<div class="search-overlay"></div>
<div id="content" class="main-content">
<div class="layout-px-spacing">
<div class="middle-content container-xxl p-0">
<div class="row layout-top-spacing ">
<div class="top-tabel">
<div class="row">
<div class="col-md-4">
<h6 class="card-title">Manage Restaurants</h6>
</div>
<div class="col-md-8">
</div>
</div>
</div>
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
<div class="widget-content widget-content-area br-8 position-btn" style="overflow: auto;">
<table id="zero-config" class="table dt-table-hover" style="width:100%">
<thead class="text-center">
<th class="w-10px pe-2">
<div class="form-check form-check-sm form-check-custom form-check-solid me-3">
<input class="form-check-input" type="checkbox" data-kt-check="true"
data-kt-check-target="#kt_table_users .form-check-input" value="1" />
</div>
</th>
<th class="text-start">Sr no</th>
<th class="text-start">Resturant Name</th>
<th class="text-start">Resturant ID</th>
<th class="text-start">Email Id</th>
<th class="text-start">Image</th>
<th class="text-start">Date Onboarded</th>
<th class="text-start">Phone Number</th>
<th class="text-start">Location</th>
<th class="text-start">Passports</th>
<th class="no-content">Action</th>
</tr>
</thead>
<tbody class="text-center">
<tr>
<td>
<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" value="1" />
</div>
</td>
<td class="text-start">1</td>
<td class="text-start">McDonalds</td>
<td class="text-start">1234567</td>
<td class="text-start">akanksha@gmail.com</td>
<td><img src="../src/assets/img/video.png"></td>
<td class="text-start">08/22/2023</td>
<td class="text-start">+5624878954</td>
<td class="text-start">New York</td>
<td class="text-start">
<a class="view-btn" href="manage-restraunts-passports.php">View</a>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="manage-restraunts-details.php">
<img src="../src/assets/img/view.svg" />
<span>View</span>
</a>
</li>
<li>
<a href="" data-toggle="modal" data-target="#archive-modal">
<img src="../src/assets/img/archive.svg" />
<span>Archive</span>
</a>
</li>
<li>
<a href="manage-restraunts-edit.php">
<img src="../src/assets/img/edit.svg" />
<span>Edit</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td>
<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" value="1" />
</div>
</td>
<td class="text-start">1</td>
<td class="text-start">McDonalds</td>
<td class="text-start">1234567</td>
<td class="text-start">akanksha@gmail.com</td>
<td><img src="../src/assets/img/video.png"></td>
<td class="text-start">08/22/2023</td>
<td class="text-start">+5624878954</td>
<td class="text-start">New York</td>
<td class="text-start">
<a class="view-btn" href="passports.php">View</a>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="view-customer.php">
<img src="../src/assets/img/view.svg" />
<span>View</span>
</a>
</li>
<li>
<a href="" data-toggle="modal" data-target="#archive-modal">
<img src="../src/assets/img/archive.svg" />
<span>Archive</span>
</a>
</li>
<li>
<a href="edit-manage-customers.php">
<img src="../src/assets/img/edit.svg" />
<span>Edit</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td>
<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" value="1" />
</div>
</td>
<td class="text-start">1</td>
<td class="text-start">McDonalds</td>
<td class="text-start">1234567</td>
<td class="text-start">akanksha@gmail.com</td>
<td><img src="../src/assets/img/video.png"></td>
<td class="text-start">08/22/2023</td>
<td class="text-start">+5624878954</td>
<td class="text-start">New York</td>
<td class="text-start">
<a class="view-btn" href="passports.php">View</a>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="view-customer.php">
<img src="../src/assets/img/view.svg" />
<span>View</span>
</a>
</li>
<li>
<a href="" data-toggle="modal" data-target="#archive-modal">
<img src="../src/assets/img/archive.svg" />
<span>Archive</span>
</a>
</li>
<li>
<a href="edit-manage-customers.php">
<img src="../src/assets/img/edit.svg" />
<span>Edit</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td>
<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" value="1" />
</div>
</td>
<td class="text-start">1</td>
<td class="text-start">McDonalds</td>
<td class="text-start">1234567</td>
<td class="text-start">akanksha@gmail.com</td>
<td><img src="../src/assets/img/video.png"></td>
<td class="text-start">08/22/2023</td>
<td class="text-start">+5624878954</td>
<td class="text-start">New York</td>
<td class="text-start">
<a class="view-btn" href="passports.php">View</a>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="view-customer.php">
<img src="../src/assets/img/view.svg" />
<span>View</span>
</a>
</li>
<li>
<a href="" data-toggle="modal" data-target="#archive-modal">
<img src="../src/assets/img/archive.svg" />
<span>Archive</span>
</a>
</li>
<li>
<a href="edit-manage-customers.php">
<img src="../src/assets/img/edit.svg" />
<span>Edit</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@section('section_script')
<script>
$('#zero-config').DataTable({
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
"<'table-responsive'tr>" +
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
"oLanguage": {
"oPaginate": { "sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>', "sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>' },
"sInfo": "Showing page _PAGE_ of _PAGES_",
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
"sSearchPlaceholder": "Search...",
"sLengthMenu": "Results : _MENU_",
},
"stripeClasses": [],
"lengthMenu": [7, 10, 20, 50],
"pageLength": 10
});
</script>
<script>
$(document).ready(function () {
$('<button><a class="extra-btn width-max-content" href="manage-restraunts-add.php">Add</a></button><button><a class="extra-btn width-max-content" href="manage-restraunts-archive.php">View Archive List</a></button>').insertBefore("#zero-config_filter label");
});
</script>
@endsection

View File

@@ -1,131 +0,0 @@
@extends('Admin.layouts.master')
@section('content')
<?php $currentPage = "manage-restaurant" ?>
<!-- END LOADER -->
<!-- BEGIN MAIN CONTAINER -->
<div class="layout-px-spacing">
<div class="middle-content container-xxl p-0">
<div class="row layout-top-spacing ">
<div class="top-tabel">
<div class="row">
<div class="col-md-4">
<h6 class="card-title">Manage Restaurants</h6>
</div>
<div class="col-md-8">
</div>
</div>
</div>
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
<div class="widget-content widget-content-area br-8 position-btn" style="overflow: auto;">
<table id="zero-config" class="table dt-table-hover" style="width:100%">
<thead class="text-center">
<th class="w-10px pe-2">
<div class="form-check form-check-sm form-check-custom form-check-solid me-3">
<input class="form-check-input" type="checkbox" data-kt-check="true"
data-kt-check-target="#kt_table_users .form-check-input" value="1" />
</div>
</th>
<th class="text-start">Sr no</th>
<th class="text-start">Resturant Name</th>
<th class="text-start">Resturant ID</th>
{{-- <th class="text-start">Email Id</th> --}}
<th class="text-start">Image</th>
<th class="text-start">Date Onboarded</th>
{{-- <th class="text-start">Phone Number</th> --}}
<th class="text-start">Location</th>
{{-- <th class="text-start">Passports</th> --}}
<th class="no-content">Action</th>
</tr>
</thead>
<tbody class="text-center">
@foreach ( $restaurant as $restaurants)
<tr>
{{-- <td>
<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" type="checkbox" value="1" />
</div>
</td> --}}
<td class="text-start">{{ $loop->iteration }}</td>
<td class="text-start">{{ $restaurants->name }}</td>
<td class="text-start">{{ $restaurants->restaurant_id }}</td>
<td><img src="{{ ListingImageUrl('restaurant_images', $restaurants['image'])}}" height="50px" width="50px"></td>
<td class="text-start">{{ \Carbon\Carbon::parse($restaurants->created_at)->format('d/m/y') }}</td>
<td class="text-start">{{ $restaurants->address }}</td>
<td class="text-start">
<a class="view-btn" href="{{ url('manage_restraunt_passport/'. $restaurants->id) }}">View</a>
</td>
<td>
<div class="dropout">
<button class="more">
<span></span>
<span></span>
<span></span>
</button>
<ul>
<li>
<a href="{{ url('manage_restraunt_view/'. $restaurants->id) }}">
<img src="{{ asset('public/assets/img/view.svg')}}" />
<span>View</span>
</a>
</li>
<li>
<a class="rest_archive_btn" data-id="{{ $restaurants->id }}" href="" data-toggle="modal" data-target="#archive-modal">
<img src="{{ asset('public/assets/img/archive.svg')}}" />
<span>Archive</span>
</a>
</li>
<li>
<a href="{{ url('manage_restraunt_edit/'. $restaurants->id) }}">
<img src="{{ asset('public/assets/img/edit.svg')}}" />
<span>Edit</span>
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('section_script')
<script src="../src/plugins/src/table/datatable/datatables.js"></script>
<script>
$('#zero-config').DataTable({
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
"<'table-responsive'tr>" +
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
"oLanguage": {
"oPaginate": { "sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>', "sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>' },
"sInfo": "Showing page _PAGE_ of _PAGES_",
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
"sSearchPlaceholder": "Search...",
"sLengthMenu": "Results : _MENU_",
},
"stripeClasses": [],
"lengthMenu": [7, 10, 20, 50],
"pageLength": 10
});
</script>
<script>
$(document).ready(function () {
$('<button><a class="extra-btn width-max-content" href="{{ route('add_manage_restraunt') }}">Add</a></button><button><a class="extra-btn width-max-content" href="manage-restraunts-archive.php">View Archive List</a></button>').insertBefore("#zero-config_filter label");
});
</script>
@endsection

View File

@@ -20,6 +20,7 @@ use App\Http\Controllers\Admin\ManageNotificationsController;
use App\Http\Controllers\Admin\DashboardController ;
use App\Http\Controllers\Admin\LoginController;
use App\Http\Controllers\Admin\ManageCmsController;
use App\Http\Controllers\Admin\RestaurantAppController;
Route::get('/', [LoginController::class, 'index'])->name('login');
Route::post('/check_login', [LoginController::class, 'login_check']);
@@ -51,11 +52,9 @@ Route::get('/manage_customer_archive', [ManageCustomerController::class, 'archiv
Route::delete('/manage_customer_archive/{id}', [ManageCustomerController::class, 'delete_customer']);
Route::get('/create-pdf-file/{id}', [ManageCustomerController::class, 'download_pdf']);
Route::post('/export_selected_customer', [ManageCustomerController::class, 'exportSelectedCustomer'])->name('export-selected-customer');
//*******************************************************manage restraunts********************************************************
Route::get('/manage-restaurants', [ManageRestrauntController ::class, 'index'])->name('manage.restaurants');
Route::get('/manage_restraunt_add', [ManageRestrauntController::class, 'add'])->name('add_manage_restraunt');
Route::post('/update_restraunt', [ManageRestrauntController::class, 'update']);
Route::get('/manage-restaurants_app', [RestaurantAppController ::class, 'index'])->name('manage.restaurants_app');
//*******************************************************manage subadmin********************************************************
@@ -132,3 +131,12 @@ Route::get('/manage-notification', [ManageNotificationsController ::class, 'ind
});
//*******************************************************manage restraunts********************************************************
Route::get('/manage-restaurants', [ManageRestrauntController ::class, 'index'])->name('manage.restaurants');
Route::get('/manage_restaurant_add', [ManageRestrauntController::class, 'add'])->name('add_manage_restraunt');
Route::post('/store_restaurant', [ManageRestrauntController::class, 'store_restaurant']);
Route::get('/edit_restaurant/{id}', [ManageRestrauntController::class, 'edit_restaurant'])->name('edit_restaurant');
Route::post('/update_restaurant', [ManageRestrauntController::class, 'update']);