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 @@
@@ -21,9 +24,7 @@ {!! view_render_event('bagisto.admin.catalog.attributes.list.before') !!}