diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php
index 0ac003829..592b0f5b4 100644
--- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php
+++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php
@@ -122,23 +122,23 @@ class CustomerDataGrid
'type' => 'string',
'label' => 'Name',
],
+ [
+ 'name' => 'email',
+ 'alias' => 'customerEmail',
+ 'type' => 'string',
+ 'label' => 'Email',
+ ],
[
'name' => 'phone',
'alias' => 'customerPhone',
'type' => 'number',
'label' => 'Phone',
],
- [
- 'name' => 'email',
- 'alias' => 'customerEmail',
- 'type' => 'string',
- 'label' => 'Comment',
- ],
[
'name' => 'customer_group_id',
'alias' => 'customerGroupId',
- 'type' => 'number',
- 'label' => 'Status',
+ 'type' => 'string',
+ 'label' => 'Customer Group',
],
],
diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php
index f28a22b61..fff921c47 100644
--- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php
+++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php
@@ -100,7 +100,7 @@ class CustomerReviewDataGrid
],
[
'name' => 'status',
- 'alias' => 'countryStatus',
+ 'alias' => 'reviewStatus',
'type' => 'number',
'label' => 'Status',
'sortable' => true,
@@ -113,7 +113,7 @@ class CustomerReviewDataGrid
'filterable' => [
[
'name' => 'id',
- 'alias' => 'countryId',
+ 'alias' => 'reviewId',
'type' => 'number',
'label' => 'ID',
],
@@ -137,9 +137,9 @@ class CustomerReviewDataGrid
],
[
'name' => 'status',
- 'alias' => 'countryStatus',
- 'type' => 'number',
- 'label' => 'Code',
+ 'alias' => 'reviewStatus',
+ 'type' => 'string',
+ 'label' => 'Status',
],
],
diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php
index 84b192988..887f28a50 100644
--- a/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php
+++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php
@@ -67,4 +67,21 @@ class OrderController extends Controller
return view($this->_config['view'], compact('order'));
}
-}
+
+ /**
+ * Cancel action for the specified resource.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function cancel($id)
+ {
+ if($this->order->cancel($id)) {
+ session()->flash('success', trans('Order canceled successfully.'));
+ } else {
+ session()->flash('error', trans('Order can not be canceled.'));
+ }
+
+ return redirect()->back();
+ }
+}
\ No newline at end of file
diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php
index 5dab660b7..fe3d873a9 100644
--- a/packages/Webkul/Admin/src/Http/routes.php
+++ b/packages/Webkul/Admin/src/Http/routes.php
@@ -49,10 +49,6 @@ Route::group(['middleware' => ['web']], function () {
'view' => 'admin::customers.orders.index'
])->name('admin.customer.orders.index');
- Route::get('customer/reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[
- 'view' => 'admin::customers.review.index'
- ])->name('admin.customer.review.index');
-
Route::get('customer/create', 'Webkul\Core\Http\Controllers\CustomerController@create')->defaults('_config',[
'view' => 'admin::customers.create'
])->name('admin.customer.create');
@@ -61,14 +57,6 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.customer.index'
])->name('admin.customer.store');
- Route::get('customer/reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@edit')->defaults('_config',[
- 'view' => 'admin::customers.review.edit'
- ])->name('admin.customer.review.edit');
-
- Route::put('customer/reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@update')->defaults('_config', [
- 'redirect' => 'admin.customer.review.index'
- ])->name('admin.customer.review.update');
-
Route::get('customer/edit/{id}', 'Webkul\Core\Http\Controllers\CustomerController@edit')->defaults('_config',[
'view' => 'admin::customers.edit'
])->name('admin.customer.edit');
@@ -77,6 +65,18 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.customer.index'
])->name('admin.customer.update');
+ Route::get('reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[
+ 'view' => 'admin::customers.review.index'
+ ])->name('admin.customer.review.index');
+
+ Route::get('reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@edit')->defaults('_config',[
+ 'view' => 'admin::customers.review.edit'
+ ])->name('admin.customer.review.edit');
+
+ Route::put('reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@update')->defaults('_config', [
+ 'redirect' => 'admin.customer.review.index'
+ ])->name('admin.customer.review.update');
+
// Sales Routes
Route::prefix('sales')->group(function () {
// Sales Order Routes
@@ -88,6 +88,10 @@ Route::group(['middleware' => ['web']], function () {
'view' => 'admin::sales.orders.view'
])->name('admin.sales.orders.view');
+ Route::get('/orders/cancel/{order_id}', 'Webkul\Admin\Http\Controllers\Sales\OrderController@cancel')->defaults('_config', [
+ 'view' => 'admin::sales.orders.cancel'
+ ])->name('admin.sales.orders.cancel');
+
// Sales Invoices Routes
Route::get('/invoices', 'Webkul\Admin\Http\Controllers\Sales\InvoiceController@index')->defaults('_config', [
diff --git a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss
index cba8a969a..77b325653 100644
--- a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss
+++ b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss
@@ -586,6 +586,17 @@ body {
}
}
+ .table {
+ .qty-row {
+ display: block;
+ margin-bottom: 5px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+ }
+
.sale-summary {
margin-top: 2%;
height: 130px;
@@ -594,11 +605,18 @@ body {
tr {
td {
- padding: 3px 8px;
+ padding: 5px 8px;
}
&.bold {
font-weight: 600;
+ font-size: 15px;
+ }
+
+ &.border {
+ td {
+ border-bottom: 1px solid $border-color;
+ }
}
}
}
diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php
index b3ec36ae5..721bf7771 100644
--- a/packages/Webkul/Admin/src/Resources/lang/en/app.php
+++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php
@@ -73,6 +73,7 @@ return [
'orders' => [
'title' => 'Orders',
'view-title' => 'Order #:order_id',
+ 'cancel-btn-title' => 'Cancel',
'shipment-btn-title' => 'Ship',
'invoice-btn-title' => 'Invoice',
'info' => 'Information',
@@ -102,6 +103,9 @@ return [
'product-name' => 'Product Name',
'qty' => 'Qty',
'item-status' => 'Item Status',
+ 'item-invoice' => 'Invoiced (:qty_invoiced)',
+ 'item-shipped' => 'shipped (:qty_shipped)',
+ 'item-canceled' => 'Canceled (:qty_canceled)',
'price' => 'Price',
'total' => 'Total',
'subtotal' => 'Subtotal',
@@ -110,7 +114,11 @@ return [
'tax-percent' => 'Tax Percent',
'tax-amount' => 'Tax Amount',
'discount-amount' => 'Discount Amount',
- 'grand-total' => 'Grand Total'
+ 'grand-total' => 'Grand Total',
+ 'total-paid' => 'Total Paid',
+ 'total-refunded' => 'Total Refunded',
+ 'total-due' => 'Total Due',
+ 'cancel-confirm-msg' => 'Are you sure you want to cancel this order ?'
],
'invoices' => [
'id' => 'Id',
@@ -397,7 +405,8 @@ return [
'email' => 'Email',
'date_of_birth' => 'Date of Birth',
'phone' => 'Phone',
- 'customer_group' => 'Customer Group'
+ 'customer_group' => 'Customer Group',
+ 'save-btn-title' => 'Save Customer'
],
'reviews' => [
'title' => 'Title',
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/field-types/select.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/field-types/select.blade.php
index 3571a6a0c..a7f48a639 100644
--- a/packages/Webkul/Admin/src/Resources/views/catalog/products/field-types/select.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/field-types/select.blade.php
@@ -2,10 +2,24 @@
code) ?: $product[$attribute->code] ?>
- @foreach($attribute->options as $option)
-
- @endforeach
+ @if($attribute->code != 'tax_category_id')
+
+ @foreach($attribute->options as $option)
+
+ @endforeach
+
+ @else
+
+
+
+ @foreach(app('Webkul\Tax\Repositories\TaxCategoryRepository')->all() as $taxCategory)
+
+ @endforeach
+
+ @endif
\ No newline at end of file
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/create.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/create.blade.php
index ebdd9e812..97bbd7b33 100644
--- a/packages/Webkul/Admin/src/Resources/views/customers/create.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/customers/create.blade.php
@@ -15,7 +15,7 @@
@@ -25,56 +25,52 @@
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php
index 0ea37bc67..639ac370d 100644
--- a/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/customers/edit.blade.php
@@ -13,7 +13,7 @@
@@ -28,37 +28,42 @@
-
-
-
+
+
+
+ @{{ errors.first('first_name') }}
+
+
+
+
+
+ @{{ errors.first('last_name') }}
+
+
+
+
+
+ @{{ errors.first('email') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+ @{{ errors.first('phone') }}
diff --git a/packages/Webkul/Admin/src/Resources/views/customers/review/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/review/edit.blade.php
index d2ad88652..98e1bc6f2 100644
--- a/packages/Webkul/Admin/src/Resources/views/customers/review/edit.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/customers/review/edit.blade.php
@@ -43,7 +43,7 @@
-
+
+ @if($order->canCancel())
+
+ {{ __('admin::app.sales.orders.cancel-btn-title') }}
+
+ @endif
+
@if($order->canInvoice())
{{ __('admin::app.sales.orders.invoice-btn-title') }}
@@ -229,7 +235,19 @@
{{ $item->name }} |
{{ core()->formatBasePrice($item->base_price) }} |
{{ $item->qty_ordered }} |
-
Packed (2) |
+
+
+ {{ $item->qty_invoiced ? __('admin::app.sales.orders.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
+
+
+
+ {{ $item->qty_shipped ? __('admin::app.sales.orders.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
+
+
+
+ {{ $item->qty_canceled ? __('admin::app.sales.orders.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
+
+ |
{{ core()->formatBasePrice($item->base_total) }} |
{{ $item->tax_percent }}% |
{{ core()->formatBasePrice($item->base_tax_amount) }} |
@@ -252,7 +270,7 @@
{{ core()->formatBasePrice($order->base_shipping_amount) }} |
-
+
| {{ __('admin::app.sales.orders.tax') }} |
- |
{{ core()->formatBasePrice($order->base_tax_amount) }} |
@@ -263,6 +281,24 @@
- |
{{ core()->formatBasePrice($order->base_grand_total) }} |
+
+
+ | {{ __('admin::app.sales.orders.total-paid') }} |
+ - |
+ {{ core()->formatBasePrice($order->base_grand_total_invoiced) }} |
+
+
+
+ | {{ __('admin::app.sales.orders.total-refunded') }} |
+ - |
+ {{ core()->formatBasePrice($order->base_grand_total_refunded) }} |
+
+
+
+ | {{ __('admin::app.sales.orders.total-due') }} |
+ - |
+ {{ core()->formatBasePrice($order->base_total_due) }} |
+
diff --git a/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/edit.blade.php
index ac5d1227c..0ea878799 100644
--- a/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/edit.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/edit.blade.php
@@ -69,7 +69,7 @@
- @inject('taxRates', 'Webkul\Core\Repositories\TaxRatesRepository')
+ @inject('taxRates', 'Webkul\Tax\Repositories\TaxRateRepository')
@foreach($taxRates->all() as $taxRate)
diff --git a/packages/Webkul/Attribute/src/Database/Seeders/AttributeTableSeeder.php b/packages/Webkul/Attribute/src/Database/Seeders/AttributeTableSeeder.php
index 65ffab144..368e15cd1 100644
--- a/packages/Webkul/Attribute/src/Database/Seeders/AttributeTableSeeder.php
+++ b/packages/Webkul/Attribute/src/Database/Seeders/AttributeTableSeeder.php
@@ -61,7 +61,7 @@ class AttributeTableSeeder extends Seeder
'en' => [
'name' => 'Tax Category'
],
- 'type' => 'text',
+ 'type' => 'select',
'position' => 4,
'is_unique' => 0,
'is_required' => 0,
diff --git a/packages/Webkul/Attribute/src/Models/Attribute.php b/packages/Webkul/Attribute/src/Models/Attribute.php
index 650606293..a57d5a3a7 100644
--- a/packages/Webkul/Attribute/src/Models/Attribute.php
+++ b/packages/Webkul/Attribute/src/Models/Attribute.php
@@ -10,7 +10,7 @@ class Attribute extends TranslatableModel
{
public $translatedAttributes = ['name'];
- protected $fillable = ['code', 'admin_name', 'type', 'position', 'is_required', 'is_unique', 'value_per_locale', 'value_per_channel', 'is_filterable', 'is_configurable', 'is_visible_on_front'];
+ protected $fillable = ['code', 'admin_name', 'type', 'position', 'is_required', 'is_unique', 'value_per_locale', 'value_per_channel', 'is_filterable', 'is_configurable', 'is_visible_on_front', 'is_user_defined'];
protected $with = ['options'];
diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php
index 2d8e3bb84..287b5cecc 100644
--- a/packages/Webkul/Checkout/src/Cart.php
+++ b/packages/Webkul/Checkout/src/Cart.php
@@ -8,6 +8,7 @@ use Webkul\Checkout\Repositories\CartItemRepository;
use Webkul\Checkout\Repositories\CartAddressRepository;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Product\Repositories\ProductRepository;
+use Webkul\Tax\Repositories\TaxCategoryRepository;
use Webkul\Checkout\Models\CartPayment;
/**
@@ -54,6 +55,13 @@ class Cart {
*/
protected $product;
+ /**
+ * TaxCategoryRepository model
+ *
+ * @var mixed
+ */
+ protected $taxCategory;
+
/**
* Create a new controller instance.
*
@@ -62,6 +70,7 @@ class Cart {
* @param Webkul\Checkout\Repositories\CartAddressRepository $cartAddress
* @param Webkul\Customer\Repositories\CustomerRepository $customer
* @param Webkul\Product\Repositories\ProductRepository $product
+ * @param Webkul\Product\Repositories\TaxCategoryRepository $taxCategory
* @return void
*/
public function __construct(
@@ -69,7 +78,9 @@ class Cart {
CartItemRepository $cartItem,
CartAddressRepository $cartAddress,
CustomerRepository $customer,
- ProductRepository $product)
+ ProductRepository $product,
+ TaxCategoryRepository $taxCategory
+ )
{
$this->customer = $customer;
@@ -80,6 +91,8 @@ class Cart {
$this->cartAddress = $cartAddress;
$this->product = $product;
+
+ $this->taxCategory = $taxCategory;
}
/**
@@ -564,7 +577,11 @@ class Cart {
$cart = null;
if(auth()->guard('customer')->check()) {
- $cart = $this->cart->findOneByField('customer_id', auth()->guard('customer')->user()->id);
+ $cart = $this->cart->findOneWhere([
+ 'customer_id' => auth()->guard('customer')->user()->id,
+ 'is_active' => 1
+ ]);
+
} elseif(session()->has('cart')) {
$cart = $this->cart->find(session()->get('cart')->id);
}
@@ -659,6 +676,8 @@ class Cart {
}
}
+ // If customer is guest, than save shipping address's email and name in cart as customer details
+
return true;
}
@@ -718,20 +737,15 @@ class Cart {
if(!$cart = $this->getCart())
return false;
- $this->calulateItemsTax();
+ $this->calculateItemsTax();
- $cart->grand_total = 0;
- $cart->base_grand_total = 0;
-
- $cart->sub_total = 0;
- $cart->base_sub_total = 0;
-
- $cart->tax_total = 0;
- $cart->base_tax_total = 0;
+ $cart->grand_total = $cart->base_grand_total = 0;
+ $cart->sub_total = $cart->base_sub_total = 0;
+ $cart->tax_total = $cart->base_tax_total = 0;
foreach ($cart->items()->get() as $item) {
- $cart->grand_total = (float) $cart->grand_total + $item->total;
- $cart->base_grand_total = (float) $cart->base_grand_total + $item->base_total;
+ $cart->grand_total = (float) $cart->grand_total + $item->total + $item->tax_amount;
+ $cart->base_grand_total = (float) $cart->base_grand_total + $item->base_total + $item->base_tax_amount;
$cart->sub_total = (float) $cart->sub_total + $item->total;
$cart->base_sub_total = (float) $cart->base_sub_total + $item->base_total;
@@ -762,12 +776,46 @@ class Cart {
*
* @return void
*/
- public function calulateItemsTax()
+ public function calculateItemsTax()
{
$cart = $this->getCart();
+ if(!$shippingAddress = $cart->shipping_address)
+ return;
+
foreach ($cart->items()->get() as $item) {
- $product = $item->product;
+ $taxCategory = $this->taxCategory->find($item->product->tax_category_id);
+
+ if(!$taxCategory)
+ continue;
+
+ $taxRates = $taxCategory->tax_rates()->where([
+ 'state' => $shippingAddress->state,
+ 'country' => $shippingAddress->country,
+ ])->orderBy('tax_rate', 'desc')->get();
+
+ foreach($taxRates as $rate) {
+ $haveTaxRate = false;
+
+ if(!$rate->is_zip) {
+ if($rate->zip_code == '*' || $rate->zip_code == $shippingAddress->postcode) {
+ $haveTaxRate = true;
+ }
+ } else {
+ if($shippingAddress->postcode >= $rate->zip_code && $shippingAddress->postcode <= $rate->zip_code) {
+ $haveTaxRate = true;
+ }
+ }
+
+ if($haveTaxRate) {
+ $item->tax_percent = $rate->tax_rate;
+ $item->tax_amount = ($item->total * $rate->tax_rate) / 100;
+ $item->base_tax_amount = ($item->base_total * $rate->tax_rate) / 100;
+
+ $item->save();
+ break;
+ }
+ }
}
}
@@ -848,7 +896,7 @@ class Cart {
'customer_email' => $data['customer_email'],
'customer_first_name' => $data['customer_first_name'],
'customer_last_name' => $data['customer_last_name'],
- 'customer' => auth()->guard('customer')->check() ? auth()->guard('customer')->user : null,
+ 'customer' => auth()->guard('customer')->check() ? auth()->guard('customer')->user() : null,
'shipping_method' => $data['selected_shipping_rate']['method'],
'shipping_title' => $data['selected_shipping_rate']['carrier_title'] . ' - ' . $data['selected_shipping_rate']['method_title'],
diff --git a/packages/Webkul/Core/src/Eloquent/Repository.php b/packages/Webkul/Core/src/Eloquent/Repository.php
index 7ca98083e..9d92bbabe 100644
--- a/packages/Webkul/Core/src/Eloquent/Repository.php
+++ b/packages/Webkul/Core/src/Eloquent/Repository.php
@@ -46,6 +46,42 @@ abstract class Repository extends BaseRepository {
return $model->first();
}
+ /**
+ * Find data by id
+ *
+ * @param $id
+ * @param array $columns
+ *
+ * @return mixed
+ */
+ public function find($id, $columns = ['*'])
+ {
+ $this->applyCriteria();
+ $this->applyScope();
+ $model = $this->model->find($id, $columns);
+ $this->resetModel();
+
+ return $this->parserResult($model);
+ }
+
+ /**
+ * Find data by id
+ *
+ * @param $id
+ * @param array $columns
+ *
+ * @return mixed
+ */
+ public function findOrFail($id, $columns = ['*'])
+ {
+ $this->applyCriteria();
+ $this->applyScope();
+ $model = $this->model->findOrFail($id, $columns);
+ $this->resetModel();
+
+ return $this->parserResult($model);
+ }
+
/**
* @return mixed
*/
diff --git a/packages/Webkul/Core/src/Http/Controllers/CustomerController.php b/packages/Webkul/Core/src/Http/Controllers/CustomerController.php
index 3ec3076e5..17c8ead1d 100644
--- a/packages/Webkul/Core/src/Http/Controllers/CustomerController.php
+++ b/packages/Webkul/Core/src/Http/Controllers/CustomerController.php
@@ -84,11 +84,11 @@ class CustomerController extends Controller
public function store(Request $request)
{
$request->validate([
-
'first_name' => 'string|required',
'last_name' => 'string|required',
- 'email' => 'email|required',
-
+ 'gender' => 'required',
+ 'phone' => 'nullable|numeric',
+ 'email' => 'required|unique:customers,email'
]);
$data=$request->all();
@@ -102,7 +102,6 @@ class CustomerController extends Controller
session()->flash('success', 'Customer created successfully.');
return redirect()->route($this->_config['redirect']);
-
}
/**
@@ -129,6 +128,13 @@ class CustomerController extends Controller
*/
public function update(Request $request, $id)
{
+ $request->validate([
+ 'first_name' => 'string|required',
+ 'last_name' => 'string|required',
+ 'gender' => 'required',
+ 'phone' => 'nullable|numeric',
+ 'email' => 'required|unique:customers,email,'. $id
+ ]);
$this->customer->update(request()->all(),$id);
@@ -136,6 +142,4 @@ class CustomerController extends Controller
return redirect()->route($this->_config['redirect']);
}
-
-
}
diff --git a/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php b/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php
index e35943d2e..11fe6054f 100644
--- a/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php
+++ b/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php
@@ -5,6 +5,7 @@ namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Customer\Repositories\CustomerRepository;
+use Webkul\Sales\Repositories\OrderRepository;
use Auth;
/**
@@ -25,26 +26,18 @@ class OrdersController extends Controller
*/
protected $_config;
protected $customer;
+ protected $order;
- public function __construct(CustomerRepository $customer)
+ public function __construct(CustomerRepository $customer ,OrderRepository $order)
{
$this->middleware('customer');
$this->_config = request('_config');
$this->customer = $customer;
- }
- /**
- * For taking the customer
- * to the dashboard after
- * authentication
- * @return view
- */
- private function getCustomer($id) {
- $customer = collect($this->customer->findOneWhere(['id'=>$id]));
- return $customer;
+ $this->order = $order;
}
public function index() {
@@ -56,6 +49,13 @@ class OrdersController extends Controller
}
public function orders() {
- return view($this->_config['view']);
+
+ $id = auth()->guard('customer')->user()->id;
+
+ $orders = $this->order->customerOrder($id);
+
+ return view($this->_config['view'],compact('orders'));
}
}
+
+
diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php
index b3e9ca1b6..bb6589d57 100644
--- a/packages/Webkul/Customer/src/Models/Customer.php
+++ b/packages/Webkul/Customer/src/Models/Customer.php
@@ -5,6 +5,7 @@ namespace Webkul\Customer\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Webkul\Customer\Models\CustomersGroups;
+use Webkul\Sales\Models\Order;
// use Webkul\User\Notifications\AdminResetPassword;
@@ -37,6 +38,4 @@ class Customer extends Authenticatable
{
return $this->belongsTo(CustomersGroups::class);
}
-
-
}
diff --git a/packages/Webkul/Product/src/Repositories/ProductRepository.php b/packages/Webkul/Product/src/Repositories/ProductRepository.php
index b67cedf64..beb6a2cb0 100644
--- a/packages/Webkul/Product/src/Repositories/ProductRepository.php
+++ b/packages/Webkul/Product/src/Repositories/ProductRepository.php
@@ -159,9 +159,9 @@ class ProductRepository extends Repository
$attributes = $product->attribute_family->custom_attributes;
foreach ($attributes as $attribute) {
- if(!isset($data[$attribute->code]) || !$data[$attribute->code])
+ if(!isset($data[$attribute->code]) || ($attribute->code == 'boolean' && !$data[$attribute->code]))
continue;
-
+
$attributeValue = $this->attributeValue->findOneWhere([
'product_id' => $product->id,
'attribute_id' => $attribute->id,
diff --git a/packages/Webkul/Sales/src/Database/Migrations/2018_09_27_113207_create_order_items_table.php b/packages/Webkul/Sales/src/Database/Migrations/2018_09_27_113207_create_order_items_table.php
index 930724305..42d004e8d 100644
--- a/packages/Webkul/Sales/src/Database/Migrations/2018_09_27_113207_create_order_items_table.php
+++ b/packages/Webkul/Sales/src/Database/Migrations/2018_09_27_113207_create_order_items_table.php
@@ -26,6 +26,7 @@ class CreateOrderItemsTable extends Migration
$table->integer('qty_ordered')->default(0)->nullable();
$table->integer('qty_shipped')->default(0)->nullable();
$table->integer('qty_invoiced')->default(0)->nullable();
+ $table->integer('qty_canceled')->default(0)->nullable();
$table->integer('qty_refunded')->default(0)->nullable();
$table->decimal('price', 12,4)->default(0);
diff --git a/packages/Webkul/Sales/src/Models/Order.php b/packages/Webkul/Sales/src/Models/Order.php
index 9bb83b3f5..5254f7d8c 100644
--- a/packages/Webkul/Sales/src/Models/Order.php
+++ b/packages/Webkul/Sales/src/Models/Order.php
@@ -7,11 +7,12 @@ use Webkul\Sales\Contracts\Order as OrderContract;
class Order extends Model implements OrderContract
{
- protected $guarded = ['id', 'items', 'shipping_address', 'billing_address', 'channel', 'payment', 'created_at', 'updated_at'];
+ protected $guarded = ['id', 'items', 'shipping_address', 'billing_address', 'customer', 'channel', 'payment', 'created_at', 'updated_at'];
protected $statusLabel = [
'pending' => 'Pending',
'processing' => 'Processing',
+ 'completed' => 'Completed',
'canceled' => 'Canceled',
'closed' => 'Closed',
];
@@ -31,6 +32,22 @@ class Order extends Model implements OrderContract
return $this->statusLabel[$this->status];
}
+ /**
+ * Return base total due amount
+ */
+ public function getBaseTotalDueAttribute()
+ {
+ return $this->base_grand_total - $this->base_grand_total_invoiced;
+ }
+
+ /**
+ * Return total due amount
+ */
+ public function getTotalDueAttribute()
+ {
+ return $this->grand_total - $this->base_total_invoiced;
+ }
+
/**
* Get the order items record associated with the order.
*/
@@ -143,4 +160,18 @@ class Order extends Model implements OrderContract
return false;
}
+
+ /**
+ * Checks if order could can canceled on not
+ */
+ public function canCancel()
+ {
+ foreach($this->items as $item) {
+ if ($item->qty_to_cancel > 0) {
+ return true;
+ }
+ }
+
+ return false;
+ }
}
\ No newline at end of file
diff --git a/packages/Webkul/Sales/src/Models/OrderAddress.php b/packages/Webkul/Sales/src/Models/OrderAddress.php
index 73f88c680..827e499a9 100644
--- a/packages/Webkul/Sales/src/Models/OrderAddress.php
+++ b/packages/Webkul/Sales/src/Models/OrderAddress.php
@@ -4,7 +4,6 @@ namespace Webkul\Sales\Models;
use Illuminate\Database\Eloquent\Model;
use Webkul\Sales\Contracts\OrderAddress as OrderAddressContract;
-use Webkul\Customer\Models\Customer;
class OrderAddress extends Model implements OrderAddressContract
{
@@ -19,7 +18,7 @@ class OrderAddress extends Model implements OrderAddressContract
{
return $this->first_name . ' ' . $this->last_name;
}
-
+
/**
* Get the customer record associated with the order.
*/
diff --git a/packages/Webkul/Sales/src/Models/OrderItem.php b/packages/Webkul/Sales/src/Models/OrderItem.php
index 789bd61bd..08ad131cb 100644
--- a/packages/Webkul/Sales/src/Models/OrderItem.php
+++ b/packages/Webkul/Sales/src/Models/OrderItem.php
@@ -13,14 +13,21 @@ class OrderItem extends Model implements OrderItemContract
* Get remaining qty for shipping.
*/
public function getQtyToShipAttribute() {
- return $this->qty_ordered - $this->qty_shipped - $this->qty_refunded;
+ return $this->qty_ordered - $this->qty_shipped - $this->qty_refunded - $this->qty_canceled;
}
/**
* Get remaining qty for invoice.
*/
public function getQtyToInvoiceAttribute() {
- return $this->qty_ordered - $this->qty_invoiced - $this->qty_refunded;
+ return $this->qty_ordered - $this->qty_invoiced - $this->qty_canceled;
+ }
+
+ /**
+ * Get remaining qty for cancel.
+ */
+ public function getQtyToCancelAttribute() {
+ return $this->qty_ordered - $this->qty_canceled - $this->qty_invoiced;
}
/**
diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
index 3837f2b42..74ff4bb6a 100644
--- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
@@ -138,8 +138,8 @@ class InvoiceRepository extends Repository
'base_price' => $childOrderItem->base_price,
'total' => $childOrderItem->price * $qty,
'base_total' => $childOrderItem->base_price * $qty,
- 'tax_amount' => ( ($childOrderItem->tax_amount / $childOrderItem->qty_ordered) * $qty ),
- 'base_tax_amount' => ( ($childOrderItem->base_tax_amount / $childOrderItem->qty_ordered) * $qty ),
+ 'tax_amount' => 0,
+ 'base_tax_amount' => 0,
'product_id' => $childOrderItem->product_id,
'product_type' => $childOrderItem->product_type,
'additional' => $childOrderItem->additional,
@@ -153,7 +153,7 @@ class InvoiceRepository extends Repository
$this->order->collectTotals($order);
- $this->order->updateOrderStatus($order->id);
+ $this->order->updateOrderStatus($order);
} catch (\Exception $e) {
DB::rollBack();
diff --git a/packages/Webkul/Sales/src/Repositories/OrderRepository.php b/packages/Webkul/Sales/src/Repositories/OrderRepository.php
index d72e8c86e..445199220 100644
--- a/packages/Webkul/Sales/src/Repositories/OrderRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/OrderRepository.php
@@ -71,7 +71,7 @@ class OrderRepository extends Repository
public function create(array $data)
{
DB::beginTransaction();
-
+
try {
Event::fire('checkout.order.save.before', $data);
@@ -97,7 +97,7 @@ class OrderRepository extends Repository
$order->payment()->create($data['payment']);
$order->addresses()->create($data['shipping_address']);
-
+
$order->addresses()->create($data['billing_address']);
foreach($data['items'] as $item) {
@@ -114,7 +114,7 @@ class OrderRepository extends Repository
throw $e;
}
-
+
DB::commit();
Event::fire('checkout.order.save.after', $order);
@@ -122,6 +122,30 @@ class OrderRepository extends Repository
return $order;
}
+ /**
+ * @param int $orderId
+ * @return mixed
+ */
+ public function cancel($orderId)
+ {
+ $order = $this->findOrFail($orderId);
+
+ if(!$order->canCancel())
+ return false;
+
+ foreach($order->items as $item) {
+ if($item->qty_to_cancel) {
+ $item->qty_canceled += $item->qty_to_cancel;
+
+ $item->save();
+ }
+ }
+
+ $this->updateOrderStatus($order);
+
+ return true;
+ }
+
/**
* @inheritDoc
*/
@@ -135,12 +159,94 @@ class OrderRepository extends Repository
}
/**
- * @param int $orderId
+ * @param mixed $order
* @return void
*/
- public function updateOrderStatus(int $orderId)
+ public function isInCompletedState($order)
{
- $order = $this->find($orderId);
+ $totalQtyOrdered = 0;
+ $totalQtyInvoiced = 0;
+ $totalQtyShipped = 0;
+ $totalQtyRefunded = 0;
+ $totalQtyCanceled = 0;
+
+ foreach($order->items as $item) {
+ $totalQtyOrdered += $item->qty_ordered;
+ $totalQtyInvoiced += $item->qty_invoiced;
+ $totalQtyShipped += $item->qty_shipped;
+ $totalQtyRefunded += $item->qty_refunded;
+ $totalQtyCanceled += $item->qty_canceled;
+ }
+
+ if($totalQtyOrdered != ($totalQtyRefunded + $totalQtyCanceled) &&
+ $totalQtyOrdered == $totalQtyInvoiced + $totalQtyRefunded + $totalQtyCanceled &&
+ $totalQtyOrdered == $totalQtyShipped + $totalQtyRefunded + $totalQtyCanceled)
+ return true;
+
+ return false;
+ }
+
+ /**
+ * @param mixed $order
+ * @return void
+ */
+ public function isInCanceledState($order)
+ {
+ $totalQtyOrdered = 0;
+ $totalQtyCanceled = 0;
+
+ foreach($order->items as $item) {
+ $totalQtyOrdered += $item->qty_ordered;
+ $totalQtyCanceled += $item->qty_canceled;
+ }
+
+ if($totalQtyOrdered == $totalQtyCanceled)
+ return true;
+
+ return false;
+ }
+
+ /**
+ * @param mixed $order
+ * @return void
+ */
+ public function isInClosedState($order)
+ {
+ $totalQtyOrdered = 0;
+ $totalQtyRefunded = 0;
+ $totalQtyCanceled = 0;
+
+ foreach($order->items as $item) {
+ $totalQtyOrdered += $item->qty_ordered;
+ $totalQtyRefunded += $item->qty_refunded;
+ $totalQtyCanceled += $item->qty_canceled;
+ }
+
+ if($totalQtyOrdered == $totalQtyRefunded + $totalQtyCanceled)
+ return true;
+
+ return false;
+ }
+
+ /**
+ * @param mixed $order
+ * @return void
+ */
+ public function updateOrderStatus($order)
+ {
+ $status = 'processing';
+
+ if($this->isInCompletedState($order))
+ $status = 'completed';
+
+ if($this->isInCanceledState($order))
+ $status = 'canceled';
+
+ if($this->isInClosedState($order))
+ $status = 'closed';
+
+ $order->status = $status;
+ $order->save();
}
/**
@@ -180,4 +286,13 @@ class OrderRepository extends Repository
return $order;
}
+
+ /**
+ * @param int $customerId
+ * @return void
+ */
+ public function customerOrder($customerId)
+ {
+ return $this->model->where('customer_id',$customerId)->get();
+ }
}
\ No newline at end of file
diff --git a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
index 337db3169..fa80b5051 100644
--- a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
@@ -127,7 +127,7 @@ class ShipmentRepository extends Repository
$this->orderItem->update(['qty_shipped' => $orderItem->qty_shipped + $qty], $orderItem->id);
}
- $this->order->updateOrderStatus($order->id);
+ $this->order->updateOrderStatus($order);
} catch (\Exception $e) {
DB::rollBack();
diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php
index f6d4b96c0..597295d7c 100644
--- a/packages/Webkul/Shop/src/Http/routes.php
+++ b/packages/Webkul/Shop/src/Http/routes.php
@@ -178,7 +178,7 @@ Route::group(['middleware' => ['web']], function () {
/* Reviews route */
Route::get('reviews', 'Webkul\Customer\Http\Controllers\CustomerController@reviews')->defaults('_config', [
- 'view' => 'shop::customers.account.reviews.reviews'
+ 'view' => 'shop::customers.account.reviews.index'
])->name('customer.reviews.index');
});
});
diff --git a/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light-On.svg b/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light-On.svg
new file mode 100644
index 000000000..7b38bfe7f
--- /dev/null
+++ b/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light-On.svg
@@ -0,0 +1,12 @@
+
+
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light.svg b/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light.svg
new file mode 100644
index 000000000..745e57d6e
--- /dev/null
+++ b/packages/Webkul/Shop/src/Resources/assets/images/Expand-Light.svg
@@ -0,0 +1,12 @@
+
+
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue b/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue
index 5bfd4b903..96c3aca5e 100644
--- a/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue
+++ b/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue
@@ -1,10 +1,11 @@
+
{{ this.item['translations'][0].name }}
+ v-if="haveChildren" @click="showOrHide">
770){
this.show = true;
}
},
-
computed: {
haveChildren() {
return this.item.children.length ? true : false;
}
},
-
methods: {
showOrHide: function() {
this.show = !this.show;
diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss
index 75a500526..d490af457 100644
--- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss
+++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss
@@ -480,6 +480,10 @@ section.slider-block {
position: relative;
}
+ .nav a:first-child{
+ margin-left: 20px;
+ }
+
.nav li > .icon{
display: none;
}
@@ -497,7 +501,6 @@ section.slider-block {
.nav > li {
float: left;
margin-right: 1px;
-
}
.nav > li > a {
@@ -649,8 +652,6 @@ section.slider-block {
padding: 12px 4.8px 12px 8px;
text-transform: uppercase;
letter-spacing: 2px;
- position: relative;
- width: 90%;
}
.nav li > .icon{
@@ -661,11 +662,11 @@ section.slider-block {
display: none;
}
- .nav > li {
+ .nav > li {
border-bottom: 1px solid $border-color;
}
- .nav li:first-child {
+ .nav li:first-child {
border-top: 1px solid $border-color;
}
diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss b/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss
index c63302cf0..b0eacb07b 100644
--- a/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss
+++ b/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss
@@ -95,4 +95,28 @@
background-image: url('../images/wishlist.svg');
width: 32px;
height: 32px;
+}
+
+.icon-arrow-up {
+ background-image: url('../images/arrow-up.svg');
+ width: 16px;
+ height: 16px;
+}
+
+.icon-arrow-down {
+ background-image: url('../images/arrow-down.svg');
+ width: 16px;
+ height: 16px;
+}
+
+.expand-icon {
+ background-image: url("../images/Expand-Light.svg");
+ width: 18px;
+ height: 18px;
+}
+
+.expand-on-icon {
+ background-image: url("../images/Expand-Light-On.svg");
+ width: 18px;
+ height: 18px;
}
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php
index 04c1f45f2..a7f63e612 100644
--- a/packages/Webkul/Shop/src/Resources/lang/en/app.php
+++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php
@@ -116,6 +116,24 @@ return [
'title' => 'Edit Address',
'submit' => 'Edit Address'
]
+ ],
+
+ 'order' => [
+ 'index' => [
+ 'page-title' => 'Customer-Order',
+ 'title' => 'Orders',
+ 'order_id' => 'Order ID',
+ 'date' => 'Date',
+ 'status' => 'Status',
+ 'item' => 'Item',
+ 'total' => 'total'
+ ]
+ ],
+
+ 'review' => [
+ 'index' => [
+ 'title' => 'Reviews'
+ ]
]
]
],
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php
index 0f0088c32..e17fbaae3 100644
--- a/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/checkout/success.blade.php
@@ -6,7 +6,7 @@
@section('content-wrapper')
-
+
{{ __('shop::app.checkout.success.thanks') }}
@@ -15,7 +15,7 @@
{{ __('shop::app.checkout.success.info') }}
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php
index 32640604a..efd7966d1 100644
--- a/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php
@@ -4,4 +4,4 @@
@include('shop::customers.account.partials.sidemenu')
Account Index Page
-@endsection
\ No newline at end of file
+@endsection
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php
index 2cff69535..05f1c496f 100644
--- a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php
@@ -1 +1,53 @@
-
Customer past orders page
\ No newline at end of file
+
+@extends('shop::layouts.master')
+@section('page_title')
+ {{ __('shop::app.customer.account.order.index.page-title') }}
+@endsection
+
+@section('content-wrapper')
+
+
+ @include('shop::customers.account.partials.sidemenu')
+
+
+
+
+
{{ __('shop::app.customer.account.order.index.title') }}
+
+
+
+
+
+
+
+
+
+ | {{ __('shop::app.customer.account.order.index.order_id') }} |
+ {{ __('shop::app.customer.account.order.index.date') }} |
+ {{ __('shop::app.customer.account.order.index.status')}} |
+ {{ __('shop::app.customer.account.order.index.item') }} |
+ {{ __('shop::app.customer.account.order.index.total') }} |
+
+
+
+
+ @foreach($orders as $order)
+
+ | {{ $order->id }} |
+ |
+ Shipped (2) |
+ 2 |
+ $35.00 |
+
+ @endforeach
+
+
+
+
+
+
+
+
+
+
+@endsection
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php
index 89f5c97b0..7e3fb4f0d 100644
--- a/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php
@@ -1,3 +1,8 @@
+{{-- --}}
+
+
+
+@push('scripts')
+
+
+
+@endpush
+
+
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php
index e0f03bd94..5ba28e4e9 100644
--- a/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php
@@ -1,6 +1,6 @@
@extends('shop::layouts.master')
@section('page_title')
- {{ __('shop::app.customer.account.profile.index.page-title') }}
+ {{ __('shop::app.order.page-title') }}
@endsection
@section('content-wrapper')
@@ -12,6 +12,8 @@
+ {{--
--}}
+
{{ __('shop::app.customer.account.profile.index.title') }}
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php
new file mode 100644
index 000000000..8153763fd
--- /dev/null
+++ b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php
@@ -0,0 +1,55 @@
+@inject ('productImageHelper', 'Webkul\Product\Product\ProductImage')
+
+@extends('shop::layouts.master')
+@section('content-wrapper')
+
+ @include('shop::customers.account.partials.sidemenu')
+
+
+
+
+
{{ __('shop::app.customer.account.review.index.title') }}
+
+
+
+
+
+ @if(is_null($reviews))
+ @foreach($reviews as $review)
+
+
+ @endforeach
+ @else
+
+ {{-- {{ __('customer::app.wishlist.empty') }} --}}
+
+ @endif
+
+
+
+
+@endsection
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php
index a6bcc9858..3a7564f23 100644
--- a/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php
@@ -1,3 +1,4 @@
+
+
+
+
+@push('scripts')
+
+
+
+@endpush
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
index 2bd2ed842..618856942 100644
--- a/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php
@@ -42,7 +42,6 @@
- {{-- For JS that requires onload property --}}
-
-
@stack('scripts')
+