"Updated MainController, OrderItem model, adminheader, footer, header, and orders blade files with changes to myOrders function, datatables, and modal implementation."
This commit is contained in:
parent
f171e49b3f
commit
d8e17eef70
@ -214,15 +214,49 @@ class MainController extends Controller
|
||||
}
|
||||
|
||||
|
||||
// public function myOrders()
|
||||
// {
|
||||
// if (session()->has('id')) {
|
||||
// $orders = Order::where('customerId', session()->get('id'))->get();
|
||||
// // dd($orders);
|
||||
// $items = DB::table('products')
|
||||
// ->join('order_items', 'order_items.productId', '=', 'products.id')
|
||||
// ->select('products.name', 'products.picture', 'products.*')
|
||||
// ->get();
|
||||
|
||||
// return view('orders', compact('orders', 'items'));
|
||||
// }
|
||||
|
||||
// return view('login');
|
||||
// }
|
||||
|
||||
//old myOrders
|
||||
// public function myOrders()
|
||||
// {
|
||||
// if (session()->has('id')) {
|
||||
// $orders = Order::where('customerId', session()->get('id'))->get();
|
||||
|
||||
// $items = DB::table('products')
|
||||
// ->join('order_items', 'order_items.productId', '=', 'products.id')
|
||||
// ->select('products.name', 'products.picture', 'products.*', 'order_items.orderId')
|
||||
// ->get();
|
||||
|
||||
// return view('orders', compact('orders', 'items'));
|
||||
// }
|
||||
|
||||
// return view('login');
|
||||
// }
|
||||
|
||||
//new myOrders
|
||||
public function myOrders()
|
||||
{
|
||||
if (session()->has('id')) {
|
||||
$orders = Order::where('customerId', session()->get('id'))->get();
|
||||
|
||||
$items = DB::table('products')
|
||||
|
||||
|
||||
->join('order_items', 'order_items.productId', '=', 'products.id')
|
||||
->select('products.name', 'products.picture', 'products.*')
|
||||
->select('products.name', 'products.picture', 'order_items.*')
|
||||
|
||||
->get();
|
||||
|
||||
return view('orders', compact('orders', 'items'));
|
||||
@ -232,6 +266,8 @@ class MainController extends Controller
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function profile()
|
||||
{
|
||||
if (session()->get('type') == 'Customer') {
|
||||
|
@ -8,4 +8,5 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class OrderItem extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
<!-- endinject -->
|
||||
<link rel="shortcut icon" href="Dashboard/images/favicon.png" />
|
||||
|
||||
<!-- datatables -->
|
||||
|
||||
<!-- DataTables CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.4/css/dataTables.bootstrap4.min.css">
|
||||
|
||||
|
@ -107,13 +107,14 @@
|
||||
|
||||
|
||||
|
||||
{{-- Datatables script --}}
|
||||
<script src="//cdn.datatables.net/2.0.8/js/dataTables.min.js"></script>
|
||||
<script>
|
||||
<!-- datatables-->
|
||||
<script src="Dashboard/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#myTable').DataTable();
|
||||
$('.table').DataTable();
|
||||
});
|
||||
</script>
|
||||
<!-- end datatables-->
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
|
@ -35,15 +35,15 @@
|
||||
{{-- <link rel="stylesheet" type="text/css"
|
||||
href="https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css"> --}}
|
||||
|
||||
</head>
|
||||
<!-- DataTables CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.4/css/dataTables.bootstrap4.min.css">
|
||||
|
||||
<!-- Include the Stripe.js library -->
|
||||
<script src="https://js.stripe.com/v3/"></script>
|
||||
<!-- jQuery -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
|
||||
<!-- datatables-->
|
||||
<link rel="stylesheet" href="//cdn.datatables.net/2.0.8/css/dataTables.dataTables.min.css">
|
||||
{{-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css"> --}}
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/2.0.8/css/dataTables.bootstrap5.css">
|
||||
<!-- DataTables JS -->
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.11.4/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.11.4/js/dataTables.bootstrap4.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
|
@ -1,70 +1,159 @@
|
||||
<x-header />
|
||||
|
||||
|
||||
<!-- Contact Section Begin -->
|
||||
<section class="contact spad">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-10 col-md-6 mx-auto">
|
||||
|
||||
<div class="col-lg-8 col-md-8 mx-auto">
|
||||
<div class="section-title">
|
||||
<h2>My Orders</h2>
|
||||
</div>
|
||||
<div class="contact__form">
|
||||
@if (session('success'))
|
||||
<div class="alert alert-success">
|
||||
{{ session('success') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (session('error'))
|
||||
<div class="alert alert-danger">
|
||||
{{ session('error') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<table id="myTable" class="table table-striped table-bordered" style="width:100%">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered" id="myTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>S.No.</th>
|
||||
<th>Name</th>
|
||||
<th>Address</th>
|
||||
{{-- <th>Description</th> --}}
|
||||
<th>Phone</th>
|
||||
<th>Status</th>
|
||||
<th>Order Date</th>
|
||||
<th>Total Bill</th>
|
||||
<th>View Products</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($orders as $order)
|
||||
@php
|
||||
$i = 0;
|
||||
@endphp
|
||||
@foreach ($orders as $item)
|
||||
@php
|
||||
$i++;
|
||||
@endphp
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $order->name }}</td>
|
||||
<td>{{ $order->address }}</td>
|
||||
<td>{{ $order->phone }}</td>
|
||||
<td>{{ $order->status }}</td>
|
||||
<td>{{ $order->created_at }}</td>
|
||||
<td>{{ $order->bill }}</td>
|
||||
<td>{{ $i }}</td>
|
||||
<td>{{ $item->name }}</td>
|
||||
<td>{{ $item->address }}</td>
|
||||
{{-- <td>{{ $item->description }}</td> --}}
|
||||
<td>{{ $item->phone }}</td>
|
||||
<td>{{ $item->status }}</td>
|
||||
<td>{{ $item->created_at }}</td>
|
||||
<td>{{ $item->bill }}</td>
|
||||
<td>
|
||||
<!-- Button trigger modal -->
|
||||
<button type="button" class="btn btn-primary" data-bs-toggle="modal"
|
||||
data-bs-target="#viewProductsModal{{ $order->id }}">
|
||||
View
|
||||
<!-- Button to Open the Modal -->
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal"
|
||||
data-target="#myModal{{ $i }}">
|
||||
View Products
|
||||
</button>
|
||||
|
||||
<!-- The Modal -->
|
||||
<div class="modal" id="myModal{{ $i }}">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
|
||||
<!-- Modal Header -->
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">All Products</h4>
|
||||
<button type="button" class="close"
|
||||
data-dismiss="modal">×</button>
|
||||
</div>
|
||||
|
||||
<!-- Modal body -->
|
||||
<div class="modal-body">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> Name</th>
|
||||
<th> Picture</th>
|
||||
<th> Quantity</th>
|
||||
<th> Price</th>
|
||||
<th> Total</th>
|
||||
|
||||
|
||||
</thead>
|
||||
|
||||
{{-- old tbody --}}
|
||||
{{-- <tbody>
|
||||
@foreach ($items as $product)
|
||||
@if ($product->order_id == $item->id)
|
||||
<tr>
|
||||
<td>{{ $product->name }}</td>
|
||||
<td><img src="{{ asset('uploads/products/' . $product->picture) }}"
|
||||
alt="" width= "100px"
|
||||
height="100px"></td>
|
||||
<td>{{ $product->quantity }}</td>
|
||||
<td>{{ $product->price }}</td>
|
||||
<td>{{ $product->price * $product->quantity }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody> --}}
|
||||
|
||||
{{-- new tbody --}}
|
||||
<tbody>
|
||||
@foreach ($items as $product)
|
||||
@if ($item->id == $product->orderId)
|
||||
<tr>
|
||||
<td>{{ $product->name }}</td>
|
||||
<td><img src="{{ url::asset('uploads/products/' . $product->picture) }}"
|
||||
class="img-fluid rounded-circle"
|
||||
alt="" width= "100px"
|
||||
height="100px"></td>
|
||||
<td>{{ $product->quantity }}</td>
|
||||
<td>{{ $product->price }}</td>
|
||||
<td>{{ $product->price * $product->quantity }}
|
||||
</td>
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4" style="text-align: center;">
|
||||
<strong>Sub Total</strong>
|
||||
</td>
|
||||
<td><strong>{{ $item->bill }}</strong></td>
|
||||
</tr>
|
||||
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Modal footer -->
|
||||
<div class="modal-footer">
|
||||
|
||||
<button type="button" class="btn btn-danger"
|
||||
data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -72,52 +161,6 @@
|
||||
</section>
|
||||
<!-- Contact Section End -->
|
||||
|
||||
<!-- Modal Begin -->
|
||||
@foreach ($orders as $order)
|
||||
<div class="modal fade" id="viewProductsModal{{ $order->id }}" tabindex="-1"
|
||||
aria-labelledby="exampleModalLabel{{ $order->id }}" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel{{ $order->id }}">All Products</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Product</th>
|
||||
<th>Quantity</th>
|
||||
<th>Price</th>
|
||||
<th>Total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($items as $product)
|
||||
@if ($product->order_id == $order->id)
|
||||
<tr>
|
||||
<td><img src="{{ url::to('uploads/products/' . $product->picture) }}"
|
||||
width="100px" alt="">{{ $product->name }}</td>
|
||||
<td>{{ $product->quantity }}</td>
|
||||
<td>{{ $product->price }}</td>
|
||||
<td>{{ $product->price * $product->quantity }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button>
|
||||
{{-- <button type="button" class="btn btn-primary">Save changes</button> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
<!-- Modal End -->
|
||||
|
||||
<!-- Footer Section Begin -->
|
||||
<x-footer />
|
||||
<!-- Footer Section End -->
|
||||
|
Loading…
Reference in New Issue
Block a user