diff --git a/packages/Webkul/Admin/src/DataGrids/AddressDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AddressDataGrid.php index 2a69b952e..076ee5b00 100644 --- a/packages/Webkul/Admin/src/DataGrids/AddressDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AddressDataGrid.php @@ -6,12 +6,9 @@ use Illuminate\Support\Facades\DB; use Webkul\Customer\Models\CustomerAddress; use Webkul\Customer\Repositories\CustomerRepository; use Webkul\Ui\DataGrid\DataGrid; -use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus; class AddressDataGrid extends DataGrid { - use ProvideDataGridPlus; - /** * Index. * diff --git a/packages/Webkul/Admin/src/DataGrids/CartRuleCouponDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CartRuleCouponDataGrid.php index d394ec615..94e7cccd1 100644 --- a/packages/Webkul/Admin/src/DataGrids/CartRuleCouponDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CartRuleCouponDataGrid.php @@ -7,23 +7,39 @@ use Webkul\Ui\DataGrid\DataGrid; class CartRuleCouponDataGrid extends DataGrid { + /** + * Index. + * + * @var string + */ protected $index = 'id'; + /** + * Sort order. + * + * @var string + */ protected $sortOrder = 'desc'; + /** + * Prepare query builder. + * + * @return void + */ public function prepareQueryBuilder() { - $route = request()->route() ? request()->route()->getName() : "" ; - - $cartRuleId = $route == 'admin.cart-rules.edit' ? collect(request()->segments())->last() : last(explode("/", url()->previous())); - $queryBuilder = DB::table('cart_rule_coupons') - ->addSelect('id', 'code', 'created_at', 'expired_at', 'times_used') - ->where('cart_rule_coupons.cart_rule_id', $cartRuleId); + ->addSelect('id', 'code', 'created_at', 'expired_at', 'times_used') + ->where('cart_rule_coupons.cart_rule_id', request('id')); $this->setQueryBuilder($queryBuilder); } + /** + * Add columns. + * + * @return void + */ public function addColumns() { $this->addColumn([ @@ -72,6 +88,11 @@ class CartRuleCouponDataGrid extends DataGrid ]); } + /** + * Prepare mass actions. + * + * @return void + */ public function prepareMassActions() { $this->addMassAction([ diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerOrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerOrderDataGrid.php index 341a120ee..d0961c745 100644 --- a/packages/Webkul/Admin/src/DataGrids/CustomerOrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerOrderDataGrid.php @@ -5,12 +5,9 @@ namespace Webkul\Admin\DataGrids; use Illuminate\Support\Facades\DB; use Webkul\Sales\Models\OrderAddress; use Webkul\Ui\DataGrid\DataGrid; -use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus; class CustomerOrderDataGrid extends DataGrid { - use ProvideDataGridPlus; - /** * Index. * @@ -113,20 +110,20 @@ class CustomerOrderDataGrid extends DataGrid 'sortable' => true, 'searchable' => true, 'filterable' => true, - 'closure' => function ($value) { + 'closure' => function ($value) { if ($value->status == 'processing') { return '' . trans('admin::app.sales.orders.order-status-processing') . ''; } elseif ($value->status == 'completed') { return '' . trans('admin::app.sales.orders.order-status-success') . ''; - } elseif ($value->status == "canceled") { + } elseif ($value->status == 'canceled') { return '' . trans('admin::app.sales.orders.order-status-canceled') . ''; - } elseif ($value->status == "closed") { + } elseif ($value->status == 'closed') { return '' . trans('admin::app.sales.orders.order-status-closed') . ''; - } elseif ($value->status == "pending") { + } elseif ($value->status == 'pending') { return '' . trans('admin::app.sales.orders.order-status-pending') . ''; - } elseif ($value->status == "pending_payment") { + } elseif ($value->status == 'pending_payment') { return '' . trans('admin::app.sales.orders.order-status-pending-payment') . ''; - } elseif ($value->status == "fraud") { + } elseif ($value->status == 'fraud') { return '' . trans('admin::app.sales.orders.order-status-fraud') . ''; } }, diff --git a/packages/Webkul/Admin/src/DataGrids/CustomersInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomersInvoicesDataGrid.php index ddccd391b..db9c19e8f 100644 --- a/packages/Webkul/Admin/src/DataGrids/CustomersInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomersInvoicesDataGrid.php @@ -4,12 +4,9 @@ namespace Webkul\Admin\DataGrids; use Illuminate\Support\Facades\DB; use Webkul\Ui\DataGrid\DataGrid; -use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus; class CustomersInvoicesDataGrid extends DataGrid { - use ProvideDataGridPlus; - /** * Index column. * @@ -57,7 +54,7 @@ class CustomersInvoicesDataGrid extends DataGrid 'type' => 'number', 'searchable' => false, 'sortable' => true, - 'filterable' => true + 'filterable' => true, ]); $this->addColumn([ @@ -87,7 +84,7 @@ class CustomersInvoicesDataGrid extends DataGrid 'filterable' => true, 'closure' => function ($value) { return '' . $value->order_id . ''; - } + }, ]); $this->addColumn([ @@ -106,7 +103,7 @@ class CustomersInvoicesDataGrid extends DataGrid 'sortable' => true, 'searchable' => true, 'filterable' => true, - 'closure' => function ($value) { + 'closure' => function ($value) { if ($value->state == 'paid') { return '' . trans('admin::app.sales.invoices.status-paid') . ''; } elseif ($value->state == 'pending' || $value->state == 'pending_payment') { diff --git a/packages/Webkul/Admin/src/DataGrids/InvoicesTransactionsDatagrid.php b/packages/Webkul/Admin/src/DataGrids/InvoicesTransactionsDatagrid.php index 0bd830803..26db2dcad 100644 --- a/packages/Webkul/Admin/src/DataGrids/InvoicesTransactionsDatagrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InvoicesTransactionsDatagrid.php @@ -7,11 +7,25 @@ use Webkul\Ui\DataGrid\DataGrid; class InvoicesTransactionsDatagrid extends DataGrid { - + /** + * Index. + * + * @var string + */ protected $index = 'id'; + /** + * Sort order. + * + * @var string + */ protected $sortOrder = 'desc'; + /** + * Prepare query builder. + * + * @return void + */ public function prepareQueryBuilder() { $queryBuilder = DB::table('order_transactions') @@ -19,7 +33,6 @@ class InvoicesTransactionsDatagrid extends DataGrid ->select('order_transactions.id as id', 'order_transactions.transaction_id as transaction_id', 'order_transactions.invoice_id as invoice_id', 'order_transactions.created_at as created_at') ->where('order_transactions.invoice_id', request('id')); - $this->addFilter('id', 'order_transactions.id'); $this->addFilter('transaction_id', 'order_transactions.transaction_id'); $this->addFilter('order_id', 'ors.increment_id'); @@ -28,6 +41,11 @@ class InvoicesTransactionsDatagrid extends DataGrid $this->setQueryBuilder($queryBuilder); } + /** + * Add columns. + * + * @return void + */ public function addColumns() { $this->addColumn([ @@ -58,6 +76,11 @@ class InvoicesTransactionsDatagrid extends DataGrid ]); } + /** + * Prepare actions. + * + * @return void + */ public function prepareActions() { $this->addAction([ diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index e3c25288b..9da0951ad 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -2,15 +2,12 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\DataGrid; use Illuminate\Support\Facades\DB; use Webkul\Sales\Models\OrderAddress; -use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus; +use Webkul\Ui\DataGrid\DataGrid; class OrderDataGrid extends DataGrid { - use ProvideDataGridPlus; - /** * Index. * @@ -112,20 +109,20 @@ class OrderDataGrid extends DataGrid 'sortable' => true, 'searchable' => true, 'filterable' => true, - 'closure' => function ($value) { + 'closure' => function ($value) { if ($value->status == 'processing') { return '' . trans('admin::app.sales.orders.order-status-processing') . ''; } elseif ($value->status == 'completed') { return '' . trans('admin::app.sales.orders.order-status-success') . ''; - } elseif ($value->status == "canceled") { + } elseif ($value->status == 'canceled') { return '' . trans('admin::app.sales.orders.order-status-canceled') . ''; - } elseif ($value->status == "closed") { + } elseif ($value->status == 'closed') { return '' . trans('admin::app.sales.orders.order-status-closed') . ''; - } elseif ($value->status == "pending") { + } elseif ($value->status == 'pending') { return '' . trans('admin::app.sales.orders.order-status-pending') . ''; - } elseif ($value->status == "pending_payment") { + } elseif ($value->status == 'pending_payment') { return '' . trans('admin::app.sales.orders.order-status-pending-payment') . ''; - } elseif ($value->status == "fraud") { + } elseif ($value->status == 'fraud') { return '' . trans('admin::app.sales.orders.order-status-fraud') . ''; } }, diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php index cf6463569..1a0138f1d 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php @@ -3,6 +3,7 @@ namespace Webkul\Admin\Http\Controllers\Customer; use Mail; +use Webkul\Admin\DataGrids\CustomerDataGrid; use Webkul\Admin\DataGrids\CustomerOrderDataGrid; use Webkul\Admin\DataGrids\CustomersInvoicesDataGrid; use Webkul\Admin\Http\Controllers\Controller; @@ -83,6 +84,10 @@ class CustomerController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CustomerDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php index 0816c41ac..2d36dffa0 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php @@ -2,6 +2,7 @@ namespace Webkul\Admin\Http\Controllers\Customer; +use Webkul\Admin\DataGrids\CustomerGroupDataGrid; use Webkul\Admin\Http\Controllers\Controller; use Webkul\Customer\Repositories\CustomerGroupRepository; @@ -43,6 +44,10 @@ class CustomerGroupController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CustomerGroupDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php index 25acab56c..883e1e894 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php @@ -3,6 +3,8 @@ namespace Webkul\Admin\Http\Controllers\Sales; use Illuminate\Http\Request; +use Webkul\Admin\DataGrids\InvoicesTransactionsDatagrid; +use Webkul\Admin\DataGrids\OrderInvoicesDataGrid; use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Traits\Mails; use Webkul\Core\Traits\PDFHandler; @@ -61,9 +63,24 @@ class InvoiceController extends Controller */ public function index() { + if (request()->ajax()) { + return app(OrderInvoicesDataGrid::class)->toJson(); + } + return view($this->_config['view']); } + /** + * Show the form for creating a new resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function invoiceTransactions($id) + { + return app(InvoicesTransactionsDatagrid::class)->toJson(); + } + /** * Show the form for creating a new resource. * diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/RefundController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/RefundController.php index 4ca402600..16a5fec33 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/RefundController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/RefundController.php @@ -2,6 +2,7 @@ namespace Webkul\Admin\Http\Controllers\Sales; +use Webkul\Admin\DataGrids\OrderRefundDataGrid; use Webkul\Admin\Http\Controllers\Controller; use Webkul\Sales\Repositories\OrderItemRepository; use Webkul\Sales\Repositories\OrderRepository; @@ -68,6 +69,10 @@ class RefundController extends Controller */ public function index() { + if (request()->ajax()) { + return app(OrderRefundDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php index 3d868f873..d468ad326 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php @@ -2,6 +2,7 @@ namespace Webkul\Admin\Http\Controllers\Sales; +use Webkul\Admin\DataGrids\OrderShipmentsDataGrid; use Webkul\Admin\Http\Controllers\Controller; use Webkul\Sales\Repositories\OrderItemRepository; use Webkul\Sales\Repositories\OrderRepository; @@ -68,6 +69,10 @@ class ShipmentController extends Controller */ public function index() { + if (request()->ajax()) { + return app(OrderShipmentsDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php index c81a42e99..033490ae8 100644 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/TransactionController.php @@ -3,14 +3,12 @@ namespace Webkul\Admin\Http\Controllers\Sales; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Event; - +use Webkul\Admin\DataGrids\OrderTransactionsDataGrid; use Webkul\Admin\Http\Controllers\Controller; use Webkul\Payment\Facades\Payment; - +use Webkul\Sales\Repositories\InvoiceRepository; use Webkul\Sales\Repositories\OrderRepository; use Webkul\Sales\Repositories\OrderTransactionRepository; -use Webkul\Sales\Repositories\InvoiceRepository; class TransactionController extends Controller { @@ -22,21 +20,21 @@ class TransactionController extends Controller protected $_config; /** - * OrderRepository object + * Order repository instance. * * @var \Webkul\Sales\Repositories\OrderRepository */ protected $orderRepository; /** - * OrderRepository object + * Order transaction repository instance. * * @var \Webkul\Sales\Repositories\OrderTransactionRepository */ protected $orderTransactionRepository; /** - * InvoiceRepository object + * Invoice repository instance. * * @var \Webkul\Sales\Repositories\InvoiceRepository */ @@ -53,8 +51,7 @@ class TransactionController extends Controller public function __construct( OrderRepository $orderRepository, OrderTransactionRepository $orderTransactionRepository, - InvoiceRepository $invoiceRepository) - { + InvoiceRepository $invoiceRepository) { $this->middleware('admin'); $this->_config = request('_config'); @@ -73,6 +70,10 @@ class TransactionController extends Controller */ public function index() { + if (request()->ajax()) { + return app(OrderTransactionsDataGrid::class)->toJson(); + } + return view($this->_config['view']); } @@ -84,6 +85,7 @@ class TransactionController extends Controller public function create() { $payment_methods = Payment::getSupportedPaymentMethods(); + return view($this->_config['view'], compact('payment_methods')); } @@ -94,40 +96,37 @@ class TransactionController extends Controller */ public function store(Request $request) { - $validate = $this->validate(request(), [ + $this->validate(request(), [ 'invoice_id' => 'required', 'payment_method' => 'required', - 'amount' => 'required|numeric' + 'amount' => 'required|numeric', ]); $invoice = $this->invoiceRepository->where('increment_id', $request->invoice_id)->first(); if ($invoice) { - if ($invoice->state == 'paid') { session()->flash('info', trans('admin::app.sales.transactions.response.already-paid')); + return redirect(route('admin.sales.transactions.index')); } $order = $this->orderRepository->find($invoice->order_id); - $data = [ - "paidAmount" => $request->amount - ]; - $randomId = random_bytes(20); - $transactionId = bin2hex($randomId); - $transactionData['transaction_id'] = $transactionId; - $transactionData['type'] = $request->payment_method; - $transactionData['payment_method'] = $request->payment_method; - $transactionData['invoice_id'] = $invoice->id; - $transactionData['order_id'] = $invoice->order_id; - $transactionData['amount'] = $request->amount; - $transactionData['status'] = 'paid'; - $transactionData['data'] = json_encode($data); - - $this->orderTransactionRepository->create($transactionData); + $this->orderTransactionRepository->create([ + 'transaction_id' => bin2hex($randomId), + 'type' => $request->payment_method, + 'payment_method' => $request->payment_method, + 'invoice_id' => $invoice->id, + 'order_id' => $invoice->order_id, + 'amount' => $request->amount, + 'status' => 'paid', + 'data' => json_encode([ + 'paidAmount' => $request->amount, + ]), + ]); $transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount'); @@ -140,16 +139,17 @@ class TransactionController extends Controller $this->orderRepository->updateOrderStatus($order, 'processing'); } - $this->invoiceRepository->updateState($invoice, "paid"); + $this->invoiceRepository->updateState($invoice, 'paid'); } session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved')); - return redirect(route('admin.sales.transactions.index')); - } else { - session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing')); - return redirect()->back(); + return redirect(route('admin.sales.transactions.index')); } + + session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing')); + + return redirect()->back(); } /** @@ -170,12 +170,13 @@ class TransactionController extends Controller } /** - * Convert Transaction Details Data into single Dim Array. + * Convert transaction details data into single dim array. * * @param array $data * @return array - */ - public function convertIntoSingleDimArray($transData) { + */ + public function convertIntoSingleDimArray($transData) + { static $detailsData = []; foreach ($transData as $key => $data) { diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/index.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/index.blade.php index a40a1d2a6..45c374927 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/index.blade.php @@ -12,7 +12,10 @@
- + {{ __('admin::app.catalog.attributes.add-title') }}
@@ -21,9 +24,7 @@ {!! view_render_event('bagisto.admin.catalog.attributes.list.before') !!}
- - {!! app('Webkul\Admin\DataGrids\AttributeDataGrid')->render() !!} - +
{!! view_render_event('bagisto.admin.catalog.attributes.list.after') !!} diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/index.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/index.blade.php index 352ef4bb2..a1e50bede 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/index.blade.php @@ -1,4 +1,6 @@ -@php($locale = core()->getRequestedLocaleCode()) +@php + $locale = core()->getRequestedLocaleCode(); +@endphp @extends('admin::layouts.content') @@ -13,15 +15,20 @@

{{ __('admin::app.catalog.categories.title') }}

- - + @foreach (core()->getAllLocales() as $localeModel) @endforeach @@ -33,15 +40,13 @@ {{ __('admin::app.catalog.categories.add-title') }} -
+ {!! view_render_event('bagisto.admin.catalog.categories.list.before') !!}
- @inject('categories', 'Webkul\Admin\DataGrids\CategoryDataGrid') - - {!! $categories->render() !!} +
{!! view_render_event('bagisto.admin.catalog.categories.list.after') !!} diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/families/index.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/families/index.blade.php index a377e19db..733a7cd89 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/families/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/families/index.blade.php @@ -21,12 +21,10 @@ {!! view_render_event('bagisto.admin.catalog.families.list.before') !!}
- - {!! app('Webkul\Admin\DataGrids\AttributeFamilyDataGrid')->render() !!} - +
{!! view_render_event('bagisto.admin.catalog.families.list.after') !!} - + -@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php index c04125f13..e8c356f57 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/index.blade.php @@ -14,7 +14,8 @@
- + + {{ __('admin::app.export.export') }}
@@ -28,9 +29,7 @@ {!! view_render_event('bagisto.admin.catalog.products.list.before') !!}
- @inject('products', 'Webkul\Admin\DataGrids\ProductDataGrid') - - {!! $products->render() !!} +
{!! view_render_event('bagisto.admin.catalog.products.list.after') !!} @@ -38,6 +37,7 @@

{{ __('admin::app.export.download') }}

+
@@ -45,7 +45,7 @@ @stop @push('scripts') - @include('admin::export.export', ['gridName' => $products]) + @include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\ProductDataGrid')]) -@endpush \ No newline at end of file +@endpush diff --git a/packages/Webkul/Admin/src/Resources/views/cms/index.blade.php b/packages/Webkul/Admin/src/Resources/views/cms/index.blade.php index 9aefe943c..7f9dd135b 100644 --- a/packages/Webkul/Admin/src/Resources/views/cms/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/cms/index.blade.php @@ -5,16 +5,17 @@ @stop @section('content') -

{{ __('admin::app.export.download') }}

+
@@ -41,6 +41,5 @@ @stop @push('scripts') - @include('admin::export.export', ['gridName' => $cmsGrid]) + @include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\CMSPageDataGrid')]) @endpush - diff --git a/packages/Webkul/Admin/src/Resources/views/customers/addresses/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/addresses/index.blade.php deleted file mode 100644 index cc5f19344..000000000 --- a/packages/Webkul/Admin/src/Resources/views/customers/addresses/index.blade.php +++ /dev/null @@ -1,35 +0,0 @@ -@extends('admin::layouts.content') - -@section('page_title') - {{ __('admin::app.customers.addresses.title', ['customer_name' => $customer->first_name . ' ' . $customer->last_name]) }} -@stop - -@section('content') -
- - - {!! view_render_event('bagisto.admin.customer.addresses.list.before') !!} - -
- - {!! app('Webkul\Admin\DataGrids\AddressDataGrid')->render() !!} - -
- - {!! view_render_event('bagisto.admin.customer.addresses.list.after') !!} -
-@stop diff --git a/packages/Webkul/Admin/src/Resources/views/customers/addresses/orders/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/addresses/orders/index.blade.php deleted file mode 100644 index c524233c9..000000000 --- a/packages/Webkul/Admin/src/Resources/views/customers/addresses/orders/index.blade.php +++ /dev/null @@ -1,35 +0,0 @@ -@extends('admin::layouts.content') - -@section('page_title') - {{ __('address::app.admin.addresses.title-orders', ['customer_name' => $customer->first_name . ' ' . $customer->last_name]) }} -@stop - -@section('content') - -
- - -
- - - - {!! app('Webkul\Address\DataGrids\Admin\OrderDataGrid')->render() !!} - -
-
- -@stop diff --git a/packages/Webkul/Admin/src/Resources/views/customers/groups/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/groups/index.blade.php index a383ff6cd..5abdeda0f 100755 --- a/packages/Webkul/Admin/src/Resources/views/customers/groups/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/groups/index.blade.php @@ -5,12 +5,12 @@ @stop @section('content') -
- -@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/customers/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/index.blade.php index 675790a7a..c849f4a9a 100755 --- a/packages/Webkul/Admin/src/Resources/views/customers/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/index.blade.php @@ -5,16 +5,17 @@ @stop @section('content') -

{{ __('admin::app.export.download') }}

+
- @stop @push('scripts') - @include('admin::export.export', ['gridName' => $customerGrid]) + @include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\CustomerDataGrid')]) @endpush - diff --git a/packages/Webkul/Admin/src/Resources/views/customers/orders/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/orders/index.blade.php deleted file mode 100644 index eb65c3f3d..000000000 --- a/packages/Webkul/Admin/src/Resources/views/customers/orders/index.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('admin::layouts.content') - -@section('page_title') - {{ __('admin::app.customers.orders.list', ['customer_name' => $customer->first_name . ' ' . $customer->last_name]) }} -@stop - -@section('content') - -
- - -
- @inject('customerOrderGrid','Webkul\Admin\DataGrids\CustomerOrderDataGrid') - - {!! $customerOrderGrid->render() !!} -
-
- -@stop diff --git a/packages/Webkul/Admin/src/Resources/views/customers/reviews/index.blade.php b/packages/Webkul/Admin/src/Resources/views/customers/reviews/index.blade.php index b05f5f819..5d5302ff5 100755 --- a/packages/Webkul/Admin/src/Resources/views/customers/reviews/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/customers/reviews/index.blade.php @@ -5,23 +5,17 @@ @stop @section('content') -
- @inject('review','Webkul\Admin\DataGrids\CustomerReviewDataGrid') - {!! $review->render() !!} +
- -@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/export/export.blade.php b/packages/Webkul/Admin/src/Resources/views/export/export.blade.php index ccad8029a..56d701b56 100644 --- a/packages/Webkul/Admin/src/Resources/views/export/export.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/export/export.blade.php @@ -1,6 +1,5 @@ @@ -33,13 +31,14 @@ methods: { onSubmit: function(e) { - var this_this = this; + var self = this; + e.target.submit(); setTimeout(function() { - this_this.$root.$set(this_this.$root.modalIds, 'downloadDataGrid', false); + self.$root.$set(self.$root.modalIds, 'downloadDataGrid', false); }, 0); } } }); - \ No newline at end of file + diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/campaigns/index.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/campaigns/index.blade.php index 0d82fb5d2..be261cfe8 100755 --- a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/campaigns/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/campaigns/index.blade.php @@ -19,9 +19,7 @@
- - {!! app('Webkul\Admin\DataGrids\CampaignDataGrid')->render() !!} - +
-@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/events/index.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/events/index.blade.php index a2e1a8d5a..b357847f3 100755 --- a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/events/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/events/index.blade.php @@ -19,9 +19,7 @@
- - {!! app('Webkul\Admin\DataGrids\EventDataGrid')->render() !!} - +
-@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/subscribers/index.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/subscribers/index.blade.php index a8863220f..37120d3da 100755 --- a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/subscribers/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/subscribers/index.blade.php @@ -5,24 +5,15 @@ @stop @section('content') - -
- @inject('subscribers','Webkul\Admin\DataGrids\NewsLetterDataGrid') - {!! $subscribers->render() !!} +
-@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/templates/index.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/templates/index.blade.php index 4db472fe2..a48a5f382 100755 --- a/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/templates/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/email-marketing/templates/index.blade.php @@ -19,9 +19,7 @@
- - {!! app('Webkul\Admin\DataGrids\EmailTemplateDataGrid')->render() !!} - +
-@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/edit.blade.php index 7278058c7..c6ea55bbf 100644 --- a/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/edit.blade.php @@ -39,7 +39,6 @@
-
@@ -172,13 +171,11 @@ sort_order ? 'checked' : '' }}/>
-
-
@@ -194,18 +191,16 @@ :key="index" :index="index" @onRemoveCondition="removeCondition($event)"> - + -
-
@@ -307,20 +302,19 @@
-
{!! view_render_event('bagisto.admin.promotions.cart-rules.create.after') !!} + + +
+ +
+
- - -
- -
-
@@ -416,29 +410,28 @@ @push('scripts') - @include('admin::export.export', ['gridName' => $cartRuleCouponGrid]) + @include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\CartRuleCouponDataGrid')]) @endpush -@endpush \ No newline at end of file +@endpush diff --git a/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/index.blade.php b/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/index.blade.php index 01a94bfdf..b22af38e5 100644 --- a/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/marketing/promotions/cart-rules/index.blade.php @@ -8,6 +8,7 @@
@php $customer_group = core()->getRequestedCustomerGroupCode(); + $channel = core()->getRequestedChannelCode(false); @endphp @@ -24,8 +25,7 @@
- @inject('cartRuleGrid','Webkul\Admin\DataGrids\CartRuleDataGrid') - {!! $cartRuleGrid->render() !!} +
@endsection @@ -34,6 +34,7 @@ -@endpush \ No newline at end of file +@endpush diff --git a/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/index.blade.php b/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/index.blade.php index 2fce5bc6d..1583a8fae 100755 --- a/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/tax/tax-categories/index.blade.php @@ -19,8 +19,7 @@
- @inject('taxCategories','Webkul\Admin\DataGrids\TaxCategoryDataGrid') - {!! $taxCategories->render() !!} +
-@stop \ No newline at end of file +@stop diff --git a/packages/Webkul/Admin/src/Resources/views/tax/tax-rates/index.blade.php b/packages/Webkul/Admin/src/Resources/views/tax/tax-rates/index.blade.php index 0b92e24a5..f9765d246 100755 --- a/packages/Webkul/Admin/src/Resources/views/tax/tax-rates/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/tax/tax-rates/index.blade.php @@ -5,23 +5,22 @@ @stop @push('css') - - + @endpush @section('content') @@ -34,12 +33,15 @@
+ {{ __('admin::app.export.import') }}
+
+ {{ __('admin::app.export.export') }} @@ -52,13 +54,13 @@
- @inject('taxRateGrid', 'Webkul\Admin\DataGrids\TaxRateDataGrid') - {!! $taxRateGrid->render() !!} +

{{ __('admin::app.export.download') }}

+
@@ -66,15 +68,20 @@

{{ __('admin::app.export.upload') }}

-
+
@csrf() +
+ + {{ __('admin::app.export.allowed-type') }} + {{ __('admin::app.export.file-type') }} + @{{ errors.first('file') }}
@@ -82,12 +89,10 @@ {{ __('admin::app.export.import') }}
-
- @endsection @push('scripts') - @include('admin::export.export', ['gridName' => $taxRateGrid]) -@endpush \ No newline at end of file + @include('admin::export.export', ['gridName' => app('Webkul\Admin\DataGrids\TaxRateDataGrid')]) +@endpush diff --git a/packages/Webkul/Admin/src/Resources/views/users/roles/index.blade.php b/packages/Webkul/Admin/src/Resources/views/users/roles/index.blade.php index 717fa45f1..42fe68b59 100755 --- a/packages/Webkul/Admin/src/Resources/views/users/roles/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/users/roles/index.blade.php @@ -19,8 +19,7 @@
- @inject('roles','Webkul\Admin\DataGrids\RolesDataGrid') - {!! $roles->render() !!} +
@stop diff --git a/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php b/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php index 9a0e918a3..e73c93ca5 100755 --- a/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/users/users/index.blade.php @@ -5,12 +5,12 @@ @stop @section('content') -
- @stop diff --git a/packages/Webkul/Admin/src/Routes/marketing-routes.php b/packages/Webkul/Admin/src/Routes/marketing-routes.php index f76e494e5..559ea9baa 100644 --- a/packages/Webkul/Admin/src/Routes/marketing-routes.php +++ b/packages/Webkul/Admin/src/Routes/marketing-routes.php @@ -43,9 +43,14 @@ Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => conf Route::post('cart-rules/delete/{id}', [CartRuleController::class, 'destroy'])->name('admin.cart-rules.delete'); - Route::post('cart-rules/generate-coupons/{id?}', [CartRuleController::class, 'generateCoupons'])->name('admin.cart-rules.generate-coupons'); + /** + * Cart rule coupons routes. + */ + Route::get('cart-rule-coupons/{id}', [CartRuleCouponController::class, 'index'])->name('admin.cart-rules-coupons.index'); - Route::post('/massdelete', [CartRuleCouponController::class, 'massDelete'])->name('admin.cart-rule-coupons.mass-delete'); + Route::post('cart-rule-coupons/{id}', [CartRuleController::class, 'store'])->name('admin.cart-rules-coupons.store'); + + Route::post('cart-rule-coupons/mass-delete', [CartRuleCouponController::class, 'massDelete'])->name('admin.cart-rule-coupons.mass-delete'); /** * Catalog rules routes. @@ -167,4 +172,4 @@ Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => conf 'redirect' => 'admin.customers.subscribers.index', ])->name('admin.customers.subscribers.update'); }); -}); \ No newline at end of file +}); diff --git a/packages/Webkul/Admin/src/Routes/sales-routes.php b/packages/Webkul/Admin/src/Routes/sales-routes.php index 2e17b868c..26202f95a 100644 --- a/packages/Webkul/Admin/src/Routes/sales-routes.php +++ b/packages/Webkul/Admin/src/Routes/sales-routes.php @@ -55,6 +55,9 @@ Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => conf 'view' => 'admin::sales.invoices.print', ])->name('admin.sales.invoices.print'); + Route::get('/invoices/{id}/transactions', [InvoiceController::class, 'invoiceTransactions']) + ->name('admin.sales.invoices.transactions'); + /** * Shipments routes. */ diff --git a/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php b/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php index f0e17bd95..58414e914 100755 --- a/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php +++ b/packages/Webkul/Attribute/src/Http/Controllers/AttributeController.php @@ -2,6 +2,7 @@ namespace Webkul\Attribute\Http\Controllers; +use Webkul\Admin\DataGrids\AttributeDataGrid; use Webkul\Attribute\Repositories\AttributeRepository; class AttributeController extends Controller @@ -40,6 +41,10 @@ class AttributeController extends Controller */ public function index() { + if (request()->ajax()) { + return app(AttributeDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php b/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php index af0fa058b..ac5bff95b 100755 --- a/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php +++ b/packages/Webkul/Attribute/src/Http/Controllers/AttributeFamilyController.php @@ -2,27 +2,28 @@ namespace Webkul\Attribute\Http\Controllers; +use Webkul\Admin\DataGrids\AttributeFamilyDataGrid; use Webkul\Attribute\Repositories\AttributeFamilyRepository; use Webkul\Attribute\Repositories\AttributeRepository; class AttributeFamilyController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ protected $_config; /** - * AttributeFamilyRepository object + * Attribute family repository instance. * * @var \Webkul\Attribute\Repositories\AttributeFamilyRepository */ protected $attributeFamilyRepository; /** - * AttributeRepository object + * Attribute repository instance. * * @var \Webkul\Attribute\Repositories\AttributeRepository */ @@ -38,8 +39,7 @@ class AttributeFamilyController extends Controller public function __construct( AttributeFamilyRepository $attributeFamilyRepository, AttributeRepository $attributeRepository - ) - { + ) { $this->attributeFamilyRepository = $attributeFamilyRepository; $this->attributeRepository = $attributeRepository; @@ -54,6 +54,10 @@ class AttributeFamilyController extends Controller */ public function index() { + if (request()->ajax()) { + return app(AttributeFamilyDataGrid::class)->toJson(); + } + return view($this->_config['view']); } @@ -157,7 +161,7 @@ class AttributeFamilyController extends Controller } /** - * Remove the specified resources from database + * Remove the specified resources from database. * * @return \Illuminate\Http\Response */ @@ -192,4 +196,4 @@ class AttributeFamilyController extends Controller return redirect()->back(); } } -} \ No newline at end of file +} diff --git a/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php b/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php index ea2686f1a..f67048194 100644 --- a/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php +++ b/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php @@ -2,20 +2,21 @@ namespace Webkul\CMS\Http\Controllers\Admin; +use Webkul\Admin\DataGrids\CMSPageDataGrid; use Webkul\CMS\Http\Controllers\Controller; use Webkul\CMS\Repositories\CmsRepository; - class PageController extends Controller +class PageController extends Controller { /** - * To hold the request variables from route file + * To hold the request variables from route file. * * @var array */ protected $_config; /** - * To hold the CMSRepository instance + * To hold the CMS repository instance. * * @var \Webkul\CMS\Repositories\CmsRepository */ @@ -37,17 +38,21 @@ use Webkul\CMS\Repositories\CmsRepository; } /** - * Loads the index page showing the static pages resources + * Loads the index page showing the static pages resources. * * @return \Illuminate\View\View */ public function index() { + if (request()->ajax()) { + return app(CMSPageDataGrid::class)->toJson(); + } + return view($this->_config['view']); } /** - * To create a new CMS page + * To create a new CMS page. * * @return \Illuminate\View\View */ @@ -57,7 +62,7 @@ use Webkul\CMS\Repositories\CmsRepository; } /** - * To store a new CMS page in storage + * To store a new CMS page in storage. * * @return \Illuminate\Http\Response */ @@ -80,7 +85,7 @@ use Webkul\CMS\Repositories\CmsRepository; } /** - * To edit a previously created CMS page + * To edit a previously created CMS page. * * @param int $id * @return \Illuminate\View\View @@ -93,7 +98,7 @@ use Webkul\CMS\Repositories\CmsRepository; } /** - * To update the previously created CMS page in storage + * To update the previously created CMS page in storage. * * @param int $id * @return \Illuminate\Http\Response @@ -121,7 +126,7 @@ use Webkul\CMS\Repositories\CmsRepository; } /** - * To delete the previously create CMS page + * To delete the previously create CMS page. * * @param int $id * @return \Illuminate\Http\Response @@ -134,15 +139,15 @@ use Webkul\CMS\Repositories\CmsRepository; session()->flash('success', trans('admin::app.cms.pages.delete-success')); return response()->json(['message' => true], 200); - } else { - session()->flash('success', trans('admin::app.cms.pages.delete-failure')); - - return response()->json(['message' => false], 200); } + + session()->flash('success', trans('admin::app.cms.pages.delete-failure')); + + return response()->json(['message' => false], 200); } /** - * To mass delete the CMS resource from storage + * To mass delete the CMS resource from storage. * * @return \Illuminate\Http\Response */ @@ -180,4 +185,4 @@ use Webkul\CMS\Repositories\CmsRepository; return redirect()->route('admin.cms.index'); } -} \ No newline at end of file +} diff --git a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php index 746ac174a..24d02af74 100644 --- a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php +++ b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php @@ -6,7 +6,7 @@ use Exception; use Illuminate\Http\Request; use Illuminate\Validation\ValidationException; use Illuminate\View\View; -use Webkul\CartRule\Repositories\CartRuleCouponRepository; +use Webkul\Admin\DataGrids\CartRuleDataGrid; use Webkul\CartRule\Repositories\CartRuleRepository; class CartRuleController extends Controller @@ -25,30 +25,18 @@ class CartRuleController extends Controller */ protected $cartRuleRepository; - /** - * To hold cart rule coupon repository repository instance. - * - * @var \Webkul\CartRule\Repositories\CartRuleCouponRepository - */ - protected $cartRuleCouponRepository; - /** * Create a new controller instance. * * @param \Webkul\CartRule\Repositories\CartRuleRepository $cartRuleRepository - * @param \Webkul\CartRule\Repositories\CartRuleCouponRepository $cartRuleCouponRepository - * * @return void */ public function __construct( - CartRuleRepository $cartRuleRepository, - CartRuleCouponRepository $cartRuleCouponRepository + CartRuleRepository $cartRuleRepository ) { $this->_config = request('_config'); $this->cartRuleRepository = $cartRuleRepository; - - $this->cartRuleCouponRepository = $cartRuleCouponRepository; } /** @@ -58,6 +46,10 @@ class CartRuleController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CartRuleDataGrid::class)->toJson(); + } + return view($this->_config['view']); } @@ -229,26 +221,4 @@ class CartRuleController extends Controller return response()->json(['message' => false], 400); } - - /** - * Generate coupon code for cart rule. - * - * @return \Illuminate\Http\JsonResponse - */ - public function generateCoupons() - { - $this->validate(request(), [ - 'coupon_qty' => 'required|integer|min:1', - 'code_length' => 'required|integer|min:10', - 'code_format' => 'required', - ]); - - if (! request('id')) { - return response()->json(['message' => trans('admin::app.promotions.cart-rules.cart-rule-not-defind-error')], 400); - } - - $this->cartRuleCouponRepository->generateCoupons(request()->all(), request('id')); - - return response()->json(['message' => trans('admin::app.response.create-success', ['name' => 'Cart rule coupons'])]); - } } diff --git a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleCouponController.php b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleCouponController.php index 266ba9ade..40a2204a9 100644 --- a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleCouponController.php +++ b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleCouponController.php @@ -2,14 +2,14 @@ namespace Webkul\CartRule\Http\Controllers; -use Illuminate\Http\Request; +use Webkul\Admin\DataGrids\CartRuleCouponDataGrid; use Webkul\CartRule\Repositories\CartRuleCouponRepository; class CartRuleCouponController extends Controller { /** - * To hold CartRuleCouponRepository repository instance - * + * To hold cart rule coupon repository instance. + * * @var \Webkul\CartRule\Repositories\CartRuleCouponRepository */ protected $cartRuleCouponRepository; @@ -26,7 +26,41 @@ class CartRuleCouponController extends Controller } /** - * Mass Delete the coupons + * Index. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function index($id) + { + return app(CartRuleCouponDataGrid::class)->toJson(); + } + + /** + * Generate coupon code for cart rule. + * + * @return \Illuminate\Http\JsonResponse + */ + public function store($id) + { + dd('here'); + $this->validate(request(), [ + 'coupon_qty' => 'required|integer|min:1', + 'code_length' => 'required|integer|min:10', + 'code_format' => 'required', + ]); + + if (! request('id')) { + return response()->json(['message' => trans('admin::app.promotions.cart-rules.cart-rule-not-defind-error')], 400); + } + + $this->cartRuleCouponRepository->generateCoupons(request()->all(), request('id')); + + return response()->json(['message' => trans('admin::app.response.create-success', ['name' => 'Cart rule coupons'])]); + } + + /** + * Mass delete the coupons. * * @param int $id * @return \Illuminate\Http\Response @@ -47,4 +81,4 @@ class CartRuleCouponController extends Controller return redirect()->back(); } -} \ No newline at end of file +} diff --git a/packages/Webkul/CatalogRule/src/Http/Controllers/CatalogRuleController.php b/packages/Webkul/CatalogRule/src/Http/Controllers/CatalogRuleController.php index 4c85e9336..f420240c1 100644 --- a/packages/Webkul/CatalogRule/src/Http/Controllers/CatalogRuleController.php +++ b/packages/Webkul/CatalogRule/src/Http/Controllers/CatalogRuleController.php @@ -3,6 +3,7 @@ namespace Webkul\CatalogRule\Http\Controllers; use Illuminate\Http\Request; +use Webkul\Admin\DataGrids\CatalogRuleDataGrid; use Webkul\CatalogRule\Helpers\CatalogRuleIndex; use Webkul\CatalogRule\Repositories\CatalogRuleRepository; @@ -54,6 +55,10 @@ class CatalogRuleController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CatalogRuleDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php index e812383ad..33964491a 100755 --- a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php +++ b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php @@ -2,6 +2,7 @@ namespace Webkul\Category\Http\Controllers; +use Webkul\Admin\DataGrids\CategoryDataGrid; use Webkul\Attribute\Repositories\AttributeRepository; use Webkul\Category\Http\Requests\CategoryRequest; use Webkul\Category\Repositories\CategoryRepository; @@ -55,6 +56,10 @@ class CategoryController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CategoryDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Core/src/Http/Controllers/ChannelController.php b/packages/Webkul/Core/src/Http/Controllers/ChannelController.php index 0446ac082..bc14dfd0f 100755 --- a/packages/Webkul/Core/src/Http/Controllers/ChannelController.php +++ b/packages/Webkul/Core/src/Http/Controllers/ChannelController.php @@ -2,6 +2,7 @@ namespace Webkul\Core\Http\Controllers; +use Webkul\Admin\DataGrids\ChannelDataGrid; use Webkul\Core\Repositories\ChannelRepository; class ChannelController extends Controller @@ -40,6 +41,10 @@ class ChannelController extends Controller */ public function index() { + if (request()->ajax()) { + return app(ChannelDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php index 59d3917c3..c6d289986 100755 --- a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php +++ b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php @@ -2,6 +2,7 @@ namespace Webkul\Core\Http\Controllers; +use Webkul\Admin\DataGrids\CurrencyDataGrid; use Webkul\Core\Repositories\CurrencyRepository; class CurrencyController extends Controller @@ -40,6 +41,10 @@ class CurrencyController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CurrencyDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php b/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php index 84444a04a..96d22aad4 100755 --- a/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php +++ b/packages/Webkul/Core/src/Http/Controllers/ExchangeRateController.php @@ -2,6 +2,7 @@ namespace Webkul\Core\Http\Controllers; +use Webkul\Admin\DataGrids\ExchangeRatesDataGrid; use Webkul\Core\Repositories\CurrencyRepository; use Webkul\Core\Repositories\ExchangeRateRepository; @@ -53,6 +54,10 @@ class ExchangeRateController extends Controller */ public function index() { + if (request()->ajax()) { + return app(ExchangeRatesDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php index 73126af01..6f6c49733 100755 --- a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php +++ b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php @@ -2,6 +2,7 @@ namespace Webkul\Core\Http\Controllers; +use Webkul\Admin\DataGrids\LocalesDataGrid; use Webkul\Core\Repositories\LocaleRepository; class LocaleController extends Controller @@ -40,6 +41,10 @@ class LocaleController extends Controller */ public function index() { + if (request()->ajax()) { + return app(LocalesDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Core/src/Http/Controllers/SliderController.php b/packages/Webkul/Core/src/Http/Controllers/SliderController.php index a1a1314a7..6685f1851 100755 --- a/packages/Webkul/Core/src/Http/Controllers/SliderController.php +++ b/packages/Webkul/Core/src/Http/Controllers/SliderController.php @@ -2,6 +2,7 @@ namespace Webkul\Core\Http\Controllers; +use Webkul\Admin\DataGrids\SliderDataGrid; use Webkul\Core\Repositories\SliderRepository; class SliderController extends Controller @@ -47,6 +48,10 @@ class SliderController extends Controller */ public function index() { + if (request()->ajax()) { + return app(SliderDataGrid::class)->toJson(); + } + return view($this->_config['view']); } @@ -59,7 +64,7 @@ class SliderController extends Controller { $locale = core()->getRequestedLocaleCode(); - return view($this->_config['view'])->with("locale", $locale); + return view($this->_config['view'])->with('locale', $locale); } /** @@ -123,7 +128,7 @@ class SliderController extends Controller ]); $data = request()->all(); - + $data['expired_at'] = $data['expired_at'] ?: null; if (isset($data['locale'])) { diff --git a/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php b/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php index f6fb83eca..3c4a7861b 100755 --- a/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php +++ b/packages/Webkul/Core/src/Http/Controllers/SubscriptionController.php @@ -2,21 +2,20 @@ namespace Webkul\Core\Http\Controllers; -use Illuminate\Http\Request; -use Illuminate\Http\Response; +use Webkul\Admin\DataGrids\NewsLetterDataGrid; use Webkul\Core\Repositories\SubscribersListRepository; class SubscriptionController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ protected $_config; /** - * SubscribersListRepository + * Subscribers list repository. * * @var \Webkul\Core\Repositories\SubscribersListRepository */ @@ -42,11 +41,15 @@ class SubscriptionController extends Controller */ public function index() { + if (request()->ajax()) { + return app(NewsLetterDataGrid::class)->toJson(); + } + return view($this->_config['view']); } /** - * To unsubscribe the user without deleting the resource of the subscribed user + * To unsubscribe the user without deleting the resource of the subscribed user. * * @param int $id * @return \Illuminate\View\View @@ -59,7 +62,7 @@ class SubscriptionController extends Controller } /** - * To unsubscribe the user without deleting the resource of the subscribed user + * To unsubscribe the user without deleting the resource of the subscribed user. * * @param int $id * @return \Illuminate\Http\Response @@ -112,4 +115,4 @@ class SubscriptionController extends Controller return response()->json(['message' => false], 400); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php index b2af08a87..9aa8a324d 100755 --- a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php +++ b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php @@ -2,6 +2,7 @@ namespace Webkul\Inventory\Http\Controllers; +use Webkul\Admin\DataGrids\InventorySourcesDataGrid; use Webkul\Inventory\Http\Requests\InventorySourceRequest; use Webkul\Inventory\Repositories\InventorySourceRepository; @@ -41,6 +42,10 @@ class InventorySourceController extends Controller */ public function index() { + if (request()->ajax()) { + return app(InventorySourcesDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Marketing/src/Http/Controllers/CampaignController.php b/packages/Webkul/Marketing/src/Http/Controllers/CampaignController.php index 1d621a48c..bfcfef91d 100644 --- a/packages/Webkul/Marketing/src/Http/Controllers/CampaignController.php +++ b/packages/Webkul/Marketing/src/Http/Controllers/CampaignController.php @@ -2,6 +2,7 @@ namespace Webkul\Marketing\Http\Controllers; +use Webkul\Admin\DataGrids\CampaignDataGrid; use Webkul\Marketing\Repositories\CampaignRepository; class CampaignController extends Controller @@ -40,6 +41,10 @@ class CampaignController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CampaignDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Marketing/src/Http/Controllers/EventController.php b/packages/Webkul/Marketing/src/Http/Controllers/EventController.php index fe2642d50..a169c263e 100644 --- a/packages/Webkul/Marketing/src/Http/Controllers/EventController.php +++ b/packages/Webkul/Marketing/src/Http/Controllers/EventController.php @@ -2,6 +2,7 @@ namespace Webkul\Marketing\Http\Controllers; +use Webkul\Admin\DataGrids\EventDataGrid; use Webkul\Marketing\Repositories\EventRepository; class EventController extends Controller @@ -40,6 +41,10 @@ class EventController extends Controller */ public function index() { + if (request()->ajax()) { + return app(EventDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Marketing/src/Http/Controllers/TemplateController.php b/packages/Webkul/Marketing/src/Http/Controllers/TemplateController.php index dfea037d5..74c4c06f1 100644 --- a/packages/Webkul/Marketing/src/Http/Controllers/TemplateController.php +++ b/packages/Webkul/Marketing/src/Http/Controllers/TemplateController.php @@ -2,6 +2,7 @@ namespace Webkul\Marketing\Http\Controllers; +use Webkul\Admin\DataGrids\EmailTemplateDataGrid; use Webkul\Marketing\Repositories\TemplateRepository; class TemplateController extends Controller @@ -40,6 +41,10 @@ class TemplateController extends Controller */ public function index() { + if (request()->ajax()) { + return app(EmailTemplateDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Product/src/Http/Controllers/ProductController.php b/packages/Webkul/Product/src/Http/Controllers/ProductController.php index ef5542c85..8addea404 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ProductController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ProductController.php @@ -5,6 +5,7 @@ namespace Webkul\Product\Http\Controllers; use Exception; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Storage; +use Webkul\Admin\DataGrids\ProductDataGrid; use Webkul\Attribute\Repositories\AttributeFamilyRepository; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Core\Contracts\Validations\Slug; @@ -131,6 +132,10 @@ class ProductController extends Controller */ public function index() { + if (request()->ajax()) { + return app(ProductDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php index bbde28c44..d27621f5d 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php @@ -3,6 +3,7 @@ namespace Webkul\Product\Http\Controllers; use Illuminate\Support\Facades\Event; +use Webkul\Admin\DataGrids\CustomerReviewDataGrid; use Webkul\Product\Repositories\ProductReviewRepository; class ReviewController extends Controller @@ -41,6 +42,10 @@ class ReviewController extends Controller */ public function index() { + if (request()->ajax()) { + return app(CustomerReviewDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Tax/src/Http/Controllers/TaxController.php b/packages/Webkul/Tax/src/Http/Controllers/TaxController.php index cfbedb960..070269e57 100755 --- a/packages/Webkul/Tax/src/Http/Controllers/TaxController.php +++ b/packages/Webkul/Tax/src/Http/Controllers/TaxController.php @@ -2,10 +2,12 @@ namespace Webkul\Tax\Http\Controllers; +use Webkul\Admin\DataGrids\TaxCategoryDataGrid; + class TaxController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ @@ -26,10 +28,14 @@ class TaxController extends Controller /** * Display a listing of the resource. * - * @return \Illuminate\View\View + * @return \Illuminate\View\View */ public function index() { + if (request()->ajax()) { + return app(TaxCategoryDataGrid::class)->toJson(); + } + return view($this->_config['view']); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php b/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php index 96478b197..3d91d2d1e 100755 --- a/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php +++ b/packages/Webkul/Tax/src/Http/Controllers/TaxRateController.php @@ -4,6 +4,7 @@ namespace Webkul\Tax\Http\Controllers; use Illuminate\Support\Facades\Validator; use Maatwebsite\Excel\Validators\Failure; +use Webkul\Admin\DataGrids\TaxRateDataGrid; use Webkul\Admin\Imports\DataGridImport; use Webkul\Tax\Repositories\TaxRateRepository; @@ -53,6 +54,10 @@ class TaxRateController extends Controller */ public function show() { + if (request()->ajax()) { + return app(TaxRateDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index 5e74c4308..aa431000b 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -2,15 +2,16 @@ namespace Webkul\Ui\DataGrid; -use Illuminate\Support\Str; use Illuminate\Support\Facades\Event; +use Illuminate\Support\Str; use Webkul\Ui\DataGrid\Traits\ProvideBouncer; use Webkul\Ui\DataGrid\Traits\ProvideCollection; +use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus; use Webkul\Ui\DataGrid\Traits\ProvideExceptionHandler; abstract class DataGrid { - use ProvideBouncer, ProvideCollection, ProvideExceptionHandler; + use ProvideBouncer, ProvideCollection, ProvideDataGridPlus, ProvideExceptionHandler; /** * Set index columns, ex: id. @@ -48,7 +49,6 @@ abstract class DataGrid */ protected $columns = []; - /** * Complete column details. * @@ -392,7 +392,7 @@ abstract class DataGrid 'paginated' => $this->paginate, 'itemsPerPage' => $this->itemsPerPage, 'norecords' => __('ui::app.datagrid.no-records'), - 'extraFilters' => $this->getNecessaryExtraFilters() + 'extraFilters' => $this->getNecessaryExtraFilters(), ]; } @@ -429,7 +429,7 @@ abstract class DataGrid $checks = [ 'channels' => core()->getAllChannels(), 'locales' => core()->getAllLocales(), - 'customer_groups' => core()->getAllCustomerGroups() + 'customer_groups' => core()->getAllCustomerGroups(), ]; foreach ($checks as $key => $val) { diff --git a/packages/Webkul/User/src/Http/Controllers/RoleController.php b/packages/Webkul/User/src/Http/Controllers/RoleController.php index 19946a57d..5296f6dab 100755 --- a/packages/Webkul/User/src/Http/Controllers/RoleController.php +++ b/packages/Webkul/User/src/Http/Controllers/RoleController.php @@ -2,6 +2,7 @@ namespace Webkul\User\Http\Controllers; +use Webkul\Admin\DataGrids\RolesDataGrid; use Webkul\User\Repositories\AdminRepository; use Webkul\User\Repositories\RoleRepository; @@ -55,6 +56,10 @@ class RoleController extends Controller */ public function index() { + if (request()->ajax()) { + return app(RolesDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/User/src/Http/Controllers/UserController.php b/packages/Webkul/User/src/Http/Controllers/UserController.php index 6e813a2ae..4f930808b 100755 --- a/packages/Webkul/User/src/Http/Controllers/UserController.php +++ b/packages/Webkul/User/src/Http/Controllers/UserController.php @@ -5,6 +5,7 @@ namespace Webkul\User\Http\Controllers; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; +use Webkul\Admin\DataGrids\UserDataGrid; use Webkul\User\Http\Requests\UserForm; use Webkul\User\Repositories\AdminRepository; use Webkul\User\Repositories\RoleRepository; @@ -59,6 +60,10 @@ class UserController extends Controller */ public function index() { + if (request()->ajax()) { + return app(UserDataGrid::class)->toJson(); + } + return view($this->_config['view']); } diff --git a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php index 5b8360a28..0bb9528b3 100644 --- a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php +++ b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ContentController.php @@ -2,24 +2,24 @@ namespace Webkul\Velocity\Http\Controllers\Admin; -use Illuminate\Http\Response; use Webkul\Product\Repositories\ProductRepository; +use Webkul\Velocity\DataGrids\ContentDataGrid; use Webkul\Velocity\Repositories\ContentRepository; class ContentController extends Controller { /** - * ProductRepository object + * Product repository instance. * * @var \Webkul\Product\Repositories\ProductRepository - */ + */ protected $productRepository; /** - * ContentRepository object + * Content repository instance. * * @var \Webkul\Velocity\Repositories\ContentRepository - */ + */ protected $contentRepository; /** @@ -39,6 +39,7 @@ class ContentController extends Controller $this->_config = request('_config'); } + /** * Display a listing of the resource. * @@ -46,14 +47,18 @@ class ContentController extends Controller */ public function index() { + if (request()->ajax()) { + return app(ContentDataGrid::class)->toJson(); + } + return view($this->_config['view']); } /** - * Search for catalog + * Search for catalog. * * @return \Illuminate\View\View - */ + */ public function search() { $results = []; @@ -160,7 +165,7 @@ class ContentController extends Controller } /** - * Mass Delete the products + * Mass delete the products. * * @return \Illuminate\Http\Response */ @@ -183,7 +188,7 @@ class ContentController extends Controller } /** - * To mass update the content + * To mass update the content. * * @return \Illuminate\Http\Response */ @@ -202,4 +207,4 @@ class ContentController extends Controller return redirect()->back(); } -} \ No newline at end of file +} diff --git a/tests/_support/ApiTester.php b/tests/_support/ApiTester.php index f7b177246..f814983bb 100644 --- a/tests/_support/ApiTester.php +++ b/tests/_support/ApiTester.php @@ -13,6 +13,7 @@ use Webkul\Product\Models\ProductInventory; /** * Inherited methods. + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) diff --git a/tests/_support/FunctionalTester.php b/tests/_support/FunctionalTester.php index 673aa0fdb..84effa6e1 100644 --- a/tests/_support/FunctionalTester.php +++ b/tests/_support/FunctionalTester.php @@ -9,6 +9,7 @@ use Webkul\User\Models\Admin; /** * Inherited methods. + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) @@ -29,8 +30,8 @@ class FunctionalTester extends Actor /** * Set the logged in user to the admin identity. * - * @param \Webkul\User\Models\Admin|null $admin - * @return Admin + * @param \Webkul\User\Models\Admin|null $admin + * @return \Webkul\User\Models\Admin * * @throws \Exception */ @@ -58,8 +59,8 @@ class FunctionalTester extends Actor /** * Set the logged in user to the customer identity. * - * @param \Webkul\User\Models\Customer|null $customer - * @return Customer + * @param \Webkul\User\Models\Customer|null $customer + * @return \Webkul\Customer\Models\Customer * * @throws \Exception */ @@ -101,11 +102,11 @@ class FunctionalTester extends Actor } /** - * Set specific Webkul/Core configuration keys to a given value. + * Set specific `Webkul/Core` configuration keys to a given value. * * TODO: Change method as soon as there is a method to set core config data. * - * @param $data array containing 'code => value' pairs + * @param array $data * @return void */ public function setConfigData($data): void diff --git a/packages/Webkul/Core/src/Helpers/Laravel5Helper.php b/tests/_support/Helper/Bagisto.php similarity index 92% rename from packages/Webkul/Core/src/Helpers/Laravel5Helper.php rename to tests/_support/Helper/Bagisto.php index ad80203e9..36bb0a048 100644 --- a/packages/Webkul/Core/src/Helpers/Laravel5Helper.php +++ b/tests/_support/Helper/Bagisto.php @@ -1,36 +1,28 @@ numberBetween(1, 666); + $grand_total = (string) $faker->numberBetween(1, 666); $base_grand_total = $grand_total; } @@ -165,7 +157,6 @@ class Laravel5Helper extends Laravel session()->invalidate(); } - /** * Helper function to generate products for testing. * @@ -275,12 +266,12 @@ class Laravel5Helper extends Laravel private function createProduct(array $attributes = [], array $states = []): Product { return Product::factory() - ->state(function () use ($states) { - return [ - 'type' => $states[0], - ]; - }) - ->create($attributes); + ->state(function () use ($states) { + return [ + 'type' => $states[0], + ]; + }) + ->create($attributes); } private function createInventory(int $productId, array $inventoryConfig = []): void @@ -323,12 +314,12 @@ class Laravel5Helper extends Laravel $faker = Factory::create(); $brand = Attribute::query() - ->where(['code' => 'brand']) - ->firstOrFail(); // usually 25 + ->where(['code' => 'brand']) + ->firstOrFail(); // usually 25 - if (!AttributeOption::query() - ->where(['attribute_id' => $brand->id]) - ->exists()) { + if (! AttributeOption::query() + ->where(['attribute_id' => $brand->id]) + ->exists()) { AttributeOption::create([ 'admin_name' => 'Webkul Demo Brand (c) 2020', 'attribute_id' => $brand->id, @@ -356,16 +347,16 @@ class Laravel5Helper extends Laravel 'weight' => '1.00', // necessary for shipping 'brand' => AttributeOption::query() - ->firstWhere('attribute_id', $brand->id)->id, + ->firstWhere('attribute_id', $brand->id)->id, ]; $attributeValues = array_merge($defaultAttributeValues, $attributeValues); /** @var array $possibleAttributeValues list of the possible attributes a product can have */ $possibleAttributeValues = DB::table('attributes') - ->select('id', 'code', 'type') - ->get() - ->toArray(); + ->select('id', 'code', 'type') + ->get() + ->toArray(); foreach ($possibleAttributeValues as $attributeSet) { $data = [ diff --git a/tests/_support/Helper/DataMocker.php b/tests/_support/Helper/DataMocker.php index b90b5fddb..830b71f44 100644 --- a/tests/_support/Helper/DataMocker.php +++ b/tests/_support/Helper/DataMocker.php @@ -2,11 +2,10 @@ namespace Helper; -use Codeception\Module; use Faker\Factory; use Faker\Generator; -class DataMocker extends Module +class DataMocker extends \Codeception\Module { /** * Faker instance. diff --git a/tests/_support/TriggerTester.php b/tests/_support/TriggerTester.php index fde62c4f4..0feaa199a 100644 --- a/tests/_support/TriggerTester.php +++ b/tests/_support/TriggerTester.php @@ -2,6 +2,7 @@ /** * Inherited methods. + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) diff --git a/tests/_support/UnitTester.php b/tests/_support/UnitTester.php index db8316281..842efdd29 100644 --- a/tests/_support/UnitTester.php +++ b/tests/_support/UnitTester.php @@ -4,6 +4,7 @@ use Codeception\Stub; /** * Inherited methods. + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) diff --git a/tests/api.suite.yml b/tests/api.suite.yml index eedce9a0c..49edf17b5 100644 --- a/tests/api.suite.yml +++ b/tests/api.suite.yml @@ -6,9 +6,9 @@ modules: - \Helper\DataMocker - Laravel: cleanup: true - database_seeder_class: DatabaseSeeder environment_file: .env.testing - parts: ORM + database_seeder_class: DatabaseSeeder + packages: packages run_database_migrations: false run_database_seeder: false - REST: diff --git a/tests/functional.suite.yml b/tests/functional.suite.yml index 44d424012..90795a1e5 100644 --- a/tests/functional.suite.yml +++ b/tests/functional.suite.yml @@ -1,15 +1,15 @@ actor: FunctionalTester modules: enabled: - - \Helper\Functional - - \Helper\DataMocker - Asserts - - Webkul\Core\Helpers\Laravel5Helper: - environment_file: .env.testing - packages: packages + - \Helper\DataMocker + - \Helper\Functional + - \Helper\Bagisto: cleanup: false + environment_file: .env.testing + database_seeder_class: DatabaseSeeder + packages: packages run_database_migrations: true run_database_seeder: true - database_seeder_class: DatabaseSeeder step_decorators: ~ diff --git a/tests/functional/Admin/Catalog/AttributeCest.php b/tests/functional/Admin/Catalog/AttributeCest.php index 01373339c..f9d208ec4 100644 --- a/tests/functional/Admin/Catalog/AttributeCest.php +++ b/tests/functional/Admin/Catalog/AttributeCest.php @@ -15,14 +15,13 @@ class AttributeCest */ public function testIndex(FunctionalTester $I): void { - $attribute = $I->have(Attribute::class); - $I->loginAsAdmin(); - + $I->amOnAdminRoute('admin.catalog.attributes.index'); $I->seeCurrentRouteIs('admin.catalog.attributes.index'); - $I->see("{$attribute->id}", '//script[@type="text/x-template"]'); + $I->sendAjaxGetRequest(route('admin.catalog.attributes.index')); + $I->seeResponseCodeIsSuccessful(); } /** @@ -64,7 +63,6 @@ class AttributeCest $I->amOnAdminRoute('admin.catalog.attributes.index'); $route = route('admin.catalog.attributes.edit', ['id' => $attribute->id]); - $I->seeInSource($route); $I->amOnPage($route); $I->seeCurrentRouteIs('admin.catalog.attributes.edit'); @@ -98,7 +96,7 @@ class AttributeCest 'price', 'boolean', 'select', - 'multiselect' + 'multiselect', ]), 'admin_name' => $I->fake()->firstName, ]; diff --git a/tests/functional/Admin/Catalog/AttributeFamilyCest.php b/tests/functional/Admin/Catalog/AttributeFamilyCest.php index d299371ea..2c0f9b09d 100644 --- a/tests/functional/Admin/Catalog/AttributeFamilyCest.php +++ b/tests/functional/Admin/Catalog/AttributeFamilyCest.php @@ -9,14 +9,13 @@ class AttributeFamilyCest { public function testIndex(FunctionalTester $I): void { - $attributeFamily = $I->have(AttributeFamily::class); + $I->loginAsAdmin(); - $I->loginAsAdmin(); - $I->amOnAdminRoute('admin.catalog.families.index'); $I->seeCurrentRouteIs('admin.catalog.families.index'); - $I->see("{$attributeFamily->id}", '//script[@type="text/x-template"]'); + $I->sendAjaxGetRequest(route('admin.catalog.families.index')); + $I->seeResponseCodeIsSuccessful(); } public function testCreate(FunctionalTester $I): void @@ -46,7 +45,6 @@ class AttributeFamilyCest $I->amOnAdminRoute('admin.catalog.families.index'); $route = route('admin.catalog.families.edit', ['id' => $attributeFamily->id]); - $I->seeInSource($route); $I->amOnPage($route); $I->seeCurrentRouteIs('admin.catalog.families.edit'); @@ -63,15 +61,12 @@ class AttributeFamilyCest $I->seeCurrentRouteIs('admin.catalog.families.index'); } - /** - * @param FunctionalTester $I - * - * @return array with the test-data - */ private function fillForm(FunctionalTester $I): array { $testData = [ - // code needs to match to: '/^[a-zA-Z]+[a-zA-Z0-9_]+$/' + /** + * Code needs to match: '/^[a-zA-Z]+[a-zA-Z0-9_]+$/' + */ 'code' => $I->fake()->word . strtr($I->fake()->uuid, ['-' => '_']), 'name' => $I->fake()->sentence, ]; diff --git a/tests/functional/Admin/Catalog/CategoryCest.php b/tests/functional/Admin/Catalog/CategoryCest.php index dfb67e641..00432577e 100644 --- a/tests/functional/Admin/Catalog/CategoryCest.php +++ b/tests/functional/Admin/Catalog/CategoryCest.php @@ -3,19 +3,17 @@ namespace Tests\Functional\Admin\Catalog; use FunctionalTester; -use Webkul\Category\Models\Category; class CategoryCest { public function testIndex(FunctionalTester $I): void { - $category = $I->have(Category::class); - $I->loginAsAdmin(); $I->amOnAdminRoute('admin.catalog.categories.index'); $I->seeCurrentRouteIs('admin.catalog.categories.index'); - $I->see("{$category->id}", '//script[@type="text/x-template"]'); + $I->sendAjaxGetRequest(route('admin.catalog.categories.index')); + $I->seeResponseCodeIsSuccessful(); } } diff --git a/tests/functional/Admin/Catalog/ProductCest.php b/tests/functional/Admin/Catalog/ProductCest.php index 7faf0b17a..6388dd25e 100644 --- a/tests/functional/Admin/Catalog/ProductCest.php +++ b/tests/functional/Admin/Catalog/ProductCest.php @@ -4,12 +4,11 @@ namespace Tests\Functional\Admin\Catalog; use Faker\Factory; use FunctionalTester; -use Webkul\Core\Models\Locale; -use Webkul\Product\Models\Product; use Webkul\Attribute\Models\Attribute; -use Webkul\Core\Helpers\Laravel5Helper; use Webkul\Attribute\Models\AttributeFamily; use Webkul\Attribute\Models\AttributeOption; +use Webkul\Core\Models\Locale; +use Webkul\Product\Models\Product; use Webkul\Product\Models\ProductAttributeValue; class ProductCest @@ -73,14 +72,13 @@ class ProductCest public function testIndex(FunctionalTester $I): void { - $product = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [], ['simple']); - $I->loginAsAdmin(); $I->amOnAdminRoute('admin.catalog.products.index'); $I->seeCurrentRouteIs('admin.catalog.products.index'); - - $I->see("{$product->id}", '//script[@type="text/x-template"]'); + + $I->sendAjaxGetRequest(route('admin.catalog.products.index')); + $I->seeResponseCodeIsSuccessful(); } public function selectEmptyAttributeOptionOnProductCreation(FunctionalTester $I): void @@ -131,13 +129,13 @@ class ProductCest $productAttribute = $I->grabRecord(ProductAttributeValue::class, [ 'product_id' => $product->id, 'attribute_id' => $this->attributeBrand->id, - 'integer_value' => $this->attributeBrandDefaultOption->id + 'integer_value' => $this->attributeBrandDefaultOption->id, ]); $I->seeRecord(ProductAttributeValue::class, [ 'product_id' => $product->id, 'attribute_id' => $this->attributeBrand->id, - 'integer_value' => $this->attributeBrandDefaultOption->id + 'integer_value' => $this->attributeBrandDefaultOption->id, ]); $I->assertNull($productAttribute->text_value); diff --git a/tests/functional/Admin/Customer/CustomerCest.php b/tests/functional/Admin/Customer/CustomerCest.php index dc2eff16d..9d2db2121 100644 --- a/tests/functional/Admin/Customer/CustomerCest.php +++ b/tests/functional/Admin/Customer/CustomerCest.php @@ -9,14 +9,13 @@ class CustomerCest { public function testIndex(FunctionalTester $I): void { - $customer = $I->have(Customer::class); - $I->loginAsAdmin(); - + $I->amOnAdminRoute('admin.customer.index'); $I->seeCurrentRouteIs('admin.customer.index'); - $I->see("{$customer->id}", '//script[@type="text/x-template"]'); + $I->sendAjaxGetRequest(route('admin.customer.index')); + $I->seeResponseCodeIsSuccessful(); } public function testCreate(FunctionalTester $I): void @@ -38,11 +37,6 @@ class CustomerCest $I->seeRecord(Customer::class, $testData); } - /** - * @param FunctionalTester $I - * - * @return array with the test-data - */ private function fillForm(FunctionalTester $I): array { $testData = [ @@ -57,9 +51,9 @@ class CustomerCest ]; $I->fillField('first_name', $testData['first_name']); - $I->fillField('last_name', $testData['last_name']); - $I->selectOption('gender', $testData['gender']); - $I->fillField('email', $testData['email']); + $I->fillField('last_name', $testData['last_name']); + $I->selectOption('gender', $testData['gender']); + $I->fillField('email', $testData['email']); return $testData; } diff --git a/tests/functional/Admin/Customer/GroupsCest.php b/tests/functional/Admin/Customer/GroupsCest.php index c12344048..f754c2468 100644 --- a/tests/functional/Admin/Customer/GroupsCest.php +++ b/tests/functional/Admin/Customer/GroupsCest.php @@ -13,7 +13,7 @@ class GroupsCest $I->loginAsAdmin(); - $I->amOnAdminRoute('admin.groups.index'); + $I->amOnAdminRoute('admin.groups.index'); $I->seeCurrentRouteIs('admin.groups.index'); $I->see("{$group->id}", '//script[@type="text/x-template"]'); diff --git a/tests/functional/Admin/Customer/NewsletterSubscriptionCest.php b/tests/functional/Admin/Customer/NewsletterSubscriptionCest.php index 336e4bf44..0bb7f07f8 100644 --- a/tests/functional/Admin/Customer/NewsletterSubscriptionCest.php +++ b/tests/functional/Admin/Customer/NewsletterSubscriptionCest.php @@ -12,10 +12,10 @@ class NewsletterSubscriptionCest $subscriber = $I->have(SubscribersList::class); $I->loginAsAdmin(); - + $I->amOnAdminRoute('admin.customers.subscribers.index'); $I->seeCurrentRouteIs('admin.customers.subscribers.index'); - + $I->see("{$subscriber->id}", '//script[@type="text/x-template"]'); } } diff --git a/tests/functional/Admin/Customer/ReviewCest.php b/tests/functional/Admin/Customer/ReviewCest.php index 9f8c2bb64..cc57efee1 100644 --- a/tests/functional/Admin/Customer/ReviewCest.php +++ b/tests/functional/Admin/Customer/ReviewCest.php @@ -3,21 +3,21 @@ namespace Tests\Functional\Admin\Customer; use FunctionalTester; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Product\Models\ProductReview; class ReviewCest { public function testIndex(FunctionalTester $I): void { - $product = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [], ['simple']); + $product = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [], ['simple']); $review = $I->have(ProductReview::class, ['product_id' => $product->id]); $I->loginAsAdmin(); - - $I->amOnAdminRoute('admin.customer.review.index'); + + $I->amOnAdminRoute('admin.customer.review.index'); $I->seeCurrentRouteIs('admin.customer.review.index'); - + $I->see("{$review->id}", '//script[@type="text/x-template"]'); } } diff --git a/tests/functional/Admin/Sales/OrderCest.php b/tests/functional/Admin/Sales/OrderCest.php index 6b3fa6d0a..85bfcca78 100644 --- a/tests/functional/Admin/Sales/OrderCest.php +++ b/tests/functional/Admin/Sales/OrderCest.php @@ -9,7 +9,7 @@ use Webkul\Sales\Models\Order; use Webkul\Sales\Models\OrderItem; use Webkul\Sales\Models\OrderAddress; use Webkul\Sales\Models\OrderPayment; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; class OrderCest { @@ -47,7 +47,7 @@ class OrderCest private function generateCashOnDeliveryOrder(FunctionalTester $I) { - $product = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [ + $product = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [ 'productAttributes' => [], 'productInventory' => [ 'qty' => 5, diff --git a/tests/functional/Admin/Sales/ShipmentsCest.php b/tests/functional/Admin/Sales/ShipmentsCest.php index 1c3ba92c1..1fefcc2a4 100644 --- a/tests/functional/Admin/Sales/ShipmentsCest.php +++ b/tests/functional/Admin/Sales/ShipmentsCest.php @@ -3,20 +3,17 @@ namespace Tests\Functional\Admin\Sales; use FunctionalTester; -use Webkul\Sales\Models\Shipment; class ShipmentsCest { public function testIndex(FunctionalTester $I): void { - $shipment = $I->have(Shipment::class); - $I->loginAsAdmin(); - + $I->amOnAdminRoute('admin.sales.shipments.index'); $I->seeCurrentRouteIs('admin.sales.shipments.index'); - - $I->see("{$shipment->id}", '//script[@type="text/x-template"]'); - $I->see("{$shipment->total_qty}", '//script[@type="text/x-template"]'); + + $I->sendAjaxGetRequest(route('admin.sales.shipments.index')); + $I->seeResponseCodeIsSuccessful(); } } diff --git a/tests/functional/Checkout/Cart/CartCest.php b/tests/functional/Checkout/Cart/CartCest.php index c0eef83cd..a8df6f640 100644 --- a/tests/functional/Checkout/Cart/CartCest.php +++ b/tests/functional/Checkout/Cart/CartCest.php @@ -3,7 +3,7 @@ namespace Tests\Functional\Checkout\Cart; use FunctionalTester; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; class CartCest { @@ -22,8 +22,8 @@ class CartCest 'status' => 1, ], ]; - $this->productWithQuantityBox = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $productConfig); - $this->productWithoutQuantityBox = $I->haveProduct(Laravel5Helper::DOWNLOADABLE_PRODUCT, $productConfig); + $this->productWithQuantityBox = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $productConfig); + $this->productWithoutQuantityBox = $I->haveProduct(Bagisto::DOWNLOADABLE_PRODUCT, $productConfig); } public function checkCartWithQuantityBox(FunctionalTester $I): void diff --git a/tests/functional/Product/ProductCopyCest.php b/tests/functional/Product/ProductCopyCest.php index 085c67d33..2205d0674 100644 --- a/tests/functional/Product/ProductCopyCest.php +++ b/tests/functional/Product/ProductCopyCest.php @@ -5,7 +5,7 @@ namespace Tests\Functional\Product; use FunctionalTester; use Webkul\Product\Models\Product; use Webkul\Product\Models\ProductFlat; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Product\Models\ProductInventory; use Webkul\Product\Models\ProductAttributeValue; @@ -20,7 +20,7 @@ class ProductCopyCest { config(['products.skipAttributesOnCopy' => ['name', 'inventories']]); - $original = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [ + $original = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [ 'productInventory' => [ 'qty' => 10, ], @@ -46,7 +46,7 @@ class ProductCopyCest public function testBlockProductCopy(FunctionalTester $I) { - $original = $I->haveProduct(Laravel5Helper::BOOKING_EVENT_PRODUCT, []); + $original = $I->haveProduct(Bagisto::BOOKING_EVENT_PRODUCT, []); $I->amOnAdminRoute('admin.catalog.products.copy', ['id' => $original->id], false); @@ -60,7 +60,7 @@ class ProductCopyCest $originalName = $I->fake()->name; - $original = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [ + $original = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [ 'productInventory' => [ 'qty' => 10, ], diff --git a/tests/functional/Shop/CartTaxesCest.php b/tests/functional/Shop/CartTaxesCest.php index ad07d80c6..ef33d61b4 100644 --- a/tests/functional/Shop/CartTaxesCest.php +++ b/tests/functional/Shop/CartTaxesCest.php @@ -9,7 +9,7 @@ use Webkul\Tax\Models\TaxRate; use Webkul\Tax\Models\TaxCategory; use Webkul\Customer\Models\Customer; use Illuminate\Support\Facades\Config; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Customer\Models\CustomerAddress; class CartTaxesCest @@ -52,7 +52,7 @@ class CartTaxesCest 'tax_category_id' => $taxCategory1->id, ], ]; - $product1 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $config1); + $product1 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config1); $config2 = [ 'productInventory' => ['qty' => 100], @@ -62,7 +62,7 @@ class CartTaxesCest 'tax_category_id' => $taxCategory2->id, ], ]; - $product2 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $config2); + $product2 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config2); $prod1Quantity = $I->fake()->numberBetween(9, 30); // quantity of product1 should be odd @@ -215,7 +215,7 @@ class CartTaxesCest 'tax_category_id' => $taxCategory1->id, ], ]; - $product1 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $config1); + $product1 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config1); $config2 = [ 'productInventory' => ['qty' => 100], @@ -225,7 +225,7 @@ class CartTaxesCest 'tax_category_id' => $taxCategory2->id, ], ]; - $product2 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $config2); + $product2 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config2); $customer = $I->have(Customer::class); diff --git a/tests/functional/Shop/GuestCheckoutCest.php b/tests/functional/Shop/GuestCheckoutCest.php index e4fc0bf79..7a91ae7b9 100644 --- a/tests/functional/Shop/GuestCheckoutCest.php +++ b/tests/functional/Shop/GuestCheckoutCest.php @@ -5,7 +5,7 @@ namespace Tests\Functional\Shop; use Faker\Factory; use FunctionalTester; use Codeception\Example; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; class GuestCheckoutCest { @@ -34,10 +34,10 @@ class GuestCheckoutCest ], ]; - $this->productNoGuestCheckout = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $pConfigDefault); + $this->productNoGuestCheckout = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $pConfigDefault); $this->productNoGuestCheckout->refresh(); - $this->productGuestCheckout = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $pConfigGuestCheckout); + $this->productGuestCheckout = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $pConfigGuestCheckout); $this->productGuestCheckout->refresh(); } @@ -72,7 +72,7 @@ class GuestCheckoutCest $I->seeInSource($product->name); $I->amOnRoute('shop.checkout.onepage.index'); $I->seeCurrentRouteIs($example['expectedRoute']); - + $cart = cart()->getCart(); $I->assertTrue(cart()->removeItem($cart->items[0]->id)); } diff --git a/tests/trigger.suite.yml b/tests/trigger.suite.yml index d3298c674..7ff051279 100644 --- a/tests/trigger.suite.yml +++ b/tests/trigger.suite.yml @@ -4,11 +4,11 @@ modules: - Asserts - Filesystem - \Helper\Unit - - Laravel: + - \Helper\Bagisto: environment_file: .env.testing - run_database_migrations: true - run_database_seeder: true database_seeder_class: DatabaseSeeder packages: packages + run_database_migrations: true + run_database_seeder: true step_decorators: ~ diff --git a/tests/unit.suite.yml b/tests/unit.suite.yml index 7bd176827..01c30267b 100644 --- a/tests/unit.suite.yml +++ b/tests/unit.suite.yml @@ -3,13 +3,13 @@ modules: enabled: - Asserts - Filesystem - - \Helper\Unit - \Helper\DataMocker - - Webkul\Core\Helpers\Laravel5Helper: + - \Helper\Unit + - \Helper\Bagisto: environment_file: .env.testing - run_database_migrations: true - run_database_seeder: true database_seeder_class: DatabaseSeeder packages: packages + run_database_migrations: true + run_database_seeder: true step_decorators: ~ diff --git a/tests/unit/BookingProduct/BookingProductEventTicketCest.php b/tests/unit/BookingProduct/BookingProductEventTicketCest.php index 3c7d413f7..eee41b7d2 100644 --- a/tests/unit/BookingProduct/BookingProductEventTicketCest.php +++ b/tests/unit/BookingProduct/BookingProductEventTicketCest.php @@ -6,7 +6,7 @@ use Webkul\BookingProduct\Helpers\EventTicket; use Webkul\BookingProduct\Models\BookingProduct; use Webkul\BookingProduct\Models\BookingProductEventTicket; use Webkul\Checkout\Models\CartItem; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Product\Models\Product; class BookingProductEventTicketCest @@ -17,7 +17,7 @@ class BookingProductEventTicketCest { $this->typeHelper = app(EventTicket::class); - $product = $I->haveProduct(Laravel5Helper::VIRTUAL_PRODUCT); + $product = $I->haveProduct(Bagisto::VIRTUAL_PRODUCT); Product::query()->where('id', $product->id)->update(['type' => 'booking']); $availableTo = Carbon::now()->addMinutes($I->fake()->numberBetween(2, 59)); diff --git a/tests/unit/CartRule/CartRuleCest.php b/tests/unit/CartRule/CartRuleCest.php index 57a77d961..99a01fec9 100644 --- a/tests/unit/CartRule/CartRuleCest.php +++ b/tests/unit/CartRule/CartRuleCest.php @@ -10,7 +10,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Event; use Webkul\CartRule\Models\CartRule; use Webkul\CartRule\Models\CartRuleCoupon; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Customer\Models\Customer; use Webkul\Customer\Models\CustomerAddress; use Illuminate\Contracts\Support\Arrayable; @@ -728,7 +728,7 @@ class CartRuleCest 'tax_category_id' => $taxCategorie->id, ], ]; - $product = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $productConfig); + $product = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $productConfig); $ruleConfig = [ 'action_type' => self::ACTION_TYPE_PERCENTAGE, @@ -1161,19 +1161,19 @@ class CartRuleCest return [ [ 'productScenario' => self::PRODUCT_FREE, - 'productType' => Laravel5Helper::SIMPLE_PRODUCT, + 'productType' => Bagisto::SIMPLE_PRODUCT, 'freeOfCharge' => true, 'reducedTax' => false, ], [ 'productScenario' => self::PRODUCT_NOT_FREE, - 'productType' => Laravel5Helper::SIMPLE_PRODUCT, + 'productType' => Bagisto::SIMPLE_PRODUCT, 'freeOfCharge' => false, 'reducedTax' => false, ], [ 'productScenario' => self::PRODUCT_NOT_FREE_REDUCED_TAX, - 'productType' => Laravel5Helper::SIMPLE_PRODUCT, + 'productType' => Bagisto::SIMPLE_PRODUCT, 'freeOfCharge' => false, 'reducedTax' => true, ], diff --git a/tests/unit/Checkout/Cart/CartCest.php b/tests/unit/Checkout/Cart/CartCest.php index dc53dc3cf..825ccef82 100644 --- a/tests/unit/Checkout/Cart/CartCest.php +++ b/tests/unit/Checkout/Cart/CartCest.php @@ -10,7 +10,7 @@ use Illuminate\Support\Facades\Event; use UnitTester; use Webkul\BookingProduct\Models\BookingProduct; use Webkul\BookingProduct\Models\BookingProductEventTicket; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Customer\Models\Customer; use Webkul\Product\Models\ProductDownloadableLink; @@ -32,37 +32,37 @@ class CartCest $this->sessionToken = $this->faker->uuid; session(['_token' => $this->sessionToken]); - $this->simpleProduct1 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT); + $this->simpleProduct1 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT); cart()->addProduct($this->simpleProduct1->id, [ '_token' => session('_token'), 'product_id' => $this->simpleProduct1->id, 'quantity' => 1, ]); - $this->simpleProduct2 = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT); + $this->simpleProduct2 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT); cart()->addProduct($this->simpleProduct2->id, [ '_token' => session('_token'), 'product_id' => $this->simpleProduct2->id, 'quantity' => 1, ]); - $this->virtualProduct1 = $I->haveProduct(Laravel5Helper::VIRTUAL_PRODUCT); + $this->virtualProduct1 = $I->haveProduct(Bagisto::VIRTUAL_PRODUCT); cart()->addProduct($this->virtualProduct1->id, [ '_token' => session('_token'), 'product_id' => $this->virtualProduct1->id, 'quantity' => 1, ]); - $this->virtualProduct2 = $I->haveProduct(Laravel5Helper::VIRTUAL_PRODUCT); + $this->virtualProduct2 = $I->haveProduct(Bagisto::VIRTUAL_PRODUCT); cart()->addProduct($this->virtualProduct2->id, [ '_token' => session('_token'), 'product_id' => $this->virtualProduct2->id, 'quantity' => 1, ]); - $this->downloadableProduct1 = $I->haveProduct(Laravel5Helper::DOWNLOADABLE_PRODUCT); + $this->downloadableProduct1 = $I->haveProduct(Bagisto::DOWNLOADABLE_PRODUCT); - $this->downloadableProduct2 = $I->haveProduct(Laravel5Helper::DOWNLOADABLE_PRODUCT); + $this->downloadableProduct2 = $I->haveProduct(Bagisto::DOWNLOADABLE_PRODUCT); $this->customer = $I->have(Customer::class); } @@ -163,11 +163,11 @@ class CartCest $product1 = $I->haveProduct($scenario['product_type1']); $product2 = $I->haveProduct($scenario['product_type2']); - if ($scenario['product_type1'] === Laravel5Helper::DOWNLOADABLE_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::DOWNLOADABLE_PRODUCT) { $downloadableLink1 = ProductDownloadableLink::query()->where('product_id', $product1->id)->firstOrFail(); $I->assertNotNull($downloadableLink1); } - if ($scenario['product_type1'] === Laravel5Helper::BOOKING_EVENT_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::BOOKING_EVENT_PRODUCT) { $bookingProduct = BookingProduct::query()->where('product_id', $product1->id)->firstOrFail(); $I->assertNotNull($bookingProduct); $bookingTicket1 = BookingProductEventTicket::query()->where('booking_product_id', @@ -175,11 +175,11 @@ class CartCest $I->assertNotNull($bookingTicket1); } - if ($scenario['product_type2'] === Laravel5Helper::DOWNLOADABLE_PRODUCT) { + if ($scenario['product_type2'] === Bagisto::DOWNLOADABLE_PRODUCT) { $downloadableLink2 = ProductDownloadableLink::query()->where('product_id', $product2->id)->firstOrFail(); $I->assertNotNull($downloadableLink2); } - if ($scenario['product_type2'] === Laravel5Helper::BOOKING_EVENT_PRODUCT) { + if ($scenario['product_type2'] === Bagisto::BOOKING_EVENT_PRODUCT) { $bookingProduct = BookingProduct::query()->where('product_id', $product2->id)->firstOrFail(); $I->assertNotNull($bookingProduct); $bookingTicket2 = BookingProductEventTicket::query()->where('booking_product_id', @@ -197,10 +197,10 @@ class CartCest 'quantity' => 1, 'product_id' => $product1->id, ]; - if ($scenario['product_type1'] === Laravel5Helper::DOWNLOADABLE_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::DOWNLOADABLE_PRODUCT) { $data['links'] = [$downloadableLink1->id]; } - if ($scenario['product_type1'] === Laravel5Helper::BOOKING_EVENT_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::BOOKING_EVENT_PRODUCT) { $data['booking'] = ['qty' => [$bookingTicket1->id => 1]]; } @@ -220,10 +220,10 @@ class CartCest 'quantity' => 1, 'product_id' => $product2->id, ]; - if ($scenario['product_type2'] === Laravel5Helper::DOWNLOADABLE_PRODUCT) { + if ($scenario['product_type2'] === Bagisto::DOWNLOADABLE_PRODUCT) { $data['links'] = [$downloadableLink2->id]; } - if ($scenario['product_type2'] === Laravel5Helper::BOOKING_EVENT_PRODUCT) { + if ($scenario['product_type2'] === Bagisto::BOOKING_EVENT_PRODUCT) { $data['booking'] = ['qty' => [$bookingTicket2->id => 1]]; } @@ -243,10 +243,10 @@ class CartCest 'quantity' => 2, 'product_id' => $product1->id, ]; - if ($scenario['product_type1'] === Laravel5Helper::DOWNLOADABLE_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::DOWNLOADABLE_PRODUCT) { $data['links'] = [$downloadableLink1->id]; } - if ($scenario['product_type1'] === Laravel5Helper::BOOKING_EVENT_PRODUCT) { + if ($scenario['product_type1'] === Bagisto::BOOKING_EVENT_PRODUCT) { $data['booking'] = ['qty' => [$bookingTicket1->id => 2]]; } @@ -271,68 +271,68 @@ class CartCest { return [ [ - 'product_type1' => Laravel5Helper::SIMPLE_PRODUCT, - 'product_type2' => Laravel5Helper::SIMPLE_PRODUCT, + 'product_type1' => Bagisto::SIMPLE_PRODUCT, + 'product_type2' => Bagisto::SIMPLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::VIRTUAL_PRODUCT, - 'product_type2' => Laravel5Helper::VIRTUAL_PRODUCT, + 'product_type1' => Bagisto::VIRTUAL_PRODUCT, + 'product_type2' => Bagisto::VIRTUAL_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::SIMPLE_PRODUCT, - 'product_type2' => Laravel5Helper::VIRTUAL_PRODUCT, + 'product_type1' => Bagisto::SIMPLE_PRODUCT, + 'product_type2' => Bagisto::VIRTUAL_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::VIRTUAL_PRODUCT, - 'product_type2' => Laravel5Helper::SIMPLE_PRODUCT, + 'product_type1' => Bagisto::VIRTUAL_PRODUCT, + 'product_type2' => Bagisto::SIMPLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::DOWNLOADABLE_PRODUCT, - 'product_type2' => Laravel5Helper::DOWNLOADABLE_PRODUCT, + 'product_type1' => Bagisto::DOWNLOADABLE_PRODUCT, + 'product_type2' => Bagisto::DOWNLOADABLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::DOWNLOADABLE_PRODUCT, - 'product_type2' => Laravel5Helper::SIMPLE_PRODUCT, + 'product_type1' => Bagisto::DOWNLOADABLE_PRODUCT, + 'product_type2' => Bagisto::SIMPLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::SIMPLE_PRODUCT, - 'product_type2' => Laravel5Helper::DOWNLOADABLE_PRODUCT, + 'product_type1' => Bagisto::SIMPLE_PRODUCT, + 'product_type2' => Bagisto::DOWNLOADABLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::DOWNLOADABLE_PRODUCT, - 'product_type2' => Laravel5Helper::VIRTUAL_PRODUCT, + 'product_type1' => Bagisto::DOWNLOADABLE_PRODUCT, + 'product_type2' => Bagisto::VIRTUAL_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::VIRTUAL_PRODUCT, - 'product_type2' => Laravel5Helper::DOWNLOADABLE_PRODUCT, + 'product_type1' => Bagisto::VIRTUAL_PRODUCT, + 'product_type2' => Bagisto::DOWNLOADABLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::BOOKING_EVENT_PRODUCT, - 'product_type2' => Laravel5Helper::BOOKING_EVENT_PRODUCT, + 'product_type1' => Bagisto::BOOKING_EVENT_PRODUCT, + 'product_type2' => Bagisto::BOOKING_EVENT_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::BOOKING_EVENT_PRODUCT, - 'product_type2' => Laravel5Helper::SIMPLE_PRODUCT, + 'product_type1' => Bagisto::BOOKING_EVENT_PRODUCT, + 'product_type2' => Bagisto::SIMPLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::SIMPLE_PRODUCT, - 'product_type2' => Laravel5Helper::BOOKING_EVENT_PRODUCT, + 'product_type1' => Bagisto::SIMPLE_PRODUCT, + 'product_type2' => Bagisto::BOOKING_EVENT_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::BOOKING_EVENT_PRODUCT, - 'product_type2' => Laravel5Helper::VIRTUAL_PRODUCT, + 'product_type1' => Bagisto::BOOKING_EVENT_PRODUCT, + 'product_type2' => Bagisto::VIRTUAL_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::VIRTUAL_PRODUCT, - 'product_type2' => Laravel5Helper::BOOKING_EVENT_PRODUCT, + 'product_type1' => Bagisto::VIRTUAL_PRODUCT, + 'product_type2' => Bagisto::BOOKING_EVENT_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::BOOKING_EVENT_PRODUCT, - 'product_type2' => Laravel5Helper::DOWNLOADABLE_PRODUCT, + 'product_type1' => Bagisto::BOOKING_EVENT_PRODUCT, + 'product_type2' => Bagisto::DOWNLOADABLE_PRODUCT, ], [ - 'product_type1' => Laravel5Helper::DOWNLOADABLE_PRODUCT, - 'product_type2' => Laravel5Helper::BOOKING_EVENT_PRODUCT, + 'product_type1' => Bagisto::DOWNLOADABLE_PRODUCT, + 'product_type2' => Bagisto::BOOKING_EVENT_PRODUCT, ], ]; } diff --git a/tests/unit/Checkout/Cart/Models/CartModelCest.php b/tests/unit/Checkout/Cart/Models/CartModelCest.php index fadbc72dd..c7e31fa1f 100644 --- a/tests/unit/Checkout/Cart/Models/CartModelCest.php +++ b/tests/unit/Checkout/Cart/Models/CartModelCest.php @@ -5,7 +5,7 @@ namespace Tests\Unit\Checkout\Cart\Models; use Cart; use UnitTester; use Faker\Factory; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; class CartModelCest { @@ -31,9 +31,9 @@ class CartModelCest 'status' => 1, ], ]; - $this->productWithQuantityBox = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, $productConfig); + $this->productWithQuantityBox = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $productConfig); - $this->productWithoutQuantityBox = $I->haveProduct(Laravel5Helper::DOWNLOADABLE_PRODUCT, $productConfig); + $this->productWithoutQuantityBox = $I->haveProduct(Bagisto::DOWNLOADABLE_PRODUCT, $productConfig); } public function testHasProductsWithQuantityBox(UnitTester $I) diff --git a/tests/unit/Core/Commands/BookingCronCest.php b/tests/unit/Core/Commands/BookingCronCest.php index 2112a55df..d5863c37a 100644 --- a/tests/unit/Core/Commands/BookingCronCest.php +++ b/tests/unit/Core/Commands/BookingCronCest.php @@ -7,7 +7,7 @@ use Illuminate\Support\Facades\Log; use UnitTester; use Webkul\BookingProduct\Models\BookingProduct; use Webkul\BookingProduct\Models\BookingProductEventTicket; -use Webkul\Core\Helpers\Laravel5Helper; +use Helper\Bagisto; use Webkul\Product\Models\Product; class BookingCronCest @@ -17,7 +17,7 @@ class BookingCronCest $index = $I->fake()->numberBetween(2, 6); for ($i=0; $i<$index; $i++) { - $products[$i] = $I->haveProduct(Laravel5Helper::VIRTUAL_PRODUCT); + $products[$i] = $I->haveProduct(Bagisto::VIRTUAL_PRODUCT); Product::query()->where('id', $products[$i]->id)->update(['type' => 'booking']); if ($I->fake()->randomDigitNotNull <= 5) { diff --git a/tests/unit/Product/ProductCest.php b/tests/unit/Product/ProductCest.php index 951e2da37..eea695884 100644 --- a/tests/unit/Product/ProductCest.php +++ b/tests/unit/Product/ProductCest.php @@ -2,6 +2,7 @@ namespace Tests\Unit\Product; +use Helper\Bagisto; use UnitTester; use Webkul\Product\Repositories\ProductInventoryRepository; @@ -15,12 +16,12 @@ class ProductCest */ public function testProductInventoryUpdation(UnitTester $I): void { - $product = $I->haveProduct(\Webkul\Core\Helpers\Laravel5Helper::SIMPLE_PRODUCT, [], ['simple']); + $product = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [], ['simple']); $updatedInventoriesQty = $this->getRandomUpdatedInventoriesQty($I, $product); app(ProductInventoryRepository::class)->saveInventories([ - 'inventories' => $updatedInventoriesQty + 'inventories' => $updatedInventoriesQty, ], $product); $product->refresh(); @@ -36,7 +37,7 @@ class ProductCest */ public function testProductInventoriesQty(UnitTester $I): void { - $product = $I->haveProduct(\Webkul\Core\Helpers\Laravel5Helper::SIMPLE_PRODUCT, [], ['simple']); + $product = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, [], ['simple']); $oldInventoriesQty = $product->inventories->pluck('qty', 'inventory_source_id')->toArray(); diff --git a/tests/unit/Tax/Helpers/TaxCest.php b/tests/unit/Tax/Helpers/TaxCest.php index fb8e78d90..2f0d2a737 100644 --- a/tests/unit/Tax/Helpers/TaxCest.php +++ b/tests/unit/Tax/Helpers/TaxCest.php @@ -3,6 +3,7 @@ namespace Tests\Unit\Tax\Helpers; use Cart; +use Helper\Bagisto; use Illuminate\Support\Facades\Config; use UnitTester; use Webkul\Tax\Models\TaxCategory; @@ -51,7 +52,7 @@ class TaxCest 'tax_category_id' => $taxCategorie1->id, ], ]; - $product1 = $I->haveProduct(\Webkul\Core\Helpers\Laravel5Helper::SIMPLE_PRODUCT, $config1); + $product1 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config1); $config2 = [ 'productInventory' => ['qty' => 100], @@ -61,7 +62,7 @@ class TaxCest 'tax_category_id' => $taxCategorie2->id, ], ]; - $product2 = $I->haveProduct(\Webkul\Core\Helpers\Laravel5Helper::SIMPLE_PRODUCT, $config2); + $product2 = $I->haveProduct(Bagisto::SIMPLE_PRODUCT, $config2); Cart::addProduct($product1->id, [ '_token' => session('_token'), @@ -78,13 +79,13 @@ class TaxCest // rounded by precision of 2 because these are sums of corresponding tax categories $expectedTaxAmount1 = round( round(self::PRODUCT1_QTY * $product1->price, self::CART_TOTAL_PRECISION) - * $tax1->tax_rate / 100, + * $tax1->tax_rate / 100, self::CART_TOTAL_PRECISION ); $expectedTaxAmount2 = round( round(self::PRODUCT2_QTY * $product2->price, self::CART_TOTAL_PRECISION) - * $tax2->tax_rate / 100, + * $tax2->tax_rate / 100, self::CART_TOTAL_PRECISION );