From f1371fd6a05313cf6d0bdd1f835dc318525c5a09 Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 11 Jan 2019 14:51:20 +0530 Subject: [PATCH 01/23] Product inventory management updated --- .../Controllers/Sales/ShipmentController.php | 1 + .../products/accordians/inventories.blade.php | 2 +- .../products/accordians/variations.blade.php | 2 +- .../views/sales/shipments/create.blade.php | 13 ++++++++ ...id_column_in_product_inventories_table.php | 33 +++++++++++++++++++ .../Webkul/Product/src/Models/Product.php | 4 +-- .../Product/src/Models/ProductInventory.php | 2 +- .../ProductInventoryRepository.php | 24 ++++++-------- .../Repositories/ShipmentItemRepository.php | 1 + .../src/Repositories/ShipmentRepository.php | 3 +- 10 files changed, 65 insertions(+), 20 deletions(-) create mode 100644 packages/Webkul/Product/src/Database/Migrations/2019_01_11_122452_add_vendor_id_column_in_product_inventories_table.php diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php index d40c1e84f..16458d749 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php @@ -159,6 +159,7 @@ class ShipmentController extends Controller $inventory = $product->inventories() ->where('inventory_source_id', $data['shipment']['source']) + ->where('vendor_id', 0) ->first(); if ($orderItem->qty_to_ship < $qty || $inventory->qty < $qty) { diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/inventories.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/inventories.blade.php index dc6085033..54fe2ee16 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/inventories.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/inventories.blade.php @@ -7,7 +7,7 @@ $qty = 0; foreach ($product->inventories as $inventory) { - if($inventory->inventory_source_id == $inventorySource->id) { + if($inventory->inventory_source_id == $inventorySource->id && !$inventory->vendor_id) { $qty = $inventory->qty; break; } diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php index 489f27b57..4f8fd7628 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php @@ -325,7 +325,7 @@ sourceInventoryQty (inventorySourceId) { var inventories = this.variant.inventories.filter(function(inventory) { - return inventorySourceId === inventory.inventory_source_id; + return inventorySourceId === inventory.inventory_source_id && !inventory.vendor_id; }) if(inventories.length) diff --git a/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php index eae212a51..20a86bc6e 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php @@ -306,6 +306,19 @@ } ?> + type == 'configurable' ? $item->child->product : $item->product; + + foreach ($product->inventories as $inventory) { + if($inventory->inventory_source_id == $inventorySource->id && !$inventory->vendor_id) { + $sourceQty = $inventory->qty; + break; + } + } + ?> + {{ $sourceQty }} diff --git a/packages/Webkul/Product/src/Database/Migrations/2019_01_11_122452_add_vendor_id_column_in_product_inventories_table.php b/packages/Webkul/Product/src/Database/Migrations/2019_01_11_122452_add_vendor_id_column_in_product_inventories_table.php new file mode 100644 index 000000000..9fffb5e3c --- /dev/null +++ b/packages/Webkul/Product/src/Database/Migrations/2019_01_11_122452_add_vendor_id_column_in_product_inventories_table.php @@ -0,0 +1,33 @@ +integer('vendor_id')->default(0); + $table->unique(['product_id', 'inventory_source_id', 'vendor_id'], 'product_source_vendor_index_unique'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('product_inventories', function (Blueprint $table) { + // + }); + } +} diff --git a/packages/Webkul/Product/src/Models/Product.php b/packages/Webkul/Product/src/Models/Product.php index 71d92be7f..a757122fe 100755 --- a/packages/Webkul/Product/src/Models/Product.php +++ b/packages/Webkul/Product/src/Models/Product.php @@ -163,10 +163,10 @@ class Product extends Model * * @return bool */ - public function inventory_source_qty($inventorySource) + public function inventory_source_qty($inventorySourceId) { return $this->inventories() - ->where('inventory_source_id', $inventorySource->id) + ->where('inventory_source_id', $inventorySourceId) ->sum('qty'); } diff --git a/packages/Webkul/Product/src/Models/ProductInventory.php b/packages/Webkul/Product/src/Models/ProductInventory.php index f76ba89a5..91eb56c21 100755 --- a/packages/Webkul/Product/src/Models/ProductInventory.php +++ b/packages/Webkul/Product/src/Models/ProductInventory.php @@ -9,7 +9,7 @@ class ProductInventory extends Model { public $timestamps = false; - protected $fillable = ['qty', 'product_id', 'inventory_source_id']; + protected $fillable = ['qty', 'product_id', 'inventory_source_id', 'vendor_id']; /** * Get the product attribute family that owns the product. diff --git a/packages/Webkul/Product/src/Repositories/ProductInventoryRepository.php b/packages/Webkul/Product/src/Repositories/ProductInventoryRepository.php index 8e70a1cf5..ff2cd6ece 100755 --- a/packages/Webkul/Product/src/Repositories/ProductInventoryRepository.php +++ b/packages/Webkul/Product/src/Repositories/ProductInventoryRepository.php @@ -33,36 +33,32 @@ class ProductInventoryRepository extends Repository if ($product->type == 'configurable') return; - $inventorySourceIds = $product->inventory_sources->pluck('id'); - if(isset($data['inventories'])) { foreach($data['inventories'] as $inventorySourceId => $qty) { - if(is_null($qty)) - continue; - + if(is_null($qty)) { + $qty = 0; + } + $productInventory = $this->findOneWhere([ 'product_id' => $product->id, 'inventory_source_id' => $inventorySourceId, + 'vendor_id' => isset($data['vendor_id']) ? $data['vendor_id'] : 0 ]); - + + if($productInventory) { - if(is_numeric($index = $inventorySourceIds->search($inventorySourceId))) { - $inventorySourceIds->forget($index); - } + $productInventory->qty = $qty; - $this->update(['qty' => $qty], $productInventory->id); + $productInventory->save(); } else { $this->create([ 'qty' => $qty, 'product_id' => $product->id, 'inventory_source_id' => $inventorySourceId, + 'vendor_id' => isset($data['vendor_id']) ? $data['vendor_id'] : 0 ]); } } } - - if($inventorySourceIds->count()) { - $product->inventory_sources()->detach($inventorySourceIds); - } } } \ No newline at end of file diff --git a/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php b/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php index bbbec550f..7bce82f55 100644 --- a/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php +++ b/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php @@ -50,6 +50,7 @@ class ShipmentItemRepository extends Repository } $inventory = $data['product']->inventories() + ->where('vendor_id', $data['vendor_id']) ->where('inventory_source_id', $data['shipment']->inventory_source_id) ->first(); diff --git a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php index c9ac6fbec..e2bc8813d 100755 --- a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php +++ b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php @@ -134,7 +134,8 @@ class ShipmentRepository extends Repository 'shipment' => $shipment, 'shipmentItem' => $shipmentItem, 'product' => $product, - 'qty' => $qty + 'qty' => $qty, + 'vendor_id' => isset($data['vendor_id']) ? $data['vendor_id'] : 0 ]); $this->orderItem->update(['qty_shipped' => $orderItem->qty_shipped + $qty], $orderItem->id); From ca95d1d595d195da17e91666c700177bb5db9263 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 15:27:11 +0530 Subject: [PATCH 02/23] Variable names conflicts in body of datagrid causing view action to producce exception is fixed --- packages/Webkul/Ui/src/DataGrid/AbsGrid.php | 1 + .../Webkul/Ui/src/Resources/views/testgrid/body.blade.php | 6 +++--- .../Webkul/Ui/src/Resources/views/testgrid/table.blade.php | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php b/packages/Webkul/Ui/src/DataGrid/AbsGrid.php index 03afd8b51..163d08212 100644 --- a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/AbsGrid.php @@ -20,6 +20,7 @@ abstract class AbsGrid protected $massActions = []; protected $request; protected $parse; + // protected $enableMassAction = false; // protected $gridName = null; abstract public function prepareMassActions(); diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php index b58078251..1269c11a0 100644 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php @@ -3,7 +3,7 @@ - + @@ -11,9 +11,9 @@ @foreach($columns as $column) @php - $index = explode('.', $column['index']); + $indexName = explode('.', $column['index']); - $index = end($index); + $indexName = end($indexName); @endphp @if(isset($column['wrapper'])) diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php index c33c4900d..222cb405d 100644 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php @@ -583,8 +583,6 @@ //triggered when any select box is clicked in the datagrid select() { - console.log(this.dataIds); - this.allSelected = false; this.massActionsToggle = true; From 34efd4d2c69a19c0bff82274746bb8f035f5d0f3 Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 11 Jan 2019 15:32:15 +0530 Subject: [PATCH 03/23] Assets compiled for production --- packages/Webkul/Ui/webpack.mix.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/Webkul/Ui/webpack.mix.js b/packages/Webkul/Ui/webpack.mix.js index 62c9ba3ef..a460ad735 100755 --- a/packages/Webkul/Ui/webpack.mix.js +++ b/packages/Webkul/Ui/webpack.mix.js @@ -4,6 +4,7 @@ require("laravel-mix-merge-manifest"); var publicPath = 'publishable/assets'; // var publicPath = "../../../public/vendor/webkul/ui/assets"; + mix.setPublicPath(publicPath).mergeManifest(); mix.disableNotifications(); From 9b85622533aea1f6f6151ad3363a06c1b626c96c Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 15:42:34 +0530 Subject: [PATCH 04/23] unnecessary code is removed --- .../Admin/src/DataGrids/AttributeDataGrid.php | 4 +- .../src/DataGrids/AttributeFamilyDataGrid.php | 4 +- .../Admin/src/DataGrids/CategoryDataGrid.php | 4 +- .../Admin/src/DataGrids/ChannelDataGrid.php | 4 +- .../Admin/src/DataGrids/CountryDataGrid.php | 113 -- .../Admin/src/DataGrids/CurrencyDataGrid.php | 4 +- .../Admin/src/DataGrids/CustomerDataGrid.php | 4 +- .../src/DataGrids/CustomerGroupDataGrid.php | 4 +- .../src/DataGrids/CustomerReviewDataGrid.php | 4 +- .../src/DataGrids/ExchangeRatesDataGrid.php | 4 +- .../DataGrids/InventorySourcesDataGrid.php | 4 +- .../Admin/src/DataGrids/LocalesDataGrid.php | 4 +- .../src/DataGrids/NewsLetterDataGrid.php | 4 +- .../Admin/src/DataGrids/OrderDataGrid.php | 4 +- .../src/DataGrids/OrderInvoicesDataGrid.php | 4 +- .../src/DataGrids/OrderShipmentsDataGrid.php | 4 +- .../Admin/src/DataGrids/ProductDataGrid.php | 308 +++--- .../Admin/src/DataGrids/RolesDataGrid.php | 4 +- .../Admin/src/DataGrids/SliderDataGrid.php | 4 +- .../src/DataGrids/TaxCategoryDataGrid.php | 4 +- .../Admin/src/DataGrids/TaxRateDataGrid.php | 4 +- .../Admin/src/DataGrids/TestDataGrid.php | 147 --- .../Admin/src/DataGrids/UserDataGrid.php | 4 +- .../views/catalog/products/index.blade.php | 2 +- packages/Webkul/Ui/src/DataGrid/AbsGrid.php | 197 ---- packages/Webkul/Ui/src/DataGrid/DataGrid.php | 975 +++--------------- .../{testgrid => datagrid}/body.blade.php | 10 +- .../views/datagrid/filters.blade.php | 132 --- .../{testgrid => datagrid}/head.blade.php | 0 .../Resources/views/datagrid/index.blade.php | 532 ---------- .../views/datagrid/notused/column.blade.php | 18 - .../views/datagrid/pagination.blade.php | 0 .../Resources/views/datagrid/table.blade.php | 644 +++++++++++- .../views/datagrid/table/body.blade.php | 50 - .../views/datagrid/table/head.blade.php | 79 -- .../views/testgrid/filters.blade.php | 3 - .../views/testgrid/pagination.blade.php | 3 - .../Resources/views/testgrid/table.blade.php | 637 ------------ 38 files changed, 941 insertions(+), 2989 deletions(-) delete mode 100755 packages/Webkul/Admin/src/DataGrids/CountryDataGrid.php mode change 100755 => 100644 packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php delete mode 100644 packages/Webkul/Admin/src/DataGrids/TestDataGrid.php delete mode 100644 packages/Webkul/Ui/src/DataGrid/AbsGrid.php mode change 100755 => 100644 packages/Webkul/Ui/src/DataGrid/DataGrid.php rename packages/Webkul/Ui/src/Resources/views/{testgrid => datagrid}/body.blade.php (75%) delete mode 100755 packages/Webkul/Ui/src/Resources/views/datagrid/filters.blade.php rename packages/Webkul/Ui/src/Resources/views/{testgrid => datagrid}/head.blade.php (100%) delete mode 100755 packages/Webkul/Ui/src/Resources/views/datagrid/index.blade.php delete mode 100755 packages/Webkul/Ui/src/Resources/views/datagrid/notused/column.blade.php mode change 100755 => 100644 packages/Webkul/Ui/src/Resources/views/datagrid/pagination.blade.php mode change 100755 => 100644 packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php delete mode 100755 packages/Webkul/Ui/src/Resources/views/datagrid/table/body.blade.php delete mode 100755 packages/Webkul/Ui/src/Resources/views/datagrid/table/head.blade.php delete mode 100644 packages/Webkul/Ui/src/Resources/views/testgrid/filters.blade.php delete mode 100644 packages/Webkul/Ui/src/Resources/views/testgrid/pagination.blade.php delete mode 100644 packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index fa7a936c3..51d1238c8 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class AttributeDataGrid extends AbsGrid +class AttributeDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index 2c8adeff9..251df7e87 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class AttributeFamilyDataGrid extends AbsGrid +class AttributeFamilyDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index 8665cab42..bbee7ef83 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class CategoryDataGrid extends AbsGrid +class CategoryDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index a3ba4f12c..31de86a10 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class ChannelDataGrid extends AbsGrid +class ChannelDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/CountryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CountryDataGrid.php deleted file mode 100755 index 32679093a..000000000 --- a/packages/Webkul/Admin/src/DataGrids/CountryDataGrid.php +++ /dev/null @@ -1,113 +0,0 @@ - @prashant-webkul - * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) - */ -class CountryDataGrid extends AbsGrid -{ - public $allColumns = []; - - public function prepareQueryBuilder() - { - $queryBuilder = DB::table('countries')->select('id')->addSelect($this->columns); - - $this->setQueryBuilder($queryBuilder); - } - - public function addColumns() - { - $this->addColumn([ - 'column' => 'id', - 'alias' => 'countryId', - 'label' => 'ID', - 'type' => 'number', - 'searchable' => false, - 'sortable' => true, - 'width' => '40px' - ]); - - $this->addColumn([ - 'column' => 'code', - 'alias' => 'countryCode', - 'label' => 'Code', - 'type' => 'string', - 'searchable' => true, - 'sortable' => true, - 'width' => '100px' - ]); - - $this->addColumn([ - 'column' => 'name', - 'alias' => 'countryName', - 'label' => 'Name', - 'type' => 'string', - 'searchable' => true, - 'sortable' => true, - 'width' => '100px' - ]); - - $this->addColumn([ - 'column' => 'status', - 'alias' => 'countryStatus', - 'label' => 'Status', - 'type' => 'number', - 'sortable' => true, - 'searchable' => true, - 'width' => '100px' - ]); - } - - public function prepareActions() { - $this->prepareAction([ - 'type' => 'Edit', - 'route' => 'admin.catalog.products.edit', - 'icon' => 'icon pencil-lg-icon' - ]); - - $this->prepareAction([ - 'type' => 'Delete', - 'route' => 'admin.catalog.products.delete', - 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), - 'icon' => 'icon trash-icon' - ]); - } - - public function prepareMassActions() { - // $this->prepareMassAction([ - // 'type' => 'delete', - // 'action' => route('admin.catalog.products.massdelete'), - // 'method' => 'DELETE' - // ]); - - // $this->prepareMassAction([ - // 'type' => 'update', - // 'action' => route('admin.catalog.products.massupdate'), - // 'method' => 'PUT', - // 'options' => [ - // 0 => true, - // 1 => false, - // ] - // ]); - } - - public function render() - { - $this->addColumns(); - - $this->prepareActions(); - - $this->prepareMassActions(); - - $this->prepareQueryBuilder(); - - return view('ui::testgrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions]); - } -} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index c1a9e11d7..ba915e36b 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class CurrencyDataGrid extends AbsGrid +class CurrencyDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 463534b67..9a7f09dd6 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class CustomerDataGrid extends AbsGrid +class CustomerDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index 64891c0d3..6ffcee5ea 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class CustomerGroupDataGrid extends AbsGrid +class CustomerGroupDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 015f0783e..821f5d050 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class CustomerReviewDataGrid extends AbsGrid +class CustomerReviewDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 2b45a8497..2b3adc95b 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class ExchangeRatesDataGrid extends AbsGrid +class ExchangeRatesDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index 668fe3bc3..22828b670 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class InventorySourcesDataGrid extends AbsGrid +class InventorySourcesDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 044321232..762e13fe4 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class LocalesDataGrid extends AbsGrid +class LocalesDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index 84d7e2dad..c68456f28 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class NewsLetterDataGrid extends AbsGrid +class NewsLetterDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index b2913d2dc..f455b1fb6 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class OrderDataGrid extends AbsGrid +class OrderDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index b21410693..3aebaed56 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class OrderInvoicesDataGrid extends AbsGrid +class OrderInvoicesDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 46d26af23..9666227a6 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class OrderShipmentsDataGrid extends AbsGrid +class OrderShipmentsDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php old mode 100755 new mode 100644 index 1bd3dbc1f..bbee2310d --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -2,208 +2,146 @@ namespace Webkul\Admin\DataGrids; -use Illuminate\View\View; -use Webkul\Ui\DataGrid\Facades\DataGrid; -use Webkul\Channel\Repositories\ChannelRepository; -use Webkul\Product\Repositories\ProductRepository; +use Webkul\Ui\DataGrid\DataGrid; +use DB; /** - * Product DataGrid + * Product Data Grid class * - * @author Prashant Singh @prashant-webkul + * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class ProductDataGrid +class ProductDataGrid extends DataGrid { + public $allColumns = []; - /** - * The Data Grid implementation for Products - */ - public function createProductDataGrid() + public function prepareQueryBuilder() { - return DataGrid::make([ - 'name' => 'Products', - 'table' => 'products_grid as prods', - 'select' => 'prods.product_id', - 'perpage' => 10, - 'aliased' => false, //use this with false as default and true in case of joins + $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id', 'products_grid.sku', 'products_grid.name', 'products.type', 'products_grid.status', 'products_grid.price', 'products_grid.quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); - 'massoperations' => [ - 0 => [ - 'type' => 'delete', //all lower case will be shifted in the configuration file for better control and increased fault tolerance - 'action' => route('admin.catalog.products.massdelete'), - 'method' => 'DELETE' - ], + $this->setQueryBuilder($queryBuilder); + } - 1 => [ - 'type' => 'update', //all lower case will be shifted in the configuration file for better control and increased fault tolerance - 'action' => route('admin.catalog.products.massupdate'), - 'method' => 'PUT', - 'options' => [ - 0 => 'In Active', - 1 => 'Active', - ] - ] - ], + public function setIndex() { + $this->index = 'product_id'; //the column that needs to be treated as index column + } - 'actions' => [ - [ - 'type' => 'Edit', - 'route' => 'admin.catalog.products.edit', - // 'confirm_text' => trans('ui::app.datagrid.massaction.edit', ['resource' => 'product']), - 'icon' => 'icon pencil-lg-icon' - ], [ - 'type' => 'Delete', - 'route' => 'admin.catalog.products.delete', - 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), - 'icon' => 'icon trash-icon' - ] - ], + // public function setGridName() { + // $this->gridName = 'products_grid'; // should be the table name for getting proper index + // } - 'join' => [ - ], - - //use aliasing on secodary columns if join is performed - 'columns' => [ - //name, alias, type, label, sortable - [ - 'name' => 'prods.product_id', - 'alias' => 'id', - 'type' => 'string', - 'label' => 'ID', - 'sortable' => true, - ], [ - 'name' => 'prods.sku', - 'alias' => 'productSku', - 'type' => 'string', - 'label' => 'SKU', - 'sortable' => true, - ], [ - 'name' => 'prods.name', - 'alias' => 'ProductName', - 'type' => 'string', - 'label' => 'Name', - 'sortable' => true, - ], [ - 'name' => 'prods.type', - 'alias' => 'ProductType', - 'type' => 'string', - 'label' => 'Type', - 'sortable' => true, - ], [ - 'name' => 'prods.status', - 'alias' => 'ProductStatus', - 'type' => 'boolean', - 'label' => 'Status', - 'sortable' => true, - 'wrapper' => function ($value) { - if($value == 1) - return 'Active'; - else - return 'Inactive'; - }, - ], [ - 'name' => 'prods.price', - 'alias' => 'ProductPrice', - 'type' => 'string', - 'label' => 'Price', - 'sortable' => true, - 'wrapper' => function ($value) { - return core()->formatBasePrice($value); - }, - ], [ - 'name' => 'prods.attribute_family_name', - 'alias' => 'productattributefamilyname', - 'type' => 'string', - 'label' => 'Attribute Family', - 'sortable' => true, - ], [ - 'name' => 'prods.quantity', - 'alias' => 'ProductQuantity', - 'type' => 'string', - 'label' => 'Product Quantity', - 'sortable' => true, - ] - ], - - 'filterable' => [ - //column, alias, type, and label - [ - 'column' => 'prods.product_id', - 'alias' => 'productID', - 'type' => 'number', - 'label' => 'ID', - ], [ - 'column' => 'prods.sku', - 'alias' => 'productSku', - 'type' => 'string', - 'label' => 'SKU', - ], [ - 'column' => 'prods.name', - 'alias' => 'ProductName', - 'type' => 'string', - 'label' => 'Product Name', - ], [ - 'column' => 'prods.type', - 'alias' => 'ProductType', - 'type' => 'string', - 'label' => 'Product Type', - ], [ - 'column' => 'prods.status', - 'alias' => 'ProductStatus', - 'type' => 'boolean', - 'label' => 'Status' - ] - ], - //don't use aliasing in case of searchables - - 'searchable' => [ - //column, type and label - [ - 'column' => 'prods.product_id', - 'type' => 'number', - 'label' => 'ID', - ], [ - 'column' => 'prods.sku', - 'type' => 'string', - 'label' => 'SKU', - ], [ - 'column' => 'prods.name', - 'type' => 'string', - 'label' => 'Product Name', - ], [ - 'column' => 'prods.type', - 'type' => 'string', - 'label' => 'Product Type', - ] - ], - - //list of viable operators that will be used - 'operators' => [ - 'eq' => "=", - 'lt' => "<", - 'gt' => ">", - 'lte' => "<=", - 'gte' => ">=", - 'neqs' => "<>", - 'neqn' => "!=", - 'like' => "like", - 'nlike' => "not like", - ], - // 'css' => [] + public function addColumns() + { + $this->addColumn([ + 'index' => 'products_grid.product_id', + 'alias' => 'productid', + 'label' => 'ID', + 'type' => 'number', + 'searchable' => false, + 'sortable' => true, + 'width' => '40px' ]); + $this->addColumn([ + 'index' => 'products_grid.sku', + 'alias' => 'productsku', + 'label' => 'SKU', + 'type' => 'string', + 'searchable' => true, + 'sortable' => true, + 'width' => '100px' + ]); + + $this->addColumn([ + 'index' => 'products_grid.name', + 'alias' => 'productname', + 'label' => 'Name', + 'type' => 'string', + 'searchable' => true, + 'sortable' => true, + 'width' => '100px' + ]); + + $this->addColumn([ + 'index' => 'products.type', + 'alias' => 'producttype', + 'label' => 'Type', + 'type' => 'string', + 'sortable' => true, + 'searchable' => true, + 'width' => '100px' + ]); + + $this->addColumn([ + 'index' => 'products_grid.status', + 'alias' => 'productstatus', + 'label' => 'Status', + 'type' => 'boolean', + 'sortable' => true, + 'searchable' => false, + 'width' => '100px', + 'wrapper' => function($value) { + if($value == 1) + return 'Active'; + else + return 'Inactive'; + } + ]); + + $this->addColumn([ + 'index' => 'products_grid.price', + 'alias' => 'productprice', + 'label' => 'Price', + 'type' => 'number', + 'sortable' => true, + 'searchable' => false, + 'width' => '100px', + 'wrapper' => function($value) { + return core()->formatBasePrice($value); + } + ]); + + $this->addColumn([ + 'index' => 'products_grid.quantity', + 'alias' => 'productqty', + 'label' => 'Quantity', + 'type' => 'number', + 'sortable' => true, + 'searchable' => false, + 'width' => '100px' + ]); } - public function render() - { - return $this->createProductDataGrid()->render(); + public function prepareActions() { + $this->addAction([ + 'type' => 'Edit', + 'route' => 'admin.catalog.products.edit', + 'icon' => 'icon pencil-lg-icon' + ]); + + $this->addAction([ + 'type' => 'Delete', + 'route' => 'admin.catalog.products.delete', + 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), + 'icon' => 'icon trash-icon' + ]); } - public function export() - { - $paginate = false; - return $this->createProductDataGrid()->render($paginate); - } + public function prepareMassActions() { + $this->addMassAction([ + 'type' => 'delete', + 'action' => route('admin.catalog.products.massdelete'), + 'method' => 'DELETE' + ]); + $this->addMassAction([ + 'type' => 'update', + 'action' => route('admin.catalog.products.massupdate'), + 'method' => 'PUT', + 'options' => [ + 0 => true, + 1 => false, + ] + ]); + } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index bc285dae5..4aaa1f1ff 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class RolesDataGrid extends AbsGrid +class RolesDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index a79da325f..079c546ac 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class SliderDataGrid extends AbsGrid +class SliderDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index b71bd21eb..920d0b05c 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class TaxCategoryDataGrid extends AbsGrid +class TaxCategoryDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index 1598965b0..5b99fddf2 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class TaxRateDataGrid extends AbsGrid +class TaxRateDataGrid extends DataGrid { public $allColumns = []; diff --git a/packages/Webkul/Admin/src/DataGrids/TestDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TestDataGrid.php deleted file mode 100644 index 441d3c646..000000000 --- a/packages/Webkul/Admin/src/DataGrids/TestDataGrid.php +++ /dev/null @@ -1,147 +0,0 @@ - @prashant-webkul - * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) - */ -class TestDataGrid extends AbsGrid -{ - public $allColumns = []; - - public function prepareQueryBuilder() - { - $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id', 'products_grid.sku', 'products_grid.name', 'products.type', 'products_grid.status', 'products_grid.price', 'products_grid.quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); - - $this->setQueryBuilder($queryBuilder); - } - - public function setIndex() { - $this->index = 'product_id'; //the column that needs to be treated as index column - } - - // public function setGridName() { - // $this->gridName = 'products_grid'; // should be the table name for getting proper index - // } - - public function addColumns() - { - $this->addColumn([ - 'index' => 'products_grid.product_id', - 'alias' => 'productid', - 'label' => 'ID', - 'type' => 'number', - 'searchable' => false, - 'sortable' => true, - 'width' => '40px' - ]); - - $this->addColumn([ - 'index' => 'products_grid.sku', - 'alias' => 'productsku', - 'label' => 'SKU', - 'type' => 'string', - 'searchable' => true, - 'sortable' => true, - 'width' => '100px' - ]); - - $this->addColumn([ - 'index' => 'products_grid.name', - 'alias' => 'productname', - 'label' => 'Name', - 'type' => 'string', - 'searchable' => true, - 'sortable' => true, - 'width' => '100px' - ]); - - $this->addColumn([ - 'index' => 'products.type', - 'alias' => 'producttype', - 'label' => 'Type', - 'type' => 'string', - 'sortable' => true, - 'searchable' => true, - 'width' => '100px' - ]); - - $this->addColumn([ - 'index' => 'products_grid.status', - 'alias' => 'productstatus', - 'label' => 'Status', - 'type' => 'boolean', - 'sortable' => true, - 'searchable' => false, - 'width' => '100px', - 'wrapper' => function($value) { - if($value == 1) - return 'Active'; - else - return 'Inactive'; - } - ]); - - $this->addColumn([ - 'index' => 'products_grid.price', - 'alias' => 'productprice', - 'label' => 'Price', - 'type' => 'number', - 'sortable' => true, - 'searchable' => false, - 'width' => '100px', - 'wrapper' => function($value) { - return core()->formatBasePrice($value); - } - ]); - - $this->addColumn([ - 'index' => 'products_grid.quantity', - 'alias' => 'productqty', - 'label' => 'Quantity', - 'type' => 'number', - 'sortable' => true, - 'searchable' => false, - 'width' => '100px' - ]); - } - - public function prepareActions() { - $this->addAction([ - 'type' => 'Edit', - 'route' => 'admin.catalog.products.edit', - 'icon' => 'icon pencil-lg-icon' - ]); - - $this->addAction([ - 'type' => 'Delete', - 'route' => 'admin.catalog.products.delete', - 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']), - 'icon' => 'icon trash-icon' - ]); - } - - public function prepareMassActions() { - $this->addMassAction([ - 'type' => 'delete', - 'action' => route('admin.catalog.products.massdelete'), - 'method' => 'DELETE' - ]); - - $this->addMassAction([ - 'type' => 'update', - 'action' => route('admin.catalog.products.massupdate'), - 'method' => 'PUT', - 'options' => [ - 0 => true, - 1 => false, - ] - ]); - } -} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index fe40caafd..a7f8579d0 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -2,7 +2,7 @@ namespace Webkul\Admin\DataGrids; -use Webkul\Ui\DataGrid\AbsGrid; +use Webkul\Ui\DataGrid\DataGrid; use DB; /** @@ -11,7 +11,7 @@ use DB; * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class UserDataGrid extends AbsGrid +class UserDataGrid extends DataGrid { public $allColumns = []; 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 5d75b7260..639eb9ccd 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 @@ -22,7 +22,7 @@ {{-- @inject('product','Webkul\Admin\DataGrids\ProductDataGrid') {!! $product->render() !!} --}} - @inject('products', 'Webkul\Admin\DataGrids\TestDataGrid') + @inject('products', 'Webkul\Admin\DataGrids\ProductDataGrid') {!! $products->render() !!} diff --git a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php b/packages/Webkul/Ui/src/DataGrid/AbsGrid.php deleted file mode 100644 index 163d08212..000000000 --- a/packages/Webkul/Ui/src/DataGrid/AbsGrid.php +++ /dev/null @@ -1,197 +0,0 @@ - - * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) - */ -abstract class AbsGrid -{ - protected $index = null; - protected $columns = []; - protected $allColumns = []; - protected $queryBuilder = []; - protected $collection = []; - protected $actions = []; - protected $massActions = []; - protected $request; - protected $parse; - // protected $enableMassAction = false; - // protected $gridName = null; - - abstract public function prepareMassActions(); - abstract public function prepareActions(); - abstract public function prepareQueryBuilder(); - abstract public function addColumns(); - abstract public function setIndex(); - - /** - * Parse the URL and get it ready to be used. - */ - private function parse() - { - $parsed = []; - $unparsed = url()->full(); - - if (count(explode('?', $unparsed)) > 1) { - $to_be_parsed = explode('?', $unparsed)[1]; - - parse_str($to_be_parsed, $parsed); - unset($parsed['page']); - } - - return $parsed; - } - - public function addColumn($column) - { - array_push($this->columns, $column); - - $this->setAllColumnDetails($column); - } - - public function setAllColumnDetails($column) - { - array_push($this->allColumns, $column); - } - - public function setQueryBuilder($queryBuilder) - { - $this->queryBuilder = $queryBuilder; - } - - public function addAction($action) - { - array_push($this->actions, $action); - } - - public function addMassAction($massAction) - { - array_push($this->massActions, $massAction); - } - - public function getCollection() - { - $p = $this->parse(); - - if(count($p)) { - $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $p); - - // return $filteredOrSortedCollection->get(); - - if (config()->has('datagrid.pagination')) { - return $filteredOrSortedCollection->paginate(config('datagrid.pagination')); - } else { - return $filteredOrSortedCollection->get(); - } - } - - if (config()->has('datagrid.pagination')) { - $this->collection = $this->queryBuilder->paginate(config('datagrid.pagination')); - } else { - $this->collection = $this->queryBuilder->get(); - } - - if ($this->collection) { - return $this->collection; - } else { - dd('no records found'); - } - } - - /** - * To find the alias of the column and by taking the column name. - * - * @return string - */ - public function findColumnType($columnAlias) { - foreach($this->allColumns as $column) { - if($column['alias'] == $columnAlias) { - return [$column['type'], $column['index']]; - } - } - } - - public function sortOrFilterCollection($collection, $parseInfo) { - - foreach($parseInfo as $key => $info) { - $columnType = $this->findColumnType($key)[0]; - $columnName = $this->findColumnType($key)[1]; - - if($key == "sort") { - $count_keys = count(array_keys($info)); - - if ($count_keys > 1) { - throw new \Exception('Fatal Error! Multiple Sort keys Found, Please Resolve the URL Manually'); - } - - $columnName = $this->findColumnType(array_keys($info)[0]); - - return $collection->orderBy( - $columnName[1], - array_values($info)[0] - ); - } else if($key == "search") { - $count_keys = count(array_keys($info)); - - if($count_keys > 1) { - throw new \Exception('Multiple Search keys Found, Please Resolve the URL Manually'); - } - - if($count_keys == 1) { - return $collection->where(function() use($collection, $info) { - foreach ($this->allColumns as $column) { - if($column['searchable'] == true) - $collection->orWhere($column['index'], 'like', '%'.$info['all'].'%'); - } - }); - } - } else { - if (array_keys($info)[0] == "like" || array_keys($info)[0] == "nlike") { - foreach ($info as $condition => $filter_value) { - return $collection->where( - $columnName, - config("datagrid.operators.{$condition}"), - '%'.$filter_value.'%' - ); - } - } else { - foreach ($info as $condition => $filter_value) { - if($columnType == 'datetime') { - return $collection->whereDate( - $columnName, - config("datagrid.operators.{$condition}"), - $filter_value - ); - } else { - return $collection->where( - $columnName, - config("datagrid.operators.{$condition}"), - $filter_value - ); - } - } - } - } - } - } - - public function render() - { - $this->addColumns(); - - $this->setIndex(); - - $this->prepareActions(); - - $this->prepareMassActions(); - - $this->prepareQueryBuilder(); - - return view('ui::testgrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index]); - } -} \ No newline at end of file diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php old mode 100755 new mode 100644 index 650c0559f..feaeab4e5 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -3,525 +3,31 @@ namespace Webkul\Ui\DataGrid; use Illuminate\Http\Request; -use Illuminate\Support\Collection; -use Illuminate\Support\Validate; -use Illuminate\Pagination\Paginator; -use Illuminate\Support\Facades\DB; -use Webkul\Ui\DataGrid\Helpers\Column; -use Webkul\Ui\DataGrid\Helpers\Pagination; -use Webkul\Ui\DataGrid\Helpers\Css; -use URL; - /** - * DataGrid controller - * - * @author Nikhil Malik @ysmnikhil - * & - * @author Prashant Singh @prashant-webkul + * Product Data Grid class * + * @author Jitendra Singh * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class DataGrid +abstract class DataGrid { + protected $index = null; + protected $columns = []; + protected $allColumns = []; + protected $queryBuilder = []; + protected $collection = []; + protected $actions = []; + protected $massActions = []; + protected $request; + protected $parse; + protected $enableMassAction = false; + // protected $gridName = null; - /** - * Name of DataGrid - * - * @var string - */ - protected $name; - - - /** - * select from table(s) - * - * @var string - */ - protected $select; - - - /** - * Table - * @var Boolean for aliasing - */ - protected $aliased; - - - /** - * Pagination variable - * @var String - */ - protected $perpage; - - /** - * Table - * - * @var String Classs name $table - */ - protected $table; - - /** - * Join - * - * @var Array name $join - * - * [ - * 'join' => 'left', - * 'table' => 'posts', - * 'primaryKey' => 'user.id', - * 'condition' => '=', - * 'secondryKey' => 'posts.user_id', - * 'callback' => 'not supported yet' - * ] - */ - protected $join; - - /** - * Collection Object of Column $columns - * - * @var Collection - */ - protected $columns; - - /** - * array of columns to be filtered - * - * @var Array - */ - protected $filterable; - - /** - * array of columns to be searched - * - * @var Array - */ - protected $searchable; - - /** - * mass operations - * - * @var Array - */ - protected $massoperations; - - /** - * Pagination $pagination - * - * @var Pagination - */ - protected $pagination; - - /** - * Css $css - * - * @var Css - */ - protected $css; - - /** - * Actions $action - * - * @var action - */ - protected $actions; - - /** - * URL parse $parsed - * - * @var parse - */ - protected $parsed; - - /* - public function __construct ( - $name = null , - $table = null , - array $join = [], - Collection $columns = null, - Pagination $pagination = null - ) { - $this->make( - $name, - $table, - $join, - $columns, - $pagination - ); - return $this; - - Separates the bags in the array of make attributes - } - */ - - //Prepares the input parameters passed as the configuration for datagrid. - public function make($args) - { - // list($name, $select, $table, $join, $columns) = array_values($args); - $name = $select = $aliased = $table = false; - $join = $columns = $filterable = $searchable = - $massoperations = $css = $actions = []; - - extract($args); - - return $this->build($name, $select, $filterable, $searchable, $massoperations, $aliased, $perpage, $table, $join, $columns, $css, $actions); - } - - //This assigns the private and public properties of the datagrid classes from make functions - public function build ( - string $name = null, - string $select = null, - array $filterable = [], - array $searchable = [], - array $massoperations = [], - bool $aliased = false, - int $perpage = 0, - string $table = null, - array $join = [], - array $columns = null, - array $css = [], - array $actions = [], - Pagination $pagination = null - ) { - $this->request = Request::capture(); - $this->setName($name); - $this->setAlias($aliased); - $this->setTable($table); - $this->setSelect($select); - $this->setFilterable($filterable); - $this->setSearchable($filterable); - $this->setMassOperations($massoperations); - $this->setPerPage($perpage); - $this->setJoin($join); - $this->addColumns($columns, true); - $this->setCss($css); - $this->setOperators(); - $this->setActions($actions); - // $this->addPagination($pagination); - - return $this; - } - - /** - * Set Name. - * - * @return $this - */ - public function setName(string $name) - { - $this->name = $name ? : 'Default' . time(); - return $this; - } - - /** - * Set Select. - * - * @return $this - */ - public function setSelect($select) - { - if (!$select) { - $select = config('datagrid.select'); - - if ($this->aliased) { - $alias = $this->findTableAlias(); - - $select = $alias.'.'.$select; - } - } - - $this->select = $select; - - return $this; - } - - /** - * Set Filterable - * - * @return $this - */ - public function setFilterable(array $filterable) - { - $this->filterable = $filterable ? : []; - return $this; - } - - /** - * Set Searchable columns - * - * @return $this - */ - public function setSearchable($searchable) - { - $this->searchable = $searchable ? : []; - return $this; - } - - /** - * Set mass operations - * - * @return $this - */ - public function setMassOperations($massops) - { - $this->massoperations = $massops ? : []; - return $this; - } - - /** - * Set alias parameter to know whether aliasing is true or not. - * - * @return $this. - */ - public function setAlias(bool $aliased) - { - $this->aliased = $aliased ? : false; - return $this; - } - - /** - * Set the default pagination for data grid. - * - * @return $this - */ - public function setPerPage($perpage) - { - $this->perpage = $perpage ? : 5; - return $this; - } - - /** - * Set table name in front of query scope. - * - * @return $this - */ - public function setTable(string $table) - { - $this->table = $table ?: false; - return $this; - } - - /** - * Set join bag if present. - * - * @return $this - */ - public function setJoin(array $join) - { - $this->join = $join ?: []; - return $this; - } - - /** - * Adds the custom css rules - * - * @return $this - */ - private function setCss($css = []) - { - $this->css = new Css($css); - return $this->css; - } - - - /** - * Adds operands to be used for query condition - * - * @return $this - */ - public function setOperators() - { - $operands = [ - 'eq' => "=", - 'lt' => "<", - 'gt' => ">", - 'lte' => "<=", - 'gte' => ">=", - 'neqs' => "<>", - 'neqn' => "!=", - 'like' => "like", - 'nlike' => "not like", - ]; - - $this->operators = $operands; - - return $this; - } - - /** - * setFilterableColumns - * - * @return $this - */ - // public function setFilterableColumns($filterable_columns = []) - // { - // $this->join = $filterable_columns ?: []; - // return $this; - // } - - /** - * get alias of the leftmost table - * - * @return null|string - */ - public function findTableAlias() { - if($this->aliased) { - $alias = trim(explode('as', $this->table)[1]); - } else { - $alias = null; - } - - return $alias; - } - - /** - * Section actions bag here. - * - * @return $this - */ - public function setActions($actions = []) { - $this->actions = $actions ?: []; - return $this; - } - - /** - * Add Columns. - * - * @return $this - */ - public function addColumns($columns = [], $reCreate = false) - { - if ($reCreate) { - $this->columns = new Collection(); - } - - if ($columns) { - foreach ($columns as $column) { - $this->addColumn($column); - } - } - - return $this; - } - - /** - * Add Column. - * - * @return $this - */ - public function addColumn($column = []) - { - if ($column instanceof Column) { - $this->columns->push($column); - } elseif (gettype($column) == 'array' && $column) { - $this->columns->push(new Column($column, $this->request)); - } else { - throw new \Exception("DataGrid: Add Column argument is not valid!"); - } - - return $this; - } - - /** - * Add multiple columns, not being used currently - * - * @return $this - */ - private function addColumnMultiple($column = [], $multiple = false) - { - if ($column instanceof Column) { - if ($multiple) { - if ($this->columns->offsetExists($column->getName())) { - $this->columns->offsetSet($column->getName(). time(), $column); - } else { - $this->columns->offsetSet($column->getName(), $column); - } - } else { - $this->columns->offsetSet($column->getName(), $column); - } - } elseif (gettype($column) == 'array' && $column) { - $columnObj = new Column($column); - if ($multiple) { - if ($this->columns->offsetExists($columnObj->getName())) { - $this->columns->offsetSet($columnObj->getName(). time(), $columnObj); - } else { - $this->columns->offsetSet($columnObj->getName(), $columnObj); - } - } else { - $this->columns->offsetSet($columnObj->getName(), $columnObj); - } - } else { - throw new \Exception("DataGrid: Add Column argument is not valid!"); - } - return $this; - } - - /** - * Add Pagination. - * - * @return $this - */ - public function addPagination($pagination = []) - { - if ($pagination instanceof Pagination) { - $this->pagination = $pagination; - } elseif (gettype($pagination) == 'array' && $pagination) { - $this->pagination = new Pagination($pagination); - } else { - throw new \Exception("DataGrid: Pagination argument is not valid!"); - } - - return $this; - } - - /** - * Used for selecting the columns got in make from controller. - * - * @return $this - */ - private function getSelect() - { - $select = []; - - if ($this->select) { - $this->query->addselect($this->select); - } - - foreach ($this->columns as $column) { - $this->query->addselect(DB::raw($column->name.' as '.$column->alias)); - } - - // $this->query->select(...$select); - } - - /** - * To find the alias - * of the column and - * by taking the column - * name. - * @return string - */ - public function findColumnAlias($column_alias) { - foreach($this->columns as $column) { - if($column->alias == $column_alias) { - return $column->name; - } - } - } - - /** - * To find the alias - * of the column and - * by taking the column - * name. - * @return string - */ - public function findColumnType($column_alias) { - foreach($this->columns as $column) { - if($column->alias == $column_alias) { - return $column->type; - } - } - } + abstract public function prepareMassActions(); + abstract public function prepareActions(); + abstract public function prepareQueryBuilder(); + abstract public function addColumns(); + abstract public function setIndex(); /** * Parse the URL and get it ready to be used. @@ -536,363 +42,156 @@ class DataGrid parse_str($to_be_parsed, $parsed); unset($parsed['page']); + } - return $parsed; + return $parsed; + } + + public function addColumn($column) + { + array_push($this->columns, $column); + + $this->setAllColumnDetails($column); + } + + public function setAllColumnDetails($column) + { + array_push($this->allColumns, $column); + } + + public function setQueryBuilder($queryBuilder) + { + $this->queryBuilder = $queryBuilder; + } + + public function addAction($action) + { + array_push($this->actions, $action); + } + + public function addMassAction($massAction) + { + array_push($this->massActions, $massAction); + } + + public function getCollection() + { + $p = $this->parse(); + + if(count($p)) { + $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $p); + + // return $filteredOrSortedCollection->get(); + + if (config()->has('datagrid.pagination')) { + return $filteredOrSortedCollection->paginate(config('datagrid.pagination')); + } else { + return $filteredOrSortedCollection->get(); + } + } + + if (config()->has('datagrid.pagination')) { + $this->collection = $this->queryBuilder->paginate(config('datagrid.pagination')); } else { - return $parsed; + $this->collection = $this->queryBuilder->get(); + } + + if ($this->collection) { + return $this->collection; + } else { + dd('no records found'); } } /** - * ->join('contacts', 'users.id', '=', 'contacts.user_id') + * To find the alias of the column and by taking the column name. * - * @return $this->query + * @return string */ - private function getQueryWithJoin() - { - foreach ($this->join as $join) { - $this->query->{$join['join']}($join['table'], $join['primaryKey'], $join['condition'], $join['secondaryKey']); - - if(isset($join['conditions'])) { - // dd($join['conditions']['condition'][0], $join['conditions']['condition'][1]); - $this->query->{$join['join']}($join['table'], $join['primaryKey'], $join['condition'], $join['secondaryKey'])->where($join['conditions']['condition'][0], $join['conditions']['condition'][1]); + public function findColumnType($columnAlias) { + foreach($this->allColumns as $column) { + if($column['alias'] == $columnAlias) { + return [$column['type'], $column['index']]; } } } - private function getQueryWithColumnFilters() - { - // config()->set('key', $value); - foreach ($this->columns as $column) { - if ($column->filter) { // if the filter bag in array exists then these will be applied. - // if (count($column->filter['condition']) == count($column->filter['condition'], COUNT_RECURSIVE)) { - if (count($column->filter['condition']) == 2) { - $this->query->{$column->filter['function']}(...$column->filter['condition']); - } else { - if (count($column->filter['condition']) == 3) { - $this->query->{$column->filter['function']}( - extract( - array_combine( - // ['key', 'condition', 'value'], - array_fill( //will work with all kind of where conditions - 0, - (count($column->filter['condition']) - 1), - 'array_fill_nikhil'.time() - ), - $column->filter['condition'] - ) - ) - ); - } + public function sortOrFilterCollection($collection, $parseInfo) { + + foreach($parseInfo as $key => $info) { + $columnType = $this->findColumnType($key)[0]; + $columnName = $this->findColumnType($key)[1]; + + if($key == "sort") { + $count_keys = count(array_keys($info)); + + if ($count_keys > 1) { + throw new \Exception('Fatal Error! Multiple Sort keys Found, Please Resolve the URL Manually'); } - } - } - } - /** - * Function runs when filters, sort, search any of it is applied - * - * @return QueryBuilder object - */ - private function getQueryWithFilters() - { - $parsed = $this->parse(); + $columnName = $this->findColumnType(array_keys($info)[0]); - if ($this->aliased) { //aliasing is expected in this case or it will be changed to presence of join bag - foreach ($parsed as $key=>$value) { - $column_name = $this->findColumnAlias($key); - $column_type = $this->findColumnType($key); + return $collection->orderBy( + $columnName[1], + array_values($info)[0] + ); + } else if($key == "search") { + $count_keys = count(array_keys($info)); - if ($key == "sort") { - //resolve the case with the column helper class - if(substr_count($key,'_') >= 1) - $column_name = $this->findColumnAlias($key); + if($count_keys > 1) { + throw new \Exception('Multiple Search keys Found, Please Resolve the URL Manually'); + } - //case that don't need any resolving - $count_keys = count(array_keys($value)); - if ($count_keys == 1) { - $this->query->orderBy( - str_replace('_', '.', array_keys($value)[0]), - array_values($value)[0] - ); - } else { - throw new \Exception('Multiple Sort keys Found, Please Resolve the URL Manually'); - } - } elseif ($key == "search") { - - $count_keys = count(array_keys($value)); - if($count_keys==1) - $this->query->where(function ($query) use ($parsed) { - foreach ($this->searchable as $search) { - if (strpos($search['column'], 'CONCAT') !== false) { - $query->orWhere(DB::raw($search['column']), 'like', '%'.$parsed['search']['all'].'%'); - } else { - $query->orWhere($search['column'], 'like', '%'.$parsed['search']['all'].'%'); - } + if($count_keys == 1) { + return $collection->where(function() use($collection, $info) { + foreach ($this->allColumns as $column) { + if($column['searchable'] == true) + $collection->orWhere($column['index'], 'like', '%'.$info['all'].'%'); } }); - } else { - $column_name = $this->findColumnAlias($key); - if (array_keys($value)[0]=="like" || array_keys($value)[0]=="nlike") { - foreach ($value as $condition => $filter_value) { - if (strpos($column_name, 'CONCAT') !== false) { - $this->query->orWhere(DB::raw($column_name), $this->operators[$condition], - '%'.$filter_value.'%'); - } else { - $this->query->where( - $column_name, - $this->operators[$condition], - '%'.$filter_value.'%' - ); - } - } - } else { - foreach ($value as $condition => $filter_value) { - if($column_type == 'datetime') { - $this->query->whereDate( - $column_name, - $this->operators[$condition], - $filter_value - ); - } else { - if (strpos($column_name, 'CONCAT') !== false) { - $this->query->orWhere(DB::raw($column_name), $this->operators[$condition], - $filter_value); - } else { - $this->query->where( - $column_name, - $this->operators[$condition], - $filter_value - ); - } - } - } - } } - } - } else { - //this is the case for the non aliasing. - foreach ($parsed as $key => $value) { - if ($key=="sort") { - - //case that don't need any resolving - $count_keys = count(array_keys($value)); - if ($count_keys==1) { - - $this->query->orderBy( - array_keys($value)[0], - array_values($value)[0] + } else { + if (array_keys($info)[0] == "like" || array_keys($info)[0] == "nlike") { + foreach ($info as $condition => $filter_value) { + return $collection->where( + $columnName, + config("datagrid.operators.{$condition}"), + '%'.$filter_value.'%' ); - - } else { - throw new \Exception('Multiple Sort keys Found, Please Resolve the URL Manually.'); } - } elseif ($key=="search") { - $count_keys = count(array_keys($value)); - if($count_keys==1) - $this->query->where(function ($query) use ($parsed) { - foreach ($this->searchable as $search) { - if (strpos($search['column'], 'CONCAT') !== false) { - $query->orWhere(DB::raw($search['column']), 'like', '%'.$parsed['search']['all'].'%'); - } else { - $query->orWhere($search['column'], 'like', '%'.$parsed['search']['all'].'%'); - } - } - }); - else - throw new \Exception('Multiple Search keys Found, Please Resolve the URL Manually.'); - } else { - // $column_name = $key; - $column_name = $this->findColumnAlias($key); - $column_type = $this->findColumnType($key); - - if (array_keys($value)[0]=="like" || array_keys($value)[0]=="nlike") { - foreach ($value as $condition => $filter_value) { - if (strpos($column_name, 'CONCAT') !== false) { - $this->query->orWhere(DB::raw($column_name), $this->operators[$condition], - '%'.$filter_value.'%'); - } else { - $this->query->where( - $column_name, - $this->operators[$condition], - '%'.$filter_value.'%' - ); - } - } - } else { - foreach ($value as $condition => $filter_value) { - if($column_type == 'datetime') { - $this->query->whereDate( - $column_name, - $this->operators[$condition], - $filter_value - ); - } else { - if (strpos($column_name, 'CONCAT') !== false) { - $this->query->orWhere(DB::raw($column_name), $this->operators[$condition], - $filter_value); - } else { - $this->query->where( - $column_name, - $this->operators[$condition], - $filter_value - ); - } - } - } - } - } - } - } - } - - private function getDbQueryResults($pagination = true) - { - $parsed = $this->parse(); - - if ($this->aliased==true) { - //flags - $table_alias = false; - $join_table_alias = false; - $allowed_joins = false; - $other_joins = false; - $join_good = false; - - //prepare query object - $this->query = DB::table($this->table); - - //explode if alias is available - if (strpos('.', $this->table)) { - throw new \Exception("dot/s cannot be used in table names in mysql"); - } else { - $exploded = explode('as', $this->table); - } - - //check whether exploded string still has same table name - if ($exploded[0]==$this->table) { - $table_alias = false; - } else { - $table_alias = true; - $table_name = trim($exploded[0]); - $table_alias = trim($exploded[1]); - } - - //Run this if there are any selects priorly. - if (!empty($this->select)) { - $this->getSelect(); - } - - //Run this if there are joins - if (!empty($this->join)) { - - foreach ($this->join as $index => $join) { - - $name = strtolower($join['join']); - - //Allow joins i.e left or right - if ($name=='leftjoin' || $name=='rightjoin') { - - //check if the aliasing on the primary table and primaryKey in join is also the same - $primary_key_alias = trim(explode('.', $join['primaryKey'])[0]); - - if ($primary_key_alias == $table_alias) { - - $join_table_alias = explode('as', $join['table']); - - if (isset($join_table_alias)) { - - $alias1 = trim($join_table_alias[1]); //important!!!!! - - //check if the secondary table match column is not having '.' and has proper alias - $secondary_join_column = $join['secondaryKey']; - if (isset($secondary_join_column)) { - - $exploded_secondary = explode('.', $secondary_join_column); - $alias2 = trim($exploded_secondary[0]); - - if ($alias1 == $alias2) { - if($index==count($this->join)-1) - $this->getQueryWithJoin(); - $alias_proper_secondary = true; - } else { - throw new \Exception('Aliases of Join table and the secondary key columns do not match'); - } - } else { - throw new \Exception('Improper aliasing on secondary/join column for join'); - } - - } else { - throw new \Exception('Join/Secondary table alias is not found for join'); - } + foreach ($info as $condition => $filter_value) { + if($columnType == 'datetime') { + return $collection->whereDate( + $columnName, + config("datagrid.operators.{$condition}"), + $filter_value + ); } else { - throw new \Exception('Primary key and primary table aliases do not match for join'); + return $collection->where( + $columnName, + config("datagrid.operators.{$condition}"), + $filter_value + ); } - } else { - $other_joins = true; - throw new \Exception('Please check if there is some fault in your aliasing and do not use as in column names or you might have been using a join that is not allowed i.e cross, inner, etc use left and right join only'); } } } - - //Check for column filter bags and resolve aliasing - $this->getQueryWithColumnFilters(); - - if (!empty($parsed)) { - $this->getQueryWithFilters(); - } - - if ($pagination == 'true' && config('datagrid.distinct')) { - $this->results = $this->query->orderBy($this->select, 'desc')->distinct()->paginate($this->perpage)->appends(request()->except('page')); - } else if($pagination == 'true' && !config('datagrid.distinct')) { - $this->results = $this->query->orderBy($this->select, 'desc')->paginate($this->perpage)->appends(request()->except('page')); - }else { - $this->results = $this->query->orderBy($this->select, 'desc')->get(); - } - - return $this->results; - - } else { - - $this->query = DB::table($this->table); - - $this->getSelect(); - - $this->getQueryWithColumnFilters(); - - if (!empty($parsed)) { - $this->getQueryWithFilters(); - } - - if ($pagination == 'true') { - $this->results = $this->query->orderBy($this->select, 'desc')->paginate($this->perpage)->appends(request()->except('page')); - } else { - $this->results = $this->query->orderBy($this->select, 'desc')->get(); - } - - return $this->results; } } - /** - * Main Render Function, it renders views responsible for loading datagrid. - * - * @return view - */ - public function render($pagination = true) + public function render() { - $this->getDbQueryResults($pagination); + $this->addColumns(); - return view('ui::datagrid.index', [ - 'css' => $this->css, - 'table' => $this->table, - 'name' => $this->name, - 'results' => $this->results, - 'columns' => $this->columns, - 'filterable' =>$this->filterable, - 'operators' => $this->operators, - 'massoperations' => $this->massoperations, - 'actions' => $this->actions, - ]); + $this->setIndex(); + + $this->prepareActions(); + + $this->prepareMassActions(); + + $this->prepareQueryBuilder(); + + return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index]); } } \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php similarity index 75% rename from packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php rename to packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index 1269c11a0..c21495022 100644 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -11,19 +11,19 @@ @foreach($columns as $column) @php - $indexName = explode('.', $column['index']); + $tableIndex = explode('.', $column['index']); - $indexName = end($indexName); + $tableIndex = end($tableIndex); @endphp @if(isset($column['wrapper'])) @if(isset($column['closure']) && $column['closure'] == true) - {!! $column['wrapper']($record->{$index}) !!} + {!! $column['wrapper']($record->{$tableIndex}) !!} @else - {{ $column['wrapper']($record->{$index}) }} + {{ $column['wrapper']($record->{$tableIndex}) }} @endif @else - {{ $record->{$index} }} + {{ $record->{$tableIndex} }} @endif @endforeach diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/filters.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/filters.blade.php deleted file mode 100755 index 1e349aa7d..000000000 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/filters.blade.php +++ /dev/null @@ -1,132 +0,0 @@ -
-
-
- - -
- -
-
- -
-
- {{-- - - Stock - - - Available - - - --}} -
-
diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/head.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/head.blade.php similarity index 100% rename from packages/Webkul/Ui/src/Resources/views/testgrid/head.blade.php rename to packages/Webkul/Ui/src/Resources/views/datagrid/head.blade.php diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/index.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/index.blade.php deleted file mode 100755 index 12a8fc5aa..000000000 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/index.blade.php +++ /dev/null @@ -1,532 +0,0 @@ -
- {{-- For loading the filters from includes directory file --}} - @include('ui::datagrid.filters') - - {{-- for generating the table and its content --}} - @include('ui::datagrid.table') - - {{-- Section for datagrid javascript --}} - @push('scripts') - - @endpush -
diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/notused/column.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/notused/column.blade.php deleted file mode 100755 index 57f066df9..000000000 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/notused/column.blade.php +++ /dev/null @@ -1,18 +0,0 @@ -{{--
- - - - @foreach ($columns as $column) - - @endforeach - - - - - @foreach ($results as $result) - - @endforeach - - -
{{ $column->lable }}
{{ $result->{$columns[$loop->index]->name} }}
-
--}} diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/pagination.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/pagination.blade.php old mode 100755 new mode 100644 diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php old mode 100755 new mode 100644 index 01dd17288..987904c93 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -1,11 +1,637 @@
- {{-- @foreach($massoperations as $key => $value) - {{ $value['type'] }} - @endforeach - {{ dd($massoperations) }} --}} - - @include('ui::datagrid.table.head') - @include('ui::datagrid.table.body') -
- @include('ui::datagrid.pagination') + + + @if(config('datagrid.pagination')) + @include('ui::testgrid.pagination', ['results' => $results['records']]) + @endif + + @push('scripts') + + + + @endpush
\ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table/body.blade.php deleted file mode 100755 index adef7629b..000000000 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table/body.blade.php +++ /dev/null @@ -1,50 +0,0 @@ - - @if(count($results) == 0) - - - {{ __('ui::app.datagrid.no-records') }} - - - @endif - @foreach ($results as $result) - - @if(count($massoperations)) - - - - - - - @endif - @foreach ($columns as $column) - @if(isset($column->closure)) - @if($column->closure == true) - {!! $column->render($result) !!} - @endif - @else - {{ $column->render($result) }} - @endif - @endforeach - @if(count($actions)) - - @foreach($actions as $action) - - - - @endforeach - - @endif - - @endforeach - \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table/head.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table/head.blade.php deleted file mode 100755 index b6edace13..000000000 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table/head.blade.php +++ /dev/null @@ -1,79 +0,0 @@ - - @if(count($massoperations)) - - -
- - - - -
- @csrf() - - -
- -
- - @foreach($massoperations as $key => $value) - @if($value['type'] == 'update') - - @endif - @endforeach - - -
-
- - - @endif - - @if(count($massoperations)) - - - - - - - @endif - @foreach ($columns as $column) - @if($column->sortable == "true") - alias, ' as ')) - name); ?> - data-column-name="{{ $exploded_name[0] }}" - @else - data-column-name="{{ $column->alias }}" - @endif - - data-column-label="{{ $column->label }}" - data-column-sort="asc"> - {!! $column->sorting() !!} - - @else - - {!! $column->sorting() !!} - - @endif - @endforeach - @if(count($actions)) - - {{ __('ui::app.datagrid.actions') }} - - @endif - - \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/filters.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/filters.blade.php deleted file mode 100644 index b31ca660f..000000000 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/filters.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/pagination.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/pagination.blade.php deleted file mode 100644 index 90116cf07..000000000 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/pagination.blade.php +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php deleted file mode 100644 index 222cb405d..000000000 --- a/packages/Webkul/Ui/src/Resources/views/testgrid/table.blade.php +++ /dev/null @@ -1,637 +0,0 @@ -
- - - @if(config('datagrid.pagination')) - @include('ui::testgrid.pagination', ['results' => $results['records']]) - @endif - - @push('scripts') - - - - @endpush -
\ No newline at end of file From 128e31626521168ce7447778b0524b3971af0cff Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 16:55:10 +0530 Subject: [PATCH 05/23] pagination fixes --- config/datagrid.php | 7 +-- .../Admin/src/DataGrids/AttributeDataGrid.php | 7 ++- packages/Webkul/Ui/src/DataGrid/DataGrid.php | 46 +++++++++---------- .../Webkul/Ui/src/Resources/lang/en/app.php | 2 + .../Resources/views/datagrid/body.blade.php | 24 +++++----- .../Resources/views/datagrid/table.blade.php | 18 ++++---- 6 files changed, 57 insertions(+), 47 deletions(-) diff --git a/config/datagrid.php b/config/datagrid.php index c9b1ddc6c..d47cd7540 100644 --- a/config/datagrid.php +++ b/config/datagrid.php @@ -13,8 +13,9 @@ return [ * * Accepted Values = Array */ 'order' => [ - 'column' => 'id', - 'direction' => 'desc' + 'default' => 'descending', + 'descending' => 'desc', + 'ascending' => 'asc' ], /** @@ -84,6 +85,6 @@ return [ 7 => "orders", 8 => "limit", 9 => "offset", - 10 => "lock", + 10 => "lock" ] ]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 51d1238c8..287197ecf 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -15,6 +15,10 @@ class AttributeDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('attributes')->select('id')->addSelect('id', 'code', 'admin_name', 'type', 'is_required', 'is_unique', 'value_per_locale', 'value_per_channel'); @@ -22,7 +26,8 @@ class AttributeDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { + public function setIndex() + { $this->index = 'id'; //the column that needs to be treated as index column } diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index feaeab4e5..1145f6821 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -3,6 +3,7 @@ namespace Webkul\Ui\DataGrid; use Illuminate\Http\Request; + /** * Product Data Grid class * @@ -21,7 +22,7 @@ abstract class DataGrid protected $request; protected $parse; protected $enableMassAction = false; - // protected $gridName = null; + protected $itemsPerPage = 0; abstract public function prepareMassActions(); abstract public function prepareActions(); @@ -32,19 +33,19 @@ abstract class DataGrid /** * Parse the URL and get it ready to be used. */ - private function parse() + private function parseUrl() { - $parsed = []; + $parsedUrl = []; $unparsed = url()->full(); if (count(explode('?', $unparsed)) > 1) { $to_be_parsed = explode('?', $unparsed)[1]; - parse_str($to_be_parsed, $parsed); - unset($parsed['page']); + parse_str($to_be_parsed, $parsedUrl); + unset($parsedUrl['page']); } - return $parsed; + return $parsedUrl; } public function addColumn($column) @@ -72,35 +73,31 @@ abstract class DataGrid public function addMassAction($massAction) { array_push($this->massActions, $massAction); + + $this->enableMassAction = true; } public function getCollection() { - $p = $this->parse(); + $parsedUrl = $this->parseUrl(); - if(count($p)) { - $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $p); + if(count($parsedUrl)) { + $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $parsedUrl); - // return $filteredOrSortedCollection->get(); - - if (config()->has('datagrid.pagination')) { - return $filteredOrSortedCollection->paginate(config('datagrid.pagination')); + if($this->itemsPerPage > 0) { + return $filteredOrSortedCollection->paginate($this->itemsPerPage); } else { return $filteredOrSortedCollection->get(); } } - if (config()->has('datagrid.pagination')) { - $this->collection = $this->queryBuilder->paginate(config('datagrid.pagination')); + if ($this->itemsPerPage > 0) { + $this->collection = $this->queryBuilder->paginate($this->itemsPerPage); } else { $this->collection = $this->queryBuilder->get(); } - if ($this->collection) { - return $this->collection; - } else { - dd('no records found'); - } + return $this->collection; } /** @@ -108,7 +105,8 @@ abstract class DataGrid * * @return string */ - public function findColumnType($columnAlias) { + public function findColumnType($columnAlias) + { foreach($this->allColumns as $column) { if($column['alias'] == $columnAlias) { return [$column['type'], $column['index']]; @@ -116,8 +114,8 @@ abstract class DataGrid } } - public function sortOrFilterCollection($collection, $parseInfo) { - + public function sortOrFilterCollection($collection, $parseInfo) + { foreach($parseInfo as $key => $info) { $columnType = $this->findColumnType($key)[0]; $columnName = $this->findColumnType($key)[1]; @@ -192,6 +190,6 @@ abstract class DataGrid $this->prepareQueryBuilder(); - return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index]); + return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index, 'enableMassActions' => $this->enableMassAction, 'norecords' => trans('ui::datagrid.no-records')]); } } \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/lang/en/app.php b/packages/Webkul/Ui/src/Resources/lang/en/app.php index a0c6a07fc..bbd4c7b89 100755 --- a/packages/Webkul/Ui/src/Resources/lang/en/app.php +++ b/packages/Webkul/Ui/src/Resources/lang/en/app.php @@ -2,12 +2,14 @@ return [ 'datagrid' => [ 'actions' => 'Actions', + 'massaction' => [ 'mass-delete-confirm' => 'Do you really want to delete these selected :resource?', 'mass-update-status' => 'Do you really want to update status of these selected :resource?', 'delete' => 'Do you really want to delete this :resource?', 'edit' => 'Do you really want to edit this :resource?', ], + 'no-records' => 'No Records Found', 'filter-fields-missing' => 'Some of the required field is null, please check column, condition and value properly' ] diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index c21495022..7c20ee2be 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -1,29 +1,31 @@ @foreach($records as $key => $record) - - - + @if($enableMassAction) + + + - - - + + + + @endif @foreach($columns as $column) @php - $tableIndex = explode('.', $column['index']); + $columnIndex = explode('.', $column['index']); - $tableIndex = end($tableIndex); + $columnIndex = end($columnIndex); @endphp @if(isset($column['wrapper'])) @if(isset($column['closure']) && $column['closure'] == true) - {!! $column['wrapper']($record->{$tableIndex}) !!} + {!! $column['wrapper']($record->{$columnIndex}) !!} @else - {{ $column['wrapper']($record->{$tableIndex}) }} + {{ $column['wrapper']($record->{$columnIndex}) }} @endif @else - {{ $record->{$tableIndex} }} + {{ $record->{$columnIndex} }} @endif @endforeach diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index 987904c93..07f7c2e1d 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -2,7 +2,7 @@ @if(config('datagrid.pagination')) - @include('ui::testgrid.pagination', ['results' => $results['records']]) + @include('ui::datagrid.pagination', ['results' => $results['records']]) @endif @push('scripts') @@ -185,13 +185,15 @@ - - - + @if($results['enableMassActions']) + + + - - - + + + + @endif @foreach($results['columns'] as $key => $column) @@ -205,7 +207,7 @@ - @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns']]) + @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns'],'enableMassAction' => $results['enableMassActions']]) From 7785475eb9c734821cab07d5e82c6afeb8445eb8 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 17:23:36 +0530 Subject: [PATCH 06/23] mass actions enhanced and one bug remvoed causing value havoc --- .../src/DataGrids/CustomerReviewDataGrid.php | 8 ++++---- .../src/Http/Controllers/ReviewController.php | 18 ++++++++++-------- .../Resources/views/datagrid/table.blade.php | 3 ++- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 821f5d050..1a020969e 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -103,17 +103,17 @@ class CustomerReviewDataGrid extends DataGrid public function prepareMassActions() { $this->addMassAction([ 'type' => 'delete', - 'action' => route('admin.catalog.products.massdelete'), + 'action' => route('admin.customer.review.massdelete'), 'method' => 'DELETE' ]); $this->addMassAction([ 'type' => 'update', - 'action' => route('admin.catalog.products.massupdate'), + 'action' => route('admin.customer.review.massupdate'), 'method' => 'PUT', 'options' => [ - 0 => true, - 1 => false, + 'Disapprove' => 0, + 'Approve' => 1 ] ]); } diff --git a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php index 6f57dabae..147dac40f 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php @@ -174,16 +174,18 @@ class ReviewController extends Controller $review = $this->productReview->findOneByField('id', $value); try { - if($data['massaction-type'] == 1 && $data['update-options'] == 1 && $data['selected-option-text'] == 'Approve') { - Event::fire('customer.review.update.before', $value); + if($data['massaction-type'] == 'update') { + if($data['update-options'] == 1) { + Event::fire('customer.review.update.before', $value); - $review->update(['status' => 'approved']); + $review->update(['status' => 'approved']); - Event::fire('customer.review.update.after', $review); - } else if($data['massaction-type'] == 1 && $data['update-options'] == 0 && $data['selected-option-text'] == 'Disapprove') { - $review->update(['status' => 'pending']); - } else { - continue; + Event::fire('customer.review.update.after', $review); + } else if($data['update-options'] == 0) { + $review->update(['status' => 'pending']); + } else { + continue; + } } } catch(\Exception $e) { $suppressFlash = true; diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index 07f7c2e1d..a3143ade8 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -12,6 +12,7 @@
+
@@ -171,7 +172,7 @@
From 11fd8adfff42c89938aaf6091e8955710f89df53 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 18:35:25 +0530 Subject: [PATCH 07/23] pagination fixes in newly refactored datagrid --- config/datagrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php | 8 ++++---- .../Admin/src/DataGrids/AttributeFamilyDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php | 4 ++++ .../Admin/src/DataGrids/InventorySourcesDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php | 8 ++++++-- packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php | 4 ++++ .../Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php | 4 ++++ packages/Webkul/Admin/src/DataGrids/UserDataGrid.php | 4 ++++ packages/Webkul/Ui/src/DataGrid/DataGrid.php | 4 ++-- .../Ui/src/Resources/views/datagrid/table.blade.php | 1 - 24 files changed, 89 insertions(+), 10 deletions(-) diff --git a/config/datagrid.php b/config/datagrid.php index d47cd7540..6d9b1da1b 100644 --- a/config/datagrid.php +++ b/config/datagrid.php @@ -30,7 +30,7 @@ return [ * * Accepted Value = integer */ - // 'pagination' => 10, + 'pagination' => 10, 'operators' => [ 'eq' => "=", diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 287197ecf..5ea8ef294 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -81,7 +81,7 @@ class AttributeDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'width' => '100px', - 'wrapper' => function($value){ + 'wrapper' => function($value) { if($value == 1) return 'True'; else @@ -97,7 +97,7 @@ class AttributeDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'width' => '100px', - 'wrapper' => function($value){ + 'wrapper' => function($value) { if($value == 1) return 'True'; else @@ -113,7 +113,7 @@ class AttributeDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'width' => '100px', - 'wrapper' => function($value){ + 'wrapper' => function($value) { if($value == 1) return 'True'; else @@ -129,7 +129,7 @@ class AttributeDataGrid extends DataGrid 'sortable' => true, 'searchable' => false, 'width' => '100px', - 'wrapper' => function($value){ + 'wrapper' => function($value) { if($value == 1) return 'True'; else diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index 251df7e87..a00ae77c7 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -15,6 +15,10 @@ class AttributeFamilyDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('attribute_families')->select('id')->addSelect('id', 'code', 'name'); diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index bbee7ef83..2c89e327a 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -15,6 +15,10 @@ class CategoryDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('categories as cat')->select('cat.id', 'ct.name', 'cat.position', 'cat.status', 'ct.locale')->leftJoin('category_translations as ct', 'cat.id', '=', 'ct.category_id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index 31de86a10..c85bcae9c 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -15,6 +15,10 @@ class ChannelDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('channels')->addSelect('id', 'code', 'name', 'hostname'); diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index ba915e36b..3ee28fd74 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -15,6 +15,10 @@ class CurrencyDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('currencies')->addSelect('id', 'name', 'code'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 9a7f09dd6..c3035a24c 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -15,6 +15,10 @@ class CustomerDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('customers as cus')->addSelect('cus.id', 'cus.first_name', 'cus.email', 'cg.name')->leftJoin('customer_groups as cg', 'cus.customer_group_id', '=', 'cg.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index 6ffcee5ea..0d5c1a0c7 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -15,6 +15,10 @@ class CustomerGroupDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('customer_groups')->addSelect('id', 'name'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 1a020969e..edbdea5ed 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -15,6 +15,10 @@ class CustomerReviewDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('product_reviews as pr')->addSelect('pr.id', 'pr.title', 'pr.comment', 'pg.name', 'pr.status')->leftjoin('products_grid as pg', 'pr.product_id', '=', 'pg.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 2b3adc95b..36eeff15c 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -15,6 +15,10 @@ class ExchangeRatesDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('currency_exchange_rates as cer')->addSelect('cer.id', 'curr.name', 'cer.rate')->leftJoin('currencies as curr', 'cer.target_currency', '=', 'curr.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index 22828b670..5ebc39d7a 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -15,6 +15,10 @@ class InventorySourcesDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('inventory_sources')->addSelect('id', 'code', 'name', 'priority', 'status'); diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 762e13fe4..6e88189f4 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -15,6 +15,10 @@ class LocalesDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('locales')->addSelect('id', 'code', 'name'); diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index c68456f28..8fd3b64f2 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -15,6 +15,10 @@ class NewsLetterDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('subscribers_list')->addSelect('id', 'is_subscribed', 'email'); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index f455b1fb6..4204c9029 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -15,6 +15,10 @@ class OrderDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('orders')->select('id', 'base_grand_total', 'grand_total', 'created_at', 'channel_name', 'status')->addSelect(DB::raw('CONCAT(customer_first_name, " ", customer_last_name) as fullname')); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 3aebaed56..be79faa11 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -15,6 +15,10 @@ class OrderInvoicesDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('invoices')->select('id', 'order_id', 'state', 'grand_total', 'created_at'); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 9666227a6..5ded9d48b 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -15,6 +15,10 @@ class OrderShipmentsDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('shipments as ship')->select('ship.id', 'ship.order_id', 'ship.total_qty', 'is.name', 'ors.created_at as orderdate', 'ship.created_at')->addSelect(DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name) as custname'))->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id')->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index bbee2310d..eaa6182e3 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -15,6 +15,10 @@ class ProductDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id', 'products_grid.sku', 'products_grid.name', 'products.type', 'products_grid.status', 'products_grid.price', 'products_grid.quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); @@ -139,8 +143,8 @@ class ProductDataGrid extends DataGrid 'action' => route('admin.catalog.products.massupdate'), 'method' => 'PUT', 'options' => [ - 0 => true, - 1 => false, + 'Active' => 1, + 'Inactive' => 0 ] ]); } diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index 4aaa1f1ff..9bbf0a1bc 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -15,6 +15,10 @@ class RolesDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('roles')->addSelect('id', 'name', 'permission_type'); diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 079c546ac..2068badf0 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -15,6 +15,10 @@ class SliderDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('sliders as sl')->addSelect('sl.id', 'sl.title', 'ch.name')->leftJoin('channels as ch', 'sl.channel_id', '=', 'ch.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index 920d0b05c..f22dda005 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -15,6 +15,10 @@ class TaxCategoryDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_categories')->addSelect('id', 'name', 'code'); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index 5b99fddf2..da1c16c1a 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -15,6 +15,10 @@ class TaxRateDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_rates')->addSelect('id', 'identifier', 'state', 'country', 'tax_rate'); diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index a7f8579d0..49c69bd24 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -15,6 +15,10 @@ class UserDataGrid extends DataGrid { public $allColumns = []; + public function __construct() { + $this->itemsPerPage = 5; + } + public function prepareQueryBuilder() { $queryBuilder = DB::table('admins as u')->addSelect('u.id', 'u.name', 'u.status', 'u.email', 'ro.name')->leftJoin('roles as ro', 'u.role_id', '=', 'ro.id'); diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index 1145f6821..b002af5b0 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -85,14 +85,14 @@ abstract class DataGrid $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $parsedUrl); if($this->itemsPerPage > 0) { - return $filteredOrSortedCollection->paginate($this->itemsPerPage); + return $filteredOrSortedCollection->paginate($this->itemsPerPage)->appends(request()->except('page')); } else { return $filteredOrSortedCollection->get(); } } if ($this->itemsPerPage > 0) { - $this->collection = $this->queryBuilder->paginate($this->itemsPerPage); + $this->collection = $this->queryBuilder->paginate($this->itemsPerPage)->appends(request()->except('page')); } else { $this->collection = $this->queryBuilder->get(); } diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index a3143ade8..e1963a62b 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -144,7 +144,6 @@ @{{ filter.val }} -
From a2c02817f8f5a9b2a6007c7d50fccd1efc0798ec Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 11 Jan 2019 19:55:44 +0530 Subject: [PATCH 08/23] added labels to the filter tags --- .../Admin/src/DataGrids/AttributeDataGrid.php | 9 +- .../Resources/views/datagrid/table.blade.php | 90 +++++++++++++++---- 2 files changed, 77 insertions(+), 22 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 5ea8ef294..6386c47c3 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -15,7 +15,8 @@ class AttributeDataGrid extends DataGrid { public $allColumns = []; - public function __construct() { + public function __construct() + { $this->itemsPerPage = 5; } @@ -138,7 +139,8 @@ class AttributeDataGrid extends DataGrid ]); } - public function prepareActions() { + public function prepareActions() + { $this->addAction([ 'type' => 'Edit', 'route' => 'admin.catalog.attributes.edit', @@ -152,7 +154,8 @@ class AttributeDataGrid extends DataGrid ]); } - public function prepareMassActions() { + public function prepareMassActions() + { $this->addMassAction([ 'type' => 'delete', 'action' => route('admin.catalog.attributes.massdelete'), diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index e1963a62b..a3ba2831f 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -136,9 +136,9 @@
- @{{ filter.cond }} + @{{ filter.label }} Search - @{{ filter.column }} + @{{ filter.label }} @{{ filter.val }} @@ -309,23 +309,47 @@ }, getResponse() { + label = ''; + + for(colIndex in this.columns) { + if(this.columns[colIndex].alias == this.columnOrAlias) { + label = this.columns[colIndex].label; + } + } + if(this.type == 'string') { - this.formURL(this.columnOrAlias, this.stringCondition, this.stringValue) + this.formURL(this.columnOrAlias, this.stringCondition, this.stringValue, label) } else if(this.type == 'number') { - this.formURL(this.columnOrAlias, this.numberCondition, this.numberValue); + this.formURL(this.columnOrAlias, this.numberCondition, this.numberValue, label); } else if(this.type == 'boolean') { - this.formURL(this.columnOrAlias, this.booleanCondition, this.booleanValue); + this.formURL(this.columnOrAlias, this.booleanCondition, this.booleanValue, label); } else if(this.type == 'datetime') { - this.formURL(this.columnOrAlias, this.datetimeCondition, this.datetimeValue); + this.formURL(this.columnOrAlias, this.datetimeCondition, this.datetimeValue, label); } }, sortCollection(alias) { - this.formURL("sort", alias, this.sortAsc); + label = ''; + + for(colIndex in this.columns) { + if(this.columns[colIndex].alias == this.columnOrAlias) { + label = this.columns[colIndex].label; + } + } + + this.formURL("sort", alias, this.sortAsc, label); }, searchCollection(searchValue) { - this.formURL("search", 'all', searchValue); + label = ''; + + for(colIndex in this.columns) { + if(this.columns[colIndex].alias == this.columnOrAlias) { + label = this.columns[colIndex].label; + } + } + + this.formURL("search", 'all', searchValue, label); }, // function triggered to check whether the query exists or not and then call the make filters from the url @@ -391,7 +415,7 @@ }, //make array of filters, sort and search - formURL(column, condition, response) { + formURL(column, condition, response, label) { var obj = {}; if(column == "" || condition == "" || response == "" || column == null || condition == null || response == null) { @@ -406,15 +430,10 @@ for(j = 0; j < this.filters.length; j++) { if(this.filters[j].column == column) { if(this.filters[j].cond == condition && this.filters[j].val == response) { + filterRepeated = 1; + return false; } - - filterRepeated = 1; - - this.filters[j].cond = condition; - this.filters[j].val = response; - - this.makeURL(); } } @@ -422,7 +441,7 @@ obj.column = column; obj.cond = condition; obj.val = response; - + obj.label = label; this.filters.push(obj); obj = {}; @@ -456,6 +475,7 @@ this.filters[j].column = column; this.filters[j].cond = condition; this.filters[j].val = response; + this.filters[j].label = label; this.makeURL(); } @@ -471,6 +491,7 @@ obj.column = column; obj.cond = condition; obj.val = this.currentSort; + obj.label = label; this.filters.push(obj); @@ -483,11 +504,12 @@ if(column == "search") { search_found = 0; - for(j = 0;j < this.filters.length;j++) { + for(j = 0; j < this.filters.length; j++) { if(this.filters[j].column == "search") { this.filters[j].column = column; this.filters[j].cond = condition; this.filters[j].val = response; + this.filters[j].label = label; this.makeURL(); } @@ -503,6 +525,7 @@ obj.column = column; obj.cond = condition; obj.val = response; + obj.label = label; this.filters.push(obj); @@ -515,6 +538,7 @@ obj.column = column; obj.cond = condition; obj.val = response; + obj.label = label; this.filters.push(obj); @@ -562,10 +586,38 @@ cond = moreSplitted[i][0].replace(']','').split('[')[1] val = moreSplitted[i][1]; + label = 'cannotfindthislabel'; + + // for(colIndex in this.columns) { + // if(this.columns[colIndex].alias == this.columnOrAlias) { + // label = this.columns[colIndex].label; + // } + // } + obj.column = col; obj.cond = cond; obj.val = val; + if(col == "sort") { + label = ''; + + for(colIndex in this.columns) { + if(this.columns[colIndex].alias == obj.cond) { + obj.label = this.columns[colIndex].label; + } + } + } else if(col == "search") { + obj.label = 'Search'; + } else { + obj.label = ''; + + for(colIndex in this.columns) { + if(this.columns[colIndex].alias == obj.column) { + obj.label = this.columns[colIndex].label; + } + } + } + if(col != undefined && cond != undefined && val != undefined) this.filters.push(obj); @@ -622,7 +674,7 @@ } } - console.log(this.dataIds); + // console.log(this.dataIds); }, removeMassActions() { From ce2094d34c856898397bae670bbefdc0e574d61a Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 11 Jan 2019 20:03:40 +0530 Subject: [PATCH 09/23] Asset compiled for production --- packages/Webkul/Ui/webpack.mix.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/Webkul/Ui/webpack.mix.js b/packages/Webkul/Ui/webpack.mix.js index a460ad735..62c9ba3ef 100755 --- a/packages/Webkul/Ui/webpack.mix.js +++ b/packages/Webkul/Ui/webpack.mix.js @@ -4,7 +4,6 @@ require("laravel-mix-merge-manifest"); var publicPath = 'publishable/assets'; // var publicPath = "../../../public/vendor/webkul/ui/assets"; - mix.setPublicPath(publicPath).mergeManifest(); mix.disableNotifications(); From 6040e464fdf54b641e1b715307feb82d92ec913e Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 11 Jan 2019 20:07:53 +0530 Subject: [PATCH 10/23] Pagination count changed in all grids --- packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php | 2 +- .../Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php | 2 +- packages/Webkul/Admin/src/DataGrids/UserDataGrid.php | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 6386c47c3..f45534b51 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -17,7 +17,7 @@ class AttributeDataGrid extends DataGrid public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index a00ae77c7..8900b684d 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -16,7 +16,7 @@ class AttributeFamilyDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index 2c89e327a..1b26ceed5 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -16,7 +16,7 @@ class CategoryDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index c85bcae9c..b73b3f8fe 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -16,7 +16,7 @@ class ChannelDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index 3ee28fd74..24303783b 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -16,7 +16,7 @@ class CurrencyDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index c3035a24c..0d2311f76 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -16,7 +16,7 @@ class CustomerDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index 0d5c1a0c7..f1e4b7621 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -16,7 +16,7 @@ class CustomerGroupDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index edbdea5ed..0428ac953 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -16,7 +16,7 @@ class CustomerReviewDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 36eeff15c..4d76ed7a3 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -16,7 +16,7 @@ class ExchangeRatesDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index 5ebc39d7a..8cac66ece 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -16,7 +16,7 @@ class InventorySourcesDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 6e88189f4..a185b5e73 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -16,7 +16,7 @@ class LocalesDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index 8fd3b64f2..21c0dc18d 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -16,7 +16,7 @@ class NewsLetterDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index 4204c9029..3e488cfbe 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -16,7 +16,7 @@ class OrderDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index be79faa11..8470ae8cb 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -16,7 +16,7 @@ class OrderInvoicesDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 5ded9d48b..55d0b4fbc 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -16,7 +16,7 @@ class OrderShipmentsDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index eaa6182e3..a9e7028e5 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -16,7 +16,7 @@ class ProductDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index 9bbf0a1bc..8d672fa6c 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -16,7 +16,7 @@ class RolesDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 2068badf0..0b5b7b93c 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -16,7 +16,7 @@ class SliderDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index f22dda005..b3243341c 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -16,7 +16,7 @@ class TaxCategoryDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index da1c16c1a..b6035b400 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -16,7 +16,7 @@ class TaxRateDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 49c69bd24..14b09cd6e 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -16,7 +16,7 @@ class UserDataGrid extends DataGrid public $allColumns = []; public function __construct() { - $this->itemsPerPage = 5; + $this->itemsPerPage = 10; } public function prepareQueryBuilder() From 99bc1505e06a7d896034550a502ef2da07f3ac9d Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Sat, 12 Jan 2019 13:56:38 +0530 Subject: [PATCH 11/23] Wrote some minor tests for functional testing --- tests/Feature/ExampleTest.php | 21 ----------- tests/Feature/LoginTest.php | 67 +++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 21 deletions(-) delete mode 100755 tests/Feature/ExampleTest.php create mode 100644 tests/Feature/LoginTest.php diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100755 index f31e495ca..000000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,21 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/LoginTest.php b/tests/Feature/LoginTest.php new file mode 100644 index 000000000..5adf1a910 --- /dev/null +++ b/tests/Feature/LoginTest.php @@ -0,0 +1,67 @@ + 'http://127.0.0.1:8000']); + + $response = $this->get('/'); + + $response->assertStatus(200); + } + + public function testCustomerLoginPage() + { + config(['app.url' => 'http://127.0.0.1:8000']); + + $response = $this->get('/customer/login'); + + $response->assertStatus(200); + } + + public function testCategoriesPage() + { + $categoryUrlSlug = 'marvel-figurines'; + + config(['app.url' => 'http://127.0.0.1:8000']); + + $response = $this->get("/categories/{$categoryUrlSlug}"); + + $response->assertStatus(200); + } + + public function testCustomerRegistrationPage() + { + config(['app.url' => 'http://127.0.0.1:8000']); + + $response = $this->get("/customer/register"); + + $response->assertStatus(200); + } + + public function testCartPage() + { + config(['app.url' => 'http://127.0.0.1:8000']); + + $response = $this->get("/checkout/cart"); + + $response->assertStatus(200); + } +} From 571e266c15bd6c2aeb51245d87037bbc8467d51e Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Mon, 14 Jan 2019 14:46:18 +0530 Subject: [PATCH 12/23] Few more test cases related to customer authentication --- tests/Feature/Auth/AuthTest.php | 75 +++++++++++++++++++ .../{LoginTest.php => GeneralTest.php} | 26 ++++++- 2 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 tests/Feature/Auth/AuthTest.php rename tests/Feature/{LoginTest.php => GeneralTest.php} (79%) diff --git a/tests/Feature/Auth/AuthTest.php b/tests/Feature/Auth/AuthTest.php new file mode 100644 index 000000000..1996cedbc --- /dev/null +++ b/tests/Feature/Auth/AuthTest.php @@ -0,0 +1,75 @@ + 'http://127.0.0.1:8000']); + + $response = $this->get('/customer/login'); + + $response->assertSuccessful(); + + $response->assertViewIs('shop::customers.session.index'); + } + + public function testCustomerResgistrationPage() { + config(['app.url' => 'http://127.0.0.1:8000']); + + $response = $this->get('/customer/register'); + + $response->assertSuccessful(); + + $response->assertViewIs('shop::customers.signup.index'); + } + + public function testCustomerRegistration() { + $faker = \Faker\Factory::create(); + + $allCustomers = array(); + + $customers = app(Customer::class); + + $created = $customers->create([ + 'first_name' => explode(' ',$faker->name)[0], + 'last_name' => explode(' ',$faker->name)[0], + 'channel_id' => core()->getCurrentChannel()->id, + 'gender' => $faker->randomElement($array = array ('Male','Female', 'Other')), + 'date_of_birth' => $faker->date($format = 'Y-m-d', $max = 'now'), + 'email' => $faker->email, + 'password' => bcrypt('12345678'), + 'is_verified' => 1 + ]); + + $this->assertEquals($created->id, $created->id); + } + + public function testCustomerLogin() { + $customers = app(Customer::class); + + $customer = $customers->find(1); + + $user = ['email' => $customer->email, 'password' => $customer->password]; + + $this->assertAuthenticatedAs($user); + } +} diff --git a/tests/Feature/LoginTest.php b/tests/Feature/GeneralTest.php similarity index 79% rename from tests/Feature/LoginTest.php rename to tests/Feature/GeneralTest.php index 5adf1a910..b11a14949 100644 --- a/tests/Feature/LoginTest.php +++ b/tests/Feature/GeneralTest.php @@ -11,10 +11,10 @@ use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Foundation\Testing\RefreshDatabase; -class LoginTest extends TestCase +class GeneralTest extends TestCase { /** - * A basic test example. + * Test for home page * * @return void */ @@ -27,6 +27,11 @@ class LoginTest extends TestCase $response->assertStatus(200); } + /** + * Test for customer login + * + * @return void + */ public function testCustomerLoginPage() { config(['app.url' => 'http://127.0.0.1:8000']); @@ -36,6 +41,11 @@ class LoginTest extends TestCase $response->assertStatus(200); } + /** + * Test for categories page + * + * @return void + */ public function testCategoriesPage() { $categoryUrlSlug = 'marvel-figurines'; @@ -47,6 +57,11 @@ class LoginTest extends TestCase $response->assertStatus(200); } + /** + * Test for customer registration page + * + * @return void + */ public function testCustomerRegistrationPage() { config(['app.url' => 'http://127.0.0.1:8000']); @@ -56,6 +71,11 @@ class LoginTest extends TestCase $response->assertStatus(200); } + /** + * Test for checkout's cart page + * + * @return void + */ public function testCartPage() { config(['app.url' => 'http://127.0.0.1:8000']); @@ -64,4 +84,4 @@ class LoginTest extends TestCase $response->assertStatus(200); } -} +} \ No newline at end of file From c45401058b87c663e8012e769ddf84d9efa95d4c Mon Sep 17 00:00:00 2001 From: Vivek Sharma Date: Mon, 14 Jan 2019 18:28:23 +0530 Subject: [PATCH 13/23] [Updated: README.md file updated.] --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 71c8a1f4e..19d581197 100755 --- a/README.md +++ b/README.md @@ -89,11 +89,12 @@ default. **Run these Commands Below** ->> Run this command below, if installing from the zip else skip: +>> Run this command, in case installing from the zip else skip this command (no need to run this command if you are creating project through composer): ~~~ composer install ~~~ +>> Continue run these command below: ~~~ php artisan migrate ~~~ @@ -115,6 +116,14 @@ composer dump-autoload > That's it, now just execute the project on your specified domain entry point pointing to public folder inside installation directory. +> **Note: you can fetch your admin panel by follow below url:** +~~~ +http(s)://example.com/admin/login +~~~ +~~~ +email:admin@example.com +password:admin123 +~~~ ### 5. License Bagisto is a truly opensource E-Commerce framework which will always be free under the [MIT License](https://github.com/bagisto/bagisto/blob/master/LICENSE). From c0da6fbd73ce3d0991906481168af8b89e8475d0 Mon Sep 17 00:00:00 2001 From: jitendra Date: Mon, 14 Jan 2019 19:41:34 +0530 Subject: [PATCH 14/23] Attribute family creation issue fixed --- .../Resources/views/layouts/master.blade.php | 20 +++++++++++++++++++ .../AttributeFamilyRepository.php | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php index 9f4ee570c..0e3e8f806 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php @@ -15,21 +15,39 @@ @yield('css') + {!! view_render_event('bagisto.admin.layout.head') !!} + + {!! view_render_event('bagisto.admin.layout.body.before') !!} +
+ {!! view_render_event('bagisto.admin.layout.nav-top.before') !!} + @include ('admin::layouts.nav-top') + {!! view_render_event('bagisto.admin.layout.nav-top.after') !!} + + + {!! view_render_event('bagisto.admin.layout.nav-left.before') !!} + @include ('admin::layouts.nav-left') + {!! view_render_event('bagisto.admin.layout.nav-left.after') !!} + +
+ {!! view_render_event('bagisto.admin.layout.content.before') !!} + @yield('content-wrapper') + {!! view_render_event('bagisto.admin.layout.content.after') !!} +
@@ -59,6 +77,8 @@ @stack('scripts') + {!! view_render_event('bagisto.admin.layout.body.after') !!} + \ No newline at end of file diff --git a/packages/Webkul/Attribute/src/Repositories/AttributeFamilyRepository.php b/packages/Webkul/Attribute/src/Repositories/AttributeFamilyRepository.php index 452e52d01..6b8fb4791 100755 --- a/packages/Webkul/Attribute/src/Repositories/AttributeFamilyRepository.php +++ b/packages/Webkul/Attribute/src/Repositories/AttributeFamilyRepository.php @@ -84,7 +84,7 @@ class AttributeFamilyRepository extends Repository } } - Event::fire('catalog.attribute_family.create.after', $attributeFamily); + Event::fire('catalog.attribute_family.create.after', $family); return $family; } From 6e966384e57a1078f6af3717d5ac3c3dea9d4923 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Tue, 15 Jan 2019 13:03:41 +0530 Subject: [PATCH 15/23] Disabled customer email verfication and removed the phone field from the customer model --- README.md | 6 +-- config/datagrid.php | 4 +- .../Admin/src/DataGrids/AttributeDataGrid.php | 24 ++++++------ .../src/DataGrids/AttributeFamilyDataGrid.php | 8 +--- .../Admin/src/DataGrids/CategoryDataGrid.php | 8 +--- .../Admin/src/DataGrids/ChannelDataGrid.php | 8 +--- .../Admin/src/DataGrids/CurrencyDataGrid.php | 8 +--- .../Admin/src/DataGrids/CustomerDataGrid.php | 8 +--- .../src/DataGrids/CustomerGroupDataGrid.php | 8 +--- .../src/DataGrids/CustomerReviewDataGrid.php | 8 +--- .../src/DataGrids/ExchangeRatesDataGrid.php | 8 +--- .../DataGrids/InventorySourcesDataGrid.php | 8 +--- .../Admin/src/DataGrids/LocalesDataGrid.php | 8 +--- .../src/DataGrids/NewsLetterDataGrid.php | 8 +--- .../Admin/src/DataGrids/OrderDataGrid.php | 8 +--- .../src/DataGrids/OrderInvoicesDataGrid.php | 8 +--- .../src/DataGrids/OrderShipmentsDataGrid.php | 8 +--- .../Admin/src/DataGrids/ProductDataGrid.php | 8 +--- .../Admin/src/DataGrids/RolesDataGrid.php | 8 +--- .../Admin/src/DataGrids/SliderDataGrid.php | 8 +--- .../src/DataGrids/TaxCategoryDataGrid.php | 8 +--- .../Admin/src/DataGrids/TaxRateDataGrid.php | 8 +--- .../Admin/src/DataGrids/UserDataGrid.php | 8 +--- .../Customer/CustomerController.php | 5 ++- .../Controllers/RegistrationController.php | 2 +- .../Webkul/Customer/src/Models/Customer.php | 2 +- .../Http/Controllers/ProductController.php | 2 - packages/Webkul/Ui/src/DataGrid/DataGrid.php | 38 ++++++++++--------- .../Resources/views/datagrid/body.blade.php | 22 ++++++----- .../Resources/views/datagrid/table.blade.php | 27 +++++++------ 30 files changed, 90 insertions(+), 202 deletions(-) diff --git a/README.md b/README.md index 19d581197..404a12870 100755 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Bagisto is using power of both of these frameworks and making best out of it out **Run this Command** to download the project on to your local machine or server: ->> Note: If you have downloaded zip file then ignore this. +> Note: If you have downloaded zip file then ignore this. ~~~ composer create-project bagisto/bagisto @@ -89,12 +89,12 @@ default. **Run these Commands Below** ->> Run this command, in case installing from the zip else skip this command (no need to run this command if you are creating project through composer): +> Run this command, in case installing from the zip else skip this command (no need to run this command if you are creating project through composer): ~~~ composer install ~~~ ->> Continue run these command below: +> Continue run these command below: ~~~ php artisan migrate ~~~ diff --git a/config/datagrid.php b/config/datagrid.php index 6d9b1da1b..44fd576ba 100644 --- a/config/datagrid.php +++ b/config/datagrid.php @@ -5,7 +5,7 @@ return [ /** * Default Select Value */ - 'select' => 'id', + 'default_index' => 'id', /** * Default OrderBy @@ -30,7 +30,7 @@ return [ * * Accepted Value = integer */ - 'pagination' => 10, + 'paginate' => true, 'operators' => [ 'eq' => "=", diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index f45534b51..45cbc68a8 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -6,7 +6,7 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * AttributeDataGrid class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) @@ -15,10 +15,8 @@ class AttributeDataGrid extends DataGrid { public $allColumns = []; - public function __construct() - { - $this->itemsPerPage = 10; - } + protected $itemsPerPage = 5; //overriding the default items per page + public function prepareQueryBuilder() { @@ -36,7 +34,7 @@ class AttributeDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'attributeId', + // 'alias' => 'attributeId', 'label' => 'ID', 'type' => 'number', 'searchable' => false, @@ -46,7 +44,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'attributeCode', + // 'alias' => 'attributeCode', 'label' => 'Code', 'type' => 'string', 'searchable' => true, @@ -56,7 +54,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'admin_name', - 'alias' => 'attributeAdminName', + // 'alias' => 'attributeAdminName', 'label' => 'Name', 'type' => 'string', 'searchable' => true, @@ -66,7 +64,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'type', - 'alias' => 'attributeType', + // 'alias' => 'attributeType', 'label' => 'Type', 'type' => 'string', 'sortable' => true, @@ -76,7 +74,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'is_required', - 'alias' => 'attributeRequired', + // 'alias' => 'attributeRequired', 'label' => 'Required', 'type' => 'boolean', 'sortable' => true, @@ -92,7 +90,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'is_unique', - 'alias' => 'attributeIsUnique', + // 'alias' => 'attributeIsUnique', 'label' => 'Unique', 'type' => 'boolean', 'sortable' => true, @@ -108,7 +106,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'value_per_locale', - 'alias' => 'attributeValuePerLocale', + // 'alias' => 'attributeValuePerLocale', 'label' => 'Locale Based', 'type' => 'boolean', 'sortable' => true, @@ -124,7 +122,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'value_per_channel', - 'alias' => 'attributeValuePerChannel', + // 'alias' => 'attributeValuePerChannel', 'label' => 'Channel Based', 'type' => 'boolean', 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index 8900b684d..b5eb87620 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -6,18 +6,14 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * AttributeFamilyDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class AttributeFamilyDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } + protected $itemsPerPage = 5; public function prepareQueryBuilder() { diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index 1b26ceed5..b545ad1df 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * CategoryDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class CategoryDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('categories as cat')->select('cat.id', 'ct.name', 'cat.position', 'cat.status', 'ct.locale')->leftJoin('category_translations as ct', 'cat.id', '=', 'ct.category_id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index b73b3f8fe..181794d6d 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Channel Data Grid class + * ChannelDataGrid class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class ChannelDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('channels')->addSelect('id', 'code', 'name', 'hostname'); diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index 24303783b..d8150361c 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Currency Data Grid class + * CurrencyDataGrid class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class CurrencyDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('currencies')->addSelect('id', 'name', 'code'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 0d2311f76..8cc77d7eb 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Currency Data Grid class + * CustomerDataGrid class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class CustomerDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('customers as cus')->addSelect('cus.id', 'cus.first_name', 'cus.email', 'cg.name')->leftJoin('customer_groups as cg', 'cus.customer_group_id', '=', 'cg.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index f1e4b7621..053822826 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Currency Data Grid class + * CustomerDataGrid class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class CustomerGroupDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('customer_groups')->addSelect('id', 'name'); diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 0428ac953..fdf77e14d 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Currency Data Grid class + * CustomerReviewDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class CustomerReviewDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('product_reviews as pr')->addSelect('pr.id', 'pr.title', 'pr.comment', 'pg.name', 'pr.status')->leftjoin('products_grid as pg', 'pr.product_id', '=', 'pg.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 4d76ed7a3..f86af99aa 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * ExchangeRateDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class ExchangeRatesDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('currency_exchange_rates as cer')->addSelect('cer.id', 'curr.name', 'cer.rate')->leftJoin('currencies as curr', 'cer.target_currency', '=', 'curr.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index 8cac66ece..afe14b3c2 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * InventorySourcesDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class InventorySourcesDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('inventory_sources')->addSelect('id', 'code', 'name', 'priority', 'status'); diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index a185b5e73..a6953e482 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * LocalesDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class LocalesDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('locales')->addSelect('id', 'code', 'name'); diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index 21c0dc18d..060d7498e 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * News Letter Grid class + * NewsLetterDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class NewsLetterDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('subscribers_list')->addSelect('id', 'is_subscribed', 'email'); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index 3e488cfbe..ca1bffef8 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * OrderDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class OrderDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('orders')->select('id', 'base_grand_total', 'grand_total', 'created_at', 'channel_name', 'status')->addSelect(DB::raw('CONCAT(customer_first_name, " ", customer_last_name) as fullname')); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 8470ae8cb..2830ed7f0 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * OrderInvoicesDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class OrderInvoicesDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('invoices')->select('id', 'order_id', 'state', 'grand_total', 'created_at'); diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 55d0b4fbc..a59353c41 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * OrderShipmentsDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class OrderShipmentsDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('shipments as ship')->select('ship.id', 'ship.order_id', 'ship.total_qty', 'is.name', 'ors.created_at as orderdate', 'ship.created_at')->addSelect(DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name) as custname'))->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id')->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index a9e7028e5..34295847c 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Product Data Grid class + * ProductDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class ProductDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id', 'products_grid.sku', 'products_grid.name', 'products.type', 'products_grid.status', 'products_grid.price', 'products_grid.quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index 8d672fa6c..2511f780c 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * News Letter Grid class + * RolesDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class RolesDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('roles')->addSelect('id', 'name', 'permission_type'); diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 0b5b7b93c..8b2fb0795 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * News Letter Grid class + * SliderDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class SliderDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('sliders as sl')->addSelect('sl.id', 'sl.title', 'ch.name')->leftJoin('channels as ch', 'sl.channel_id', '=', 'ch.id'); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index b3243341c..17f321fd3 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Tax Category Grid class + * TaxCategoryDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class TaxCategoryDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_categories')->addSelect('id', 'name', 'code'); diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index b6035b400..b7b043ed4 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * Tax Rate Grid class + * TaxRateDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class TaxRateDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_rates')->addSelect('id', 'identifier', 'state', 'country', 'tax_rate'); diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 14b09cd6e..42fd48298 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -6,19 +6,13 @@ use Webkul\Ui\DataGrid\DataGrid; use DB; /** - * News Letter Grid class + * UserDataGrid Class * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class UserDataGrid extends DataGrid { - public $allColumns = []; - - public function __construct() { - $this->itemsPerPage = 10; - } - public function prepareQueryBuilder() { $queryBuilder = DB::table('admins as u')->addSelect('u.id', 'u.name', 'u.status', 'u.email', 'ro.name')->leftJoin('roles as ro', 'u.role_id', '=', 'ro.id'); diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php index 6da778870..59bd01ec5 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php @@ -103,7 +103,6 @@ class CustomerController extends Controller 'first_name' => 'string|required', 'last_name' => 'string|required', 'gender' => 'required', - 'phone' => 'nullable|numeric|unique:customers,phone', 'email' => 'required|unique:customers,email', 'date_of_birth' => 'date|before:today' ]); @@ -112,7 +111,9 @@ class CustomerController extends Controller $password = bcrypt(rand(100000,10000000)); - $data['password']=$password; + $data['password'] = $password; + + $data['is_verified'] = 1; $this->customer->create($data); diff --git a/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php b/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php index 947be1eaa..e547ad7ec 100755 --- a/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php @@ -67,7 +67,7 @@ class RegistrationController extends Controller $data['channel_id'] = core()->getCurrentChannel()->id; - $data['is_verified'] = 0; + $data['is_verified'] = 1; $data['customer_group_id'] = 1; diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php index a7b8bd97a..1f4c2c0ba 100755 --- a/packages/Webkul/Customer/src/Models/Customer.php +++ b/packages/Webkul/Customer/src/Models/Customer.php @@ -17,7 +17,7 @@ class Customer extends Authenticatable protected $table = 'customers'; - protected $fillable = ['first_name', 'channel_id', 'last_name', 'gender', 'date_of_birth', 'email', 'password', 'customer_group_id', 'subscribed_to_news_letter', 'is_verified', 'token', 'phone']; + protected $fillable = ['first_name', 'channel_id', 'last_name', 'gender', 'date_of_birth', 'email', 'password', 'customer_group_id', 'subscribed_to_news_letter', 'is_verified', 'token']; protected $hidden = ['password', 'remember_token']; diff --git a/packages/Webkul/Product/src/Http/Controllers/ProductController.php b/packages/Webkul/Product/src/Http/Controllers/ProductController.php index 619da0939..293a33761 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ProductController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ProductController.php @@ -203,7 +203,6 @@ class ProductController extends Controller */ public function massDestroy() { - dd(request()->input()); $productIds = explode(',', request()->input('indexes')); foreach ($productIds as $productId) { @@ -222,7 +221,6 @@ class ProductController extends Controller */ public function massUpdate() { - dd(request()->input()); $data = request()->all(); if (!isset($data['massaction-type'])) { diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index b002af5b0..e1a56931d 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -5,16 +5,16 @@ namespace Webkul\Ui\DataGrid; use Illuminate\Http\Request; /** - * Product Data Grid class + * DataGrid class * - * @author Jitendra Singh + * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ abstract class DataGrid { protected $index = null; protected $columns = []; - protected $allColumns = []; + protected $completeColumnDetails = []; protected $queryBuilder = []; protected $collection = []; protected $actions = []; @@ -22,10 +22,9 @@ abstract class DataGrid protected $request; protected $parse; protected $enableMassAction = false; - protected $itemsPerPage = 0; + protected $enableAction = false; + protected $itemsPerPage = 10; - abstract public function prepareMassActions(); - abstract public function prepareActions(); abstract public function prepareQueryBuilder(); abstract public function addColumns(); abstract public function setIndex(); @@ -52,12 +51,12 @@ abstract class DataGrid { array_push($this->columns, $column); - $this->setAllColumnDetails($column); + $this->setCompleteColumnDetails($column); } - public function setAllColumnDetails($column) + public function setCompleteColumnDetails($column) { - array_push($this->allColumns, $column); + array_push($this->completeColumnDetails, $column); } public function setQueryBuilder($queryBuilder) @@ -68,6 +67,8 @@ abstract class DataGrid public function addAction($action) { array_push($this->actions, $action); + + $this->enableAction = true; } public function addMassAction($massAction) @@ -84,15 +85,18 @@ abstract class DataGrid if(count($parsedUrl)) { $filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $parsedUrl); - if($this->itemsPerPage > 0) { - return $filteredOrSortedCollection->paginate($this->itemsPerPage)->appends(request()->except('page')); + if(config('datagrid.paginate')) { + if($this->itemsPerPage > 0) + return $filteredOrSortedCollection->paginate($this->itemsPerPage)->appends(request()->except('page')); } else { return $filteredOrSortedCollection->get(); } } - if ($this->itemsPerPage > 0) { - $this->collection = $this->queryBuilder->paginate($this->itemsPerPage)->appends(request()->except('page')); + if(config('datagrid.paginate')) { + if ($this->itemsPerPage > 0) { + $this->collection = $this->queryBuilder->paginate($this->itemsPerPage)->appends(request()->except('page')); + } } else { $this->collection = $this->queryBuilder->get(); } @@ -107,8 +111,8 @@ abstract class DataGrid */ public function findColumnType($columnAlias) { - foreach($this->allColumns as $column) { - if($column['alias'] == $columnAlias) { + foreach($this->completeColumnDetails as $column) { + if($column['index'] == $columnAlias) { return [$column['type'], $column['index']]; } } @@ -142,7 +146,7 @@ abstract class DataGrid if($count_keys == 1) { return $collection->where(function() use($collection, $info) { - foreach ($this->allColumns as $column) { + foreach ($this->completeColumnDetails as $column) { if($column['searchable'] == true) $collection->orWhere($column['index'], 'like', '%'.$info['all'].'%'); } @@ -190,6 +194,6 @@ abstract class DataGrid $this->prepareQueryBuilder(); - return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->allColumns, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index, 'enableMassActions' => $this->enableMassAction, 'norecords' => trans('ui::datagrid.no-records')]); + return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->completeColumnDetails, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index, 'enableMassActions' => $this->enableMassAction, 'enableActions' => $this->enableAction, 'norecords' => trans('ui::datagrid.no-records')]); } } \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index 7c20ee2be..f4b763da5 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -1,7 +1,7 @@ @foreach($records as $key => $record) - @if($enableMassAction) + @if($enableMassActions) @@ -29,15 +29,17 @@ @endif @endforeach - -
- @foreach($actions as $action) - - - - @endforeach -
- + @if($enableActions) + +
+ @foreach($actions as $action) + + + + @endforeach +
+ + @endif @endforeach \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index a3ba2831f..9e40445d1 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -1,7 +1,7 @@
- @if(config('datagrid.pagination')) + @if(config('datagrid.paginate')) @include('ui::datagrid.pagination', ['results' => $results['records']]) @endif @@ -35,7 +35,7 @@
-
-
- +
@@ -196,18 +197,20 @@ @endif @foreach($results['columns'] as $key => $column) - + {{ $column['label'] }} @endforeach - - Actions - + @if($results['enableActions']) + + Actions + + @endif - @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns'],'enableMassAction' => $results['enableMassActions']]) + @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns'],'enableMassActions' => $results['enableMassActions'], 'enableActions' => $results['enableActions']])
@@ -265,7 +268,7 @@ this.columnOrAlias = columnOrAlias; for(column in this.columns) { - if (this.columns[column].alias == this.columnOrAlias) { + if (this.columns[column].index == this.columnOrAlias) { this.type = this.columns[column].type; if(this.type == 'string') { From 9aa55472ab2c0976628b296585c9b76203010eff Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Tue, 15 Jan 2019 15:47:13 +0530 Subject: [PATCH 16/23] Datagrid issue fixes --- .../Admin/src/DataGrids/AttributeDataGrid.php | 25 ++---- .../src/DataGrids/AttributeFamilyDataGrid.php | 9 +- .../Admin/src/DataGrids/CategoryDataGrid.php | 29 +++---- .../Admin/src/DataGrids/ChannelDataGrid.php | 12 +-- .../Admin/src/DataGrids/CurrencyDataGrid.php | 9 +- .../Admin/src/DataGrids/CustomerDataGrid.php | 27 +++--- .../src/DataGrids/CustomerGroupDataGrid.php | 3 - .../src/DataGrids/CustomerReviewDataGrid.php | 31 ++++--- .../src/DataGrids/ExchangeRatesDataGrid.php | 19 ++--- .../DataGrids/InventorySourcesDataGrid.php | 15 ++-- .../Admin/src/DataGrids/LocalesDataGrid.php | 9 +- .../src/DataGrids/NewsLetterDataGrid.php | 9 +- .../Admin/src/DataGrids/OrderDataGrid.php | 25 ++---- .../src/DataGrids/OrderInvoicesDataGrid.php | 12 +-- .../src/DataGrids/OrderShipmentsDataGrid.php | 35 ++++---- .../Admin/src/DataGrids/ProductDataGrid.php | 39 ++++----- .../Admin/src/DataGrids/RolesDataGrid.php | 9 +- .../Admin/src/DataGrids/SliderDataGrid.php | 19 ++--- .../src/DataGrids/TaxCategoryDataGrid.php | 9 +- .../Admin/src/DataGrids/TaxRateDataGrid.php | 15 ++-- .../Admin/src/DataGrids/UserDataGrid.php | 24 +++--- .../Admin/src/Resources/lang/en/app.php | 47 ++++++++++- packages/Webkul/Ui/src/DataGrid/DataGrid.php | 2 +- .../Resources/views/datagrid/body.blade.php | 84 ++++++++++--------- .../Resources/views/datagrid/table.blade.php | 25 +++--- 25 files changed, 252 insertions(+), 290 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index 45cbc68a8..f01eb6c6c 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -34,8 +34,7 @@ class AttributeDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - // 'alias' => 'attributeId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -44,8 +43,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - // 'alias' => 'attributeCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -54,8 +52,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'admin_name', - // 'alias' => 'attributeAdminName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.admin-name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -64,8 +61,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'type', - // 'alias' => 'attributeType', - 'label' => 'Type', + 'label' => trans('admin::app.datagrid.type'), 'type' => 'string', 'sortable' => true, 'searchable' => true, @@ -74,8 +70,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'is_required', - // 'alias' => 'attributeRequired', - 'label' => 'Required', + 'label' => trans('admin::app.datagrid.required'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, @@ -90,8 +85,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'is_unique', - // 'alias' => 'attributeIsUnique', - 'label' => 'Unique', + 'label' => trans('admin::app.datagrid.unique'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, @@ -106,8 +100,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'value_per_locale', - // 'alias' => 'attributeValuePerLocale', - 'label' => 'Locale Based', + 'label' => trans('admin::app.datagrid.per-locale'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, @@ -122,8 +115,7 @@ class AttributeDataGrid extends DataGrid $this->addColumn([ 'index' => 'value_per_channel', - // 'alias' => 'attributeValuePerChannel', - 'label' => 'Channel Based', + 'label' => trans('admin::app.datagrid.per-channel'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, @@ -157,6 +149,7 @@ class AttributeDataGrid extends DataGrid $this->addMassAction([ 'type' => 'delete', 'action' => route('admin.catalog.attributes.massdelete'), + 'label' => 'Delete', 'method' => 'DELETE' ]); } diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index b5eb87620..853efc639 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -30,8 +30,7 @@ class AttributeFamilyDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'attributeFamilyId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -40,8 +39,7 @@ class AttributeFamilyDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'attributeFamilyCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -50,8 +48,7 @@ class AttributeFamilyDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'attributeFamilyName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index b545ad1df..baef2ba9a 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -15,21 +15,20 @@ class CategoryDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('categories as cat')->select('cat.id', 'ct.name', 'cat.position', 'cat.status', 'ct.locale')->leftJoin('category_translations as ct', 'cat.id', '=', 'ct.category_id'); + $queryBuilder = DB::table('categories as cat')->select('cat.id as category_id', 'ct.name as category_name', 'cat.position as category_position', 'cat.status as category_status', 'ct.locale as category_locale')->leftJoin('category_translations as ct', 'cat.id', '=', 'ct.category_id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column + $this->index = 'category_id'; //the column that needs to be treated as index column } public function addColumns() { $this->addColumn([ - 'index' => 'cat.id', - 'alias' => 'catId', - 'label' => 'ID', + 'index' => 'category_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class CategoryDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ct.name', - 'alias' => 'catName', - 'label' => 'Name', + 'index' => 'category_name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -47,9 +45,8 @@ class CategoryDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'cat.position', - 'alias' => 'catPosition', - 'label' => 'Position', + 'index' => 'category_position', + 'label' => trans('admin::app.datagrid.position'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -57,9 +54,8 @@ class CategoryDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'cat.status', - 'alias' => 'catStatus', - 'label' => 'Status', + 'index' => 'category_status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'boolean', 'sortable' => true, 'searchable' => true, @@ -73,9 +69,8 @@ class CategoryDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ct.locale', - 'alias' => 'catLocale', - 'label' => 'Locale', + 'index' => 'category_locale', + 'label' => trans('admin::app.datagrid.locale'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index 181794d6d..95a16529d 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -28,8 +28,7 @@ class ChannelDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'channelId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class ChannelDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'channelCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class ChannelDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'channelName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -58,8 +55,7 @@ class ChannelDataGrid extends DataGrid $this->addColumn([ 'index' => 'hostname', - 'alias' => 'channelHostname', - 'label' => 'Hostname', + 'label' => trans('admin::app.datagrid.hostname'), 'type' => 'string', 'sortable' => true, 'searchable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index d8150361c..fbb528f9f 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -28,8 +28,7 @@ class CurrencyDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'currencyId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class CurrencyDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'currencyName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class CurrencyDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'currencyCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 8cc77d7eb..7dc7a6680 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -13,23 +13,24 @@ use DB; */ class CustomerDataGrid extends DataGrid { + protected $itemsPerPage = 5; + public function prepareQueryBuilder() { - $queryBuilder = DB::table('customers as cus')->addSelect('cus.id', 'cus.first_name', 'cus.email', 'cg.name')->leftJoin('customer_groups as cg', 'cus.customer_group_id', '=', 'cg.id'); + $queryBuilder = DB::table('customers as cus')->addSelect('cus.id as customer_id', 'cus.email as customer_email', 'cg.name as customer_group_name')->addSelect(DB::raw('CONCAT(cus.first_name, " ", cus.last_name) as customer_full_name'))->leftJoin('customer_groups as cg', 'cus.customer_group_id', '=', 'cg.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column + $this->index = 'customer_id'; //the column that needs to be treated as index column } public function addColumns() { $this->addColumn([ - 'index' => 'cus.id', - 'alias' => 'customerId', - 'label' => 'ID', + 'index' => 'customer_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,10 +38,8 @@ class CustomerDataGrid extends DataGrid ]); $this->addColumn([ - // 'column' => 'CONCAT(cus.first_name, " ", cus.last_name)', - 'index' => 'cus.first_name', - 'alias' => 'customerFullName', - 'label' => 'Name', + 'index' => 'customer_full_name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,9 +47,8 @@ class CustomerDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'cus.email', - 'alias' => 'customerEmail', - 'label' => 'Email', + 'index' => 'customer_email', + 'label' => trans('admin::app.datagrid.email'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -58,9 +56,8 @@ class CustomerDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'cg.name', - 'alias' => 'customerGroupName', - 'label' => 'Group', + 'index' => 'customer_group_name', + 'label' => trans('admin::app.datagrid.group'), 'type' => 'string', 'searchable' => false, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index 053822826..b79e9b47f 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -28,7 +28,6 @@ class CustomerGroupDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'groupId', 'label' => 'ID', 'type' => 'number', 'searchable' => false, @@ -37,9 +36,7 @@ class CustomerGroupDataGrid extends DataGrid ]); $this->addColumn([ - // 'column' => 'CONCAT(cus.first_name, " ", cus.last_name)', 'index' => 'name', - 'alias' => 'groupName', 'label' => 'Name', 'type' => 'string', 'searchable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index fdf77e14d..12495325d 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -15,21 +15,20 @@ class CustomerReviewDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('product_reviews as pr')->addSelect('pr.id', 'pr.title', 'pr.comment', 'pg.name', 'pr.status')->leftjoin('products_grid as pg', 'pr.product_id', '=', 'pg.id'); + $queryBuilder = DB::table('product_reviews as pr')->addSelect('pr.id as product_review_id', 'pr.title as product_review_title', 'pr.comment as product_review_comment', 'pg.name as product_review_name', 'pr.status as product_review_status')->leftjoin('products_grid as pg', 'pr.product_id', '=', 'pg.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; + $this->index = 'product_review_id'; } public function addColumns() { $this->addColumn([ - 'index' => 'pr.id', - 'alias' => 'reviewId', - 'label' => 'ID', + 'index' => 'product_review_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class CustomerReviewDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'pr.title', - 'alias' => 'reviewTitle', - 'label' => 'Title', + 'index' => 'product_review_title', + 'label' => trans('admin::app.datagrid.title'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -47,9 +45,8 @@ class CustomerReviewDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'pr.comment', - 'alias' => 'reviewComment', - 'label' => 'Comment', + 'index' => 'product_review_comment', + 'label' => trans('admin::app.datagrid.comment'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -57,9 +54,8 @@ class CustomerReviewDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'pg.name', - 'alias' => 'productName', - 'label' => 'Product', + 'index' => 'product_review_name', + 'label' => trans('admin::app.datagrid.product-name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -67,9 +63,8 @@ class CustomerReviewDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'pr.status', - 'alias' => 'reviewStatus', - 'label' => 'Status', + 'index' => 'product_review_status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'boolean', 'searchable' => true, 'sortable' => true, @@ -101,12 +96,14 @@ class CustomerReviewDataGrid extends DataGrid public function prepareMassActions() { $this->addMassAction([ 'type' => 'delete', + 'label' => 'Delete', 'action' => route('admin.customer.review.massdelete'), 'method' => 'DELETE' ]); $this->addMassAction([ 'type' => 'update', + 'label' => 'Update Status', 'action' => route('admin.customer.review.massupdate'), 'method' => 'PUT', 'options' => [ diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index f86af99aa..46614bbbf 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -15,21 +15,20 @@ class ExchangeRatesDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('currency_exchange_rates as cer')->addSelect('cer.id', 'curr.name', 'cer.rate')->leftJoin('currencies as curr', 'cer.target_currency', '=', 'curr.id'); + $queryBuilder = DB::table('currency_exchange_rates as cer')->addSelect('cer.id as currency_exch_id', 'curr.name as currency_exch_name', 'cer.rate as currency_exch_rate')->leftJoin('currencies as curr', 'cer.target_currency', '=', 'curr.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; + $this->index = 'currency_exch_id'; } public function addColumns() { $this->addColumn([ - 'index' => 'cer.id', - 'alias' => 'exchId', - 'label' => 'ID', + 'index' => 'currency_exch_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class ExchangeRatesDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'curr.name', - 'alias' => 'exchName', - 'label' => 'Currency Name', + 'index' => 'currency_exch_name', + 'label' => trans('admin::app.datagrid.currency-name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -47,9 +45,8 @@ class ExchangeRatesDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'cer.rate', - 'alias' => 'exchRate', - 'label' => 'Exchange Rate', + 'index' => 'currency_exch_rate', + 'label' => trans('admin::app.datagrid.exch-rate'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index afe14b3c2..b7bfb9ca4 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -28,8 +28,7 @@ class InventorySourcesDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'invId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class InventorySourcesDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'invCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class InventorySourcesDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'invName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -58,8 +55,7 @@ class InventorySourcesDataGrid extends DataGrid $this->addColumn([ 'index' => 'priority', - 'alias' => 'invPriority', - 'label' => 'Priority', + 'label' => trans('admin::app.datagrid.priority'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -68,8 +64,7 @@ class InventorySourcesDataGrid extends DataGrid $this->addColumn([ 'index' => 'status', - 'alias' => 'invStatus', - 'label' => 'Status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'boolean', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index a6953e482..0d4bbc755 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -28,8 +28,7 @@ class LocalesDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'localeId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class LocalesDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'localeCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class LocalesDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'localeName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index 060d7498e..11b654185 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -28,8 +28,7 @@ class NewsLetterDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'subsId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class NewsLetterDataGrid extends DataGrid $this->addColumn([ 'index' => 'is_subscribed', - 'alias' => 'subsCode', - 'label' => 'Subscribed', + 'label' => trans('admin::app.datagrid.subscribed'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -54,8 +52,7 @@ class NewsLetterDataGrid extends DataGrid $this->addColumn([ 'index' => 'email', - 'alias' => 'subsEmail', - 'label' => 'Email', + 'label' => trans('admin::app.datagrid.email'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index ca1bffef8..9fa1a5a13 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -15,7 +15,7 @@ class OrderDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('orders')->select('id', 'base_grand_total', 'grand_total', 'created_at', 'channel_name', 'status')->addSelect(DB::raw('CONCAT(customer_first_name, " ", customer_last_name) as fullname')); + $queryBuilder = DB::table('orders')->select('id', 'base_grand_total', 'grand_total', 'created_at', 'channel_name', 'status')->addSelect(DB::raw('CONCAT(customer_first_name, " ", customer_last_name) as full_name')); $this->setQueryBuilder($queryBuilder); } @@ -28,8 +28,7 @@ class OrderDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'orderId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class OrderDataGrid extends DataGrid $this->addColumn([ 'index' => 'base_grand_total', - 'alias' => 'baseGrandTotal', - 'label' => 'Base Total', + 'label' => trans('admin::app.datagrid.base-total'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -51,8 +49,7 @@ class OrderDataGrid extends DataGrid $this->addColumn([ 'index' => 'grand_total', - 'alias' => 'grandTotal', - 'label' => 'Grand Total', + 'label' => trans('admin::app.datagrid.grand-total'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -64,8 +61,7 @@ class OrderDataGrid extends DataGrid $this->addColumn([ 'index' => 'created_at', - 'alias' => 'orderDate', - 'label' => 'Order Date', + 'label' => trans('admin::app.datagrid.order-date'), 'type' => 'string', 'sortable' => true, 'searchable' => true, @@ -74,8 +70,7 @@ class OrderDataGrid extends DataGrid $this->addColumn([ 'index' => 'channel_name', - 'alias' => 'channelName', - 'label' => 'Channel Name', + 'label' => trans('admin::app.datagrid.channel-name'), 'type' => 'string', 'sortable' => true, 'searchable' => false, @@ -84,8 +79,7 @@ class OrderDataGrid extends DataGrid $this->addColumn([ 'index' => 'status', - 'alias' => 'status', - 'label' => 'Status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'string', 'sortable' => true, 'searchable' => false, @@ -110,9 +104,8 @@ class OrderDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'fullname', - 'alias' => 'fullName', - 'label' => 'Billed To', + 'index' => 'full_name', + 'label' => trans('admin::app.datagrid.billed-to'), 'type' => 'string', 'searchable' => false, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 2830ed7f0..59c64a957 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -28,8 +28,7 @@ class OrderInvoicesDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'invid', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class OrderInvoicesDataGrid extends DataGrid $this->addColumn([ 'index' => 'order_id', - 'alias' => 'orderId', - 'label' => 'Order ID', + 'label' => trans('admin::app.datagrid.order-id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -48,8 +46,7 @@ class OrderInvoicesDataGrid extends DataGrid $this->addColumn([ 'index' => 'grand_total', - 'alias' => 'invgrandtotal', - 'label' => 'Grand Total', + 'label' => trans('admin::app.datagrid.grand-total'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -58,8 +55,7 @@ class OrderInvoicesDataGrid extends DataGrid $this->addColumn([ 'index' => 'created_at', - 'alias' => 'invcreatedat', - 'label' => 'Invoice Date', + 'label' => trans('admin::app.datagrid.invoice-date'), 'type' => 'datetime', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index a59353c41..bf0d1b857 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -15,21 +15,20 @@ class OrderShipmentsDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('shipments as ship')->select('ship.id', 'ship.order_id', 'ship.total_qty', 'is.name', 'ors.created_at as orderdate', 'ship.created_at')->addSelect(DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name) as custname'))->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id')->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id'); + $queryBuilder = DB::table('shipments as ship')->select('ship.id as shipment_id', 'ship.order_id as shipment_order_id', 'ship.total_qty as shipment_total_qty', 'is.name as inventory_source_name', 'ors.created_at as orderdate', 'ship.created_at as shipment_created_at')->addSelect(DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name) as custname'))->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id')->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column + $this->index = 'shipment_id'; //the column that needs to be treated as index column } public function addColumns() { $this->addColumn([ - 'index' => 'ship.id', - 'alias' => 'shipId', - 'label' => 'ID', + 'index' => 'shipment_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class OrderShipmentsDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ship.order_id', - 'alias' => 'orderId', - 'label' => 'Order ID', + 'index' => 'shipment_order_id', + 'label' => trans('admin::app.datagrid.order-id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -47,9 +45,8 @@ class OrderShipmentsDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ship.total_qty', - 'alias' => 'shipTotalQty', - 'label' => 'Total Qty', + 'index' => 'shipment_total_qty', + 'label' => trans('admin::app.datagrid.total-qty'), 'type' => 'number', 'searchable' => true, 'sortable' => true, @@ -57,9 +54,8 @@ class OrderShipmentsDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'is.name', - 'alias' => 'shipInventoryName', - 'label' => 'Inventory Source', + 'index' => 'inventory_source_name', + 'label' => trans('admin::app.datagrid.inventory-source'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -68,8 +64,7 @@ class OrderShipmentsDataGrid extends DataGrid $this->addColumn([ 'index' => 'orderdate', - 'alias' => 'shipOrderDate', - 'label' => 'Order Date', + 'label' => trans('admin::app.datagrid.order-date'), 'type' => 'datetime', 'sortable' => true, 'searchable' => true, @@ -77,9 +72,8 @@ class OrderShipmentsDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ship.created_at', - 'alias' => 'shipDate', - 'label' => 'Shipment Date', + 'index' => 'shipment_created_at', + 'label' => trans('admin::app.datagrid.shipment-date'), 'type' => 'datetime', 'sortable' => true, 'searchable' => false, @@ -88,8 +82,7 @@ class OrderShipmentsDataGrid extends DataGrid $this->addColumn([ 'index' => 'custname', - 'alias' => 'shipTO', - 'label' => 'Shipping To', + 'label' => trans('admin::app.datagrid.shipment-to'), 'type' => 'string', 'sortable' => true, 'searchable' => false, diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index 34295847c..4b53ae1b1 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -15,7 +15,7 @@ class ProductDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id', 'products_grid.sku', 'products_grid.name', 'products.type', 'products_grid.status', 'products_grid.price', 'products_grid.quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); + $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id as product_id', 'products_grid.sku as product_sku', 'products_grid.name as product_name', 'products.type as product_type', 'products_grid.status as product_status', 'products_grid.price as product_price', 'products_grid.quantity as product_quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); $this->setQueryBuilder($queryBuilder); } @@ -31,9 +31,8 @@ class ProductDataGrid extends DataGrid public function addColumns() { $this->addColumn([ - 'index' => 'products_grid.product_id', - 'alias' => 'productid', - 'label' => 'ID', + 'index' => 'product_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -41,9 +40,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products_grid.sku', - 'alias' => 'productsku', - 'label' => 'SKU', + 'index' => 'product_sku', + 'label' => trans('admin::app.datagrid.sku'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -51,9 +49,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products_grid.name', - 'alias' => 'productname', - 'label' => 'Name', + 'index' => 'product_name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -61,9 +58,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products.type', - 'alias' => 'producttype', - 'label' => 'Type', + 'index' => 'product_type', + 'label' => trans('admin::app.datagrid.type'), 'type' => 'string', 'sortable' => true, 'searchable' => true, @@ -71,9 +67,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products_grid.status', - 'alias' => 'productstatus', - 'label' => 'Status', + 'index' => 'product_status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'boolean', 'sortable' => true, 'searchable' => false, @@ -87,9 +82,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products_grid.price', - 'alias' => 'productprice', - 'label' => 'Price', + 'index' => 'product_price', + 'label' => trans('admin::app.datagrid.price'), 'type' => 'number', 'sortable' => true, 'searchable' => false, @@ -100,9 +94,8 @@ class ProductDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'products_grid.quantity', - 'alias' => 'productqty', - 'label' => 'Quantity', + 'index' => 'product_quantity', + 'label' => trans('admin::app.datagrid.qty'), 'type' => 'number', 'sortable' => true, 'searchable' => false, @@ -128,12 +121,14 @@ class ProductDataGrid extends DataGrid public function prepareMassActions() { $this->addMassAction([ 'type' => 'delete', + 'label' => 'Delete', 'action' => route('admin.catalog.products.massdelete'), 'method' => 'DELETE' ]); $this->addMassAction([ 'type' => 'update', + 'label' => 'Update Status', 'action' => route('admin.catalog.products.massupdate'), 'method' => 'PUT', 'options' => [ diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index 2511f780c..32fef4ac5 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -28,8 +28,7 @@ class RolesDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'roleId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class RolesDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'roleName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class RolesDataGrid extends DataGrid $this->addColumn([ 'index' => 'permission_type', - 'alias' => 'roleType', - 'label' => 'Permission Type', + 'label' => trans('admin::app.datagrid.permission-type'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 8b2fb0795..4641a7c9f 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -15,21 +15,20 @@ class SliderDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('sliders as sl')->addSelect('sl.id', 'sl.title', 'ch.name')->leftJoin('channels as ch', 'sl.channel_id', '=', 'ch.id'); + $queryBuilder = DB::table('sliders as sl')->addSelect('sl.id as slider_id', 'sl.title as slider_title', 'ch.name as channel_name')->leftJoin('channels as ch', 'sl.channel_id', '=', 'ch.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; + $this->index = 'slider_id'; } public function addColumns() { $this->addColumn([ - 'index' => 'sl.id', - 'alias' => 'sliderId', - 'label' => 'ID', + 'index' => 'slider_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class SliderDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'sl.title', - 'alias' => 'sliderTitle', - 'label' => 'Tile', + 'index' => 'slider_title', + 'label' => trans('admin::app.datagrid.title'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -47,9 +45,8 @@ class SliderDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'ch.name', - 'alias' => 'channelName', - 'label' => 'Channel Name', + 'index' => 'channel_name', + 'label' => trans('admin::app.datagrid.channel-name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index 17f321fd3..836becefa 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -28,8 +28,7 @@ class TaxCategoryDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'taxCatId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class TaxCategoryDataGrid extends DataGrid $this->addColumn([ 'index' => 'name', - 'alias' => 'taxCatName', - 'label' => 'Name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class TaxCategoryDataGrid extends DataGrid $this->addColumn([ 'index' => 'code', - 'alias' => 'taxCatCode', - 'label' => 'Code', + 'label' => trans('admin::app.datagrid.code'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index b7b043ed4..41cf949bb 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -28,8 +28,7 @@ class TaxRateDataGrid extends DataGrid { $this->addColumn([ 'index' => 'id', - 'alias' => 'taxRateId', - 'label' => 'ID', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -38,8 +37,7 @@ class TaxRateDataGrid extends DataGrid $this->addColumn([ 'index' => 'identifier', - 'alias' => 'taxRateName', - 'label' => 'Identifier', + 'label' => trans('admin::app.datagrid.identifier'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -48,8 +46,7 @@ class TaxRateDataGrid extends DataGrid $this->addColumn([ 'index' => 'state', - 'alias' => 'taxRateState', - 'label' => 'State', + 'label' => trans('admin::app.datagrid.state'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -58,8 +55,7 @@ class TaxRateDataGrid extends DataGrid $this->addColumn([ 'index' => 'country', - 'alias' => 'taxRateCountry', - 'label' => 'Country', + 'label' => trans('admin::app.datagrid.country'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -68,8 +64,7 @@ class TaxRateDataGrid extends DataGrid $this->addColumn([ 'index' => 'tax_rate', - 'alias' => 'taxRate', - 'label' => 'Rate', + 'label' => trans('admin::app.datagrid.rate'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 42fd48298..f5070a45b 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -15,21 +15,20 @@ class UserDataGrid extends DataGrid { public function prepareQueryBuilder() { - $queryBuilder = DB::table('admins as u')->addSelect('u.id', 'u.name', 'u.status', 'u.email', 'ro.name')->leftJoin('roles as ro', 'u.role_id', '=', 'ro.id'); + $queryBuilder = DB::table('admins as u')->addSelect('u.id as user_id', 'u.name as user_name', 'u.status as user_status', 'u.email as user_email', 'ro.name as role_name')->leftJoin('roles as ro', 'u.role_id', '=', 'ro.id'); $this->setQueryBuilder($queryBuilder); } public function setIndex() { - $this->index = 'id'; + $this->index = 'user_id'; } public function addColumns() { $this->addColumn([ - 'index' => 'u.id', - 'alias' => 'adminId', - 'label' => 'ID', + 'index' => 'user_id', + 'label' => trans('admin::app.datagrid.id'), 'type' => 'number', 'searchable' => false, 'sortable' => true, @@ -37,9 +36,8 @@ class UserDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'u.name', - 'alias' => 'adminName', - 'label' => 'Name', + 'index' => 'user_name', + 'label' => trans('admin::app.datagrid.name'), 'type' => 'string', 'searchable' => true, 'sortable' => true, @@ -47,9 +45,8 @@ class UserDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'u.status', - 'alias' => 'adminStatus', - 'label' => 'Status', + 'index' => 'user_status', + 'label' => trans('admin::app.datagrid.status'), 'type' => 'boolean', 'searchable' => true, 'sortable' => true, @@ -64,9 +61,8 @@ class UserDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'u.email', - 'alias' => 'adminEmail', - 'label' => 'Email', + 'index' => 'user_email', + 'label' => trans('admin::app.datagrid.email'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 5322928a0..5d74692d0 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -35,8 +35,51 @@ return [ 'method-error' => 'Error! Wrong method detected, please check mass action configuration', 'delete-success' => 'Selected index of :resource were successfully deleted', 'partial-action' => 'Some actions were not performed due restricted system constraints on :resource', - 'update-success' => 'Selected index of :resource were successfully updated' - ] + 'update-success' => 'Selected index of :resource were successfully updated', + ], + + 'id' => 'ID', + 'status' => 'Status', + 'code' => 'Code', + 'admin-name' => 'Name', + 'name' => 'Name', + 'fullname' => 'Full Name', + 'type' => 'Type', + 'required' => 'Required', + 'unique' => 'Unique', + 'per-locale' => 'Locale Based', + 'per-channel' => 'Channel Based', + 'position' => 'Position', + 'locale' => 'Locale', + 'hostname' => 'Hostname', + 'email' => 'Email', + 'group' => 'Group', + 'title' => 'Title', + 'comment' => 'Comment', + 'product-name' => 'Product', + 'currency-name' => 'Currency Name', + 'exch-rate' => 'Exchange Rate', + 'priority' => 'Priority', + 'subscribed' => 'Subscribed', + 'base-total' => 'Base Total', + 'grand-total' => 'Grand Total', + 'order-date' => 'Order Date', + 'channel-name' => 'Channel Name', + 'billed-to' => 'Billed To', + 'order-id' => 'Order Id', + 'invoice-date' => 'Invoice Date', + 'total-qty' => 'Total Qty', + 'inventory-source' => 'Inventory Source', + 'shipment-date' => 'Shipment Date', + 'shipment-to' => 'Shipping To', + 'sku' => 'SKU', + 'price' => 'Price', + 'qty' => 'Quantity', + 'permission-type' => 'Permission Type', + 'identifier' => 'Identifier', + 'state' => 'State', + 'country' => 'Country', + 'tax-rate' => 'Rate' ], 'account' => [ diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index e1a56931d..0941ef104 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -194,6 +194,6 @@ abstract class DataGrid $this->prepareQueryBuilder(); - return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->completeColumnDetails, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index, 'enableMassActions' => $this->enableMassAction, 'enableActions' => $this->enableAction, 'norecords' => trans('ui::datagrid.no-records')]); + return view('ui::datagrid.table')->with('results', ['records' => $this->getCollection(), 'columns' => $this->completeColumnDetails, 'actions' => $this->actions, 'massactions' => $this->massActions, 'index' => $this->index, 'enableMassActions' => $this->enableMassAction, 'enableActions' => $this->enableAction, 'norecords' => trans('ui::app.datagrid.no-records')]); } } \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index f4b763da5..f6caa5f8b 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -1,45 +1,51 @@ - @foreach($records as $key => $record) - - @if($enableMassActions) - - - + @if(count($records)) + @foreach($records as $key => $record) + + @if($enableMassActions) + + + - - - - @endif - - @foreach($columns as $column) - @php - $columnIndex = explode('.', $column['index']); - - $columnIndex = end($columnIndex); - @endphp - - @if(isset($column['wrapper'])) - @if(isset($column['closure']) && $column['closure'] == true) - {!! $column['wrapper']($record->{$columnIndex}) !!} - @else - {{ $column['wrapper']($record->{$columnIndex}) }} - @endif - @else - {{ $record->{$columnIndex} }} + + + @endif - @endforeach - @if($enableActions) - -
- @foreach($actions as $action) - - - - @endforeach -
- - @endif + @foreach($columns as $column) + @php + $columnIndex = explode('.', $column['index']); + + $columnIndex = end($columnIndex); + @endphp + + @if(isset($column['wrapper'])) + @if(isset($column['closure']) && $column['closure'] == true) + {!! $column['wrapper']($record->{$columnIndex}) !!} + @else + {{ $column['wrapper']($record->{$columnIndex}) }} + @endif + @else + {{ $record->{$columnIndex} }} + @endif + @endforeach + + @if($enableActions) + +
+ @foreach($actions as $action) + + + + @endforeach +
+ + @endif + + @endforeach + @else + + {{$norecords}} - @endforeach + @endif \ No newline at end of file diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index 9e40445d1..f20ebeced 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -164,19 +164,18 @@
- +
-
- + @@ -186,7 +185,7 @@ - @if($results['enableMassActions']) + @if(count($results['records']) && $results['enableMassActions']) @@ -204,13 +203,13 @@ @if($results['enableActions']) - Actions + {{ __('ui::app.datagrid.actions') }} @endif - @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns'],'enableMassActions' => $results['enableMassActions'], 'enableActions' => $results['enableActions']]) + @include('ui::datagrid.body', ['records' => $results['records'], 'actions' => $results['actions'], 'index' => $results['index'], 'columns' => $results['columns'],'enableMassActions' => $results['enableMassActions'], 'enableActions' => $results['enableActions'], 'norecords' => $results['norecords']]) @@ -315,7 +314,7 @@ label = ''; for(colIndex in this.columns) { - if(this.columns[colIndex].alias == this.columnOrAlias) { + if(this.columns[colIndex].index == this.columnOrAlias) { label = this.columns[colIndex].label; } } @@ -335,7 +334,7 @@ label = ''; for(colIndex in this.columns) { - if(this.columns[colIndex].alias == this.columnOrAlias) { + if(this.columns[colIndex].index == this.columnOrAlias) { label = this.columns[colIndex].label; } } @@ -347,7 +346,7 @@ label = ''; for(colIndex in this.columns) { - if(this.columns[colIndex].alias == this.columnOrAlias) { + if(this.columns[colIndex].index == this.columnOrAlias) { label = this.columns[colIndex].label; } } @@ -605,7 +604,7 @@ label = ''; for(colIndex in this.columns) { - if(this.columns[colIndex].alias == obj.cond) { + if(this.columns[colIndex].index == obj.cond) { obj.label = this.columns[colIndex].label; } } @@ -615,7 +614,7 @@ obj.label = ''; for(colIndex in this.columns) { - if(this.columns[colIndex].alias == obj.column) { + if(this.columns[colIndex].index == obj.column) { obj.label = this.columns[colIndex].label; } } From 0607a9e818d3a1c7656d8aeeb84b32f67e3fde81 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Tue, 15 Jan 2019 16:00:26 +0530 Subject: [PATCH 17/23] set index as abstract method changed to protected property --- config/datagrid.php | 2 +- .../Webkul/Admin/src/DataGrids/AttributeDataGrid.php | 9 ++------- .../Admin/src/DataGrids/AttributeFamilyDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/CategoryDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/ChannelDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/CurrencyDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/CustomerDataGrid.php | 6 ++---- .../Admin/src/DataGrids/CustomerGroupDataGrid.php | 6 ++---- .../Admin/src/DataGrids/CustomerReviewDataGrid.php | 6 ++---- .../Admin/src/DataGrids/ExchangeRatesDataGrid.php | 6 ++---- .../Admin/src/DataGrids/InventorySourcesDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/LocalesDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php | 6 ++---- packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php | 6 ++---- .../Admin/src/DataGrids/OrderInvoicesDataGrid.php | 6 ++---- .../Admin/src/DataGrids/OrderShipmentsDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/ProductDataGrid.php | 10 ++-------- packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php | 6 ++---- packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php | 6 ++---- .../Webkul/Admin/src/DataGrids/TaxRateDataGrid.php | 8 +++----- packages/Webkul/Admin/src/DataGrids/UserDataGrid.php | 6 ++---- packages/Webkul/Ui/src/DataGrid/DataGrid.php | 3 --- .../Ui/src/Resources/views/datagrid/table.blade.php | 2 +- 24 files changed, 45 insertions(+), 97 deletions(-) diff --git a/config/datagrid.php b/config/datagrid.php index 44fd576ba..aeaf51a57 100644 --- a/config/datagrid.php +++ b/config/datagrid.php @@ -30,7 +30,7 @@ return [ * * Accepted Value = integer */ - 'paginate' => true, + 'paginate' => false, 'operators' => [ 'eq' => "=", diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php index f01eb6c6c..029bf80b4 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php @@ -13,10 +13,10 @@ use DB; */ class AttributeDataGrid extends DataGrid { - public $allColumns = []; - protected $itemsPerPage = 5; //overriding the default items per page + protected $index = 'id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { @@ -25,11 +25,6 @@ class AttributeDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() - { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php index 853efc639..a5c728b26 100755 --- a/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/AttributeFamilyDataGrid.php @@ -15,6 +15,8 @@ class AttributeFamilyDataGrid extends DataGrid { protected $itemsPerPage = 5; + protected $index = 'id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('attribute_families')->select('id')->addSelect('id', 'code', 'name'); @@ -22,10 +24,6 @@ class AttributeFamilyDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index baef2ba9a..a46398285 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class CategoryDataGrid extends DataGrid { + protected $index = 'category_id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('categories as cat')->select('cat.id as category_id', 'ct.name as category_name', 'cat.position as category_position', 'cat.status as category_status', 'ct.locale as category_locale')->leftJoin('category_translations as ct', 'cat.id', '=', 'ct.category_id'); @@ -20,10 +22,6 @@ class CategoryDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'category_id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php index 95a16529d..4c25f82da 100755 --- a/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ChannelDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class ChannelDataGrid extends DataGrid { + protected $index = 'id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('channels')->addSelect('id', 'code', 'name', 'hostname'); @@ -20,10 +22,6 @@ class ChannelDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php index fbb528f9f..02652f0b1 100755 --- a/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CurrencyDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class CurrencyDataGrid extends DataGrid { + protected $index = 'id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('currencies')->addSelect('id', 'name', 'code'); @@ -20,10 +22,6 @@ class CurrencyDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 7dc7a6680..f801172a9 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -15,6 +15,8 @@ class CustomerDataGrid extends DataGrid { protected $itemsPerPage = 5; + protected $index = 'customer_id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('customers as cus')->addSelect('cus.id as customer_id', 'cus.email as customer_email', 'cg.name as customer_group_name')->addSelect(DB::raw('CONCAT(cus.first_name, " ", cus.last_name) as customer_full_name'))->leftJoin('customer_groups as cg', 'cus.customer_group_id', '=', 'cg.id'); @@ -22,10 +24,6 @@ class CustomerDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'customer_id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php index b79e9b47f..746333d90 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerGroupDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class CustomerGroupDataGrid extends DataGrid { + protected $index = 'id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('customer_groups')->addSelect('id', 'name'); @@ -20,10 +22,6 @@ class CustomerGroupDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php index 12495325d..ad4a43e04 100755 --- a/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerReviewDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class CustomerReviewDataGrid extends DataGrid { + protected $index = 'product_review_id'; //the column that needs to be treated as index column + public function prepareQueryBuilder() { $queryBuilder = DB::table('product_reviews as pr')->addSelect('pr.id as product_review_id', 'pr.title as product_review_title', 'pr.comment as product_review_comment', 'pg.name as product_review_name', 'pr.status as product_review_status')->leftjoin('products_grid as pg', 'pr.product_id', '=', 'pg.id'); @@ -20,10 +22,6 @@ class CustomerReviewDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'product_review_id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index 46614bbbf..7d6bd7234 100755 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class ExchangeRatesDataGrid extends DataGrid { + protected $index = 'currency_exch_id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('currency_exchange_rates as cer')->addSelect('cer.id as currency_exch_id', 'curr.name as currency_exch_name', 'cer.rate as currency_exch_rate')->leftJoin('currencies as curr', 'cer.target_currency', '=', 'curr.id'); @@ -20,10 +22,6 @@ class ExchangeRatesDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'currency_exch_id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php index b7bfb9ca4..0d899faa4 100755 --- a/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/InventorySourcesDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class InventorySourcesDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('inventory_sources')->addSelect('id', 'code', 'name', 'priority', 'status'); @@ -20,10 +22,6 @@ class InventorySourcesDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 0d4bbc755..09900efbe 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class LocalesDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('locales')->addSelect('id', 'code', 'name'); @@ -20,10 +22,6 @@ class LocalesDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php index 11b654185..d733fa510 100755 --- a/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/NewsLetterDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class NewsLetterDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('subscribers_list')->addSelect('id', 'is_subscribed', 'email'); @@ -20,10 +22,6 @@ class NewsLetterDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index 9fa1a5a13..205fac3ac 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class OrderDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('orders')->select('id', 'base_grand_total', 'grand_total', 'created_at', 'channel_name', 'status')->addSelect(DB::raw('CONCAT(customer_first_name, " ", customer_last_name) as full_name')); @@ -20,10 +22,6 @@ class OrderDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 59c64a957..d3fb5a42c 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class OrderInvoicesDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('invoices')->select('id', 'order_id', 'state', 'grand_total', 'created_at'); @@ -20,10 +22,6 @@ class OrderInvoicesDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index bf0d1b857..b1a1b8b46 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class OrderShipmentsDataGrid extends DataGrid { + protected $index = 'shipment_id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('shipments as ship')->select('ship.id as shipment_id', 'ship.order_id as shipment_order_id', 'ship.total_qty as shipment_total_qty', 'is.name as inventory_source_name', 'ors.created_at as orderdate', 'ship.created_at as shipment_created_at')->addSelect(DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name) as custname'))->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id')->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id'); @@ -20,10 +22,6 @@ class OrderShipmentsDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'shipment_id'; //the column that needs to be treated as index column - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php index 4b53ae1b1..bf939e6a0 100644 --- a/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ProductDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class ProductDataGrid extends DataGrid { + protected $index = 'product_id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('products_grid')->addSelect('products_grid.product_id as product_id', 'products_grid.sku as product_sku', 'products_grid.name as product_name', 'products.type as product_type', 'products_grid.status as product_status', 'products_grid.price as product_price', 'products_grid.quantity as product_quantity')->leftJoin('products', 'products_grid.product_id', '=', 'products.id'); @@ -20,14 +22,6 @@ class ProductDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'product_id'; //the column that needs to be treated as index column - } - - // public function setGridName() { - // $this->gridName = 'products_grid'; // should be the table name for getting proper index - // } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php index 32fef4ac5..88814b9f1 100755 --- a/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/RolesDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class RolesDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('roles')->addSelect('id', 'name', 'permission_type'); @@ -20,10 +22,6 @@ class RolesDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php index 4641a7c9f..74aef6d05 100755 --- a/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/SliderDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class SliderDataGrid extends DataGrid { + protected $index = 'slider_id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('sliders as sl')->addSelect('sl.id as slider_id', 'sl.title as slider_title', 'ch.name as channel_name')->leftJoin('channels as ch', 'sl.channel_id', '=', 'ch.id'); @@ -20,10 +22,6 @@ class SliderDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'slider_id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index 836becefa..0098a80e6 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class TaxCategoryDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_categories')->addSelect('id', 'name', 'code'); @@ -20,10 +22,6 @@ class TaxCategoryDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index 41cf949bb..7beca667c 100755 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class TaxRateDataGrid extends DataGrid { + protected $index = 'id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('tax_rates')->addSelect('id', 'identifier', 'state', 'country', 'tax_rate'); @@ -20,10 +22,6 @@ class TaxRateDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'id'; - } - public function addColumns() { $this->addColumn([ @@ -64,7 +62,7 @@ class TaxRateDataGrid extends DataGrid $this->addColumn([ 'index' => 'tax_rate', - 'label' => trans('admin::app.datagrid.rate'), + 'label' => trans('admin::app.datagrid.tax-rate'), 'type' => 'string', 'searchable' => true, 'sortable' => true, diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index f5070a45b..673f5937f 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -13,6 +13,8 @@ use DB; */ class UserDataGrid extends DataGrid { + protected $index = 'user_id'; + public function prepareQueryBuilder() { $queryBuilder = DB::table('admins as u')->addSelect('u.id as user_id', 'u.name as user_name', 'u.status as user_status', 'u.email as user_email', 'ro.name as role_name')->leftJoin('roles as ro', 'u.role_id', '=', 'ro.id'); @@ -20,10 +22,6 @@ class UserDataGrid extends DataGrid $this->setQueryBuilder($queryBuilder); } - public function setIndex() { - $this->index = 'user_id'; - } - public function addColumns() { $this->addColumn([ diff --git a/packages/Webkul/Ui/src/DataGrid/DataGrid.php b/packages/Webkul/Ui/src/DataGrid/DataGrid.php index 0941ef104..a8c579ef1 100644 --- a/packages/Webkul/Ui/src/DataGrid/DataGrid.php +++ b/packages/Webkul/Ui/src/DataGrid/DataGrid.php @@ -27,7 +27,6 @@ abstract class DataGrid abstract public function prepareQueryBuilder(); abstract public function addColumns(); - abstract public function setIndex(); /** * Parse the URL and get it ready to be used. @@ -186,8 +185,6 @@ abstract class DataGrid { $this->addColumns(); - $this->setIndex(); - $this->prepareActions(); $this->prepareMassActions(); diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index f20ebeced..5d02e4d63 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -151,7 +151,7 @@ @if(isset($results['massactions'])) - +
From a781594b10d0cfe37896c4d28e994cf78722b1d7 Mon Sep 17 00:00:00 2001 From: jitendra Date: Tue, 15 Jan 2019 16:03:55 +0530 Subject: [PATCH 18/23] Translations added for menu and acl lables --- packages/Webkul/Admin/src/Config/acl.php | 63 +++++++++--------- packages/Webkul/Admin/src/Config/menu.php | 58 ++++++++--------- .../Admin/src/Resources/lang/en/app.php | 64 +++++++++++++++++++ .../views/layouts/nav-aside.blade.php | 4 +- .../views/layouts/nav-left.blade.php | 2 +- .../Resources/views/layouts/nav-top.blade.php | 6 +- .../Resources/views/layouts/tabs.blade.php | 4 +- packages/Webkul/Core/src/Tree.php | 1 + packages/Webkul/Shop/src/Config/menu.php | 12 ++-- .../Webkul/Shop/src/Resources/lang/en/app.php | 9 +++ .../account/partials/sidemenu.blade.php | 4 +- 11 files changed, 148 insertions(+), 79 deletions(-) diff --git a/packages/Webkul/Admin/src/Config/acl.php b/packages/Webkul/Admin/src/Config/acl.php index 084205d45..245f39447 100755 --- a/packages/Webkul/Admin/src/Config/acl.php +++ b/packages/Webkul/Admin/src/Config/acl.php @@ -3,147 +3,142 @@ return [ [ 'key' => 'dashboard', - 'name' => 'Dashboard', + 'name' => 'admin::app.acl.dashboard', 'route' => 'admin.dashboard.index', 'sort' => 1 ], [ 'key' => 'sales', - 'name' => 'Sales', + 'name' => 'admin::app.acl.sales', 'route' => 'admin.sales.orders.index', 'sort' => 2 ], [ 'key' => 'sales.orders', - 'name' => 'Orders', + 'name' => 'admin::app.acl.orders', 'route' => 'admin.sales.orders.index', 'sort' => 1 ], [ 'key' => 'sales.invoices', - 'name' => 'Invoices', + 'name' => 'admin::app.acl.invoices', 'route' => 'admin.sales.invoices.index', 'sort' => 2 ], [ 'key' => 'sales.shipments', - 'name' => 'Shipments', + 'name' => 'admin::app.acl.shipments', 'route' => 'admin.sales.shipments.index', 'sort' => 3 ], [ 'key' => 'catalog', - 'name' => 'Catalog', + 'name' => 'admin::app.acl.catalog', 'route' => 'admin.catalog.index', 'sort' => 3 ], [ 'key' => 'catalog.products', - 'name' => 'Products', + 'name' => 'admin::app.acl.products', 'route' => 'admin.catalog.products.index', 'sort' => 1 ], [ 'key' => 'catalog.categories', - 'name' => 'Categories', + 'name' => 'admin::app.acl.categories', 'route' => 'admin.catalog.categories.index', 'sort' => 2 ], [ 'key' => 'catalog.attributes', - 'name' => 'Attributes', + 'name' => 'admin::app.acl.attributes', 'route' => 'admin.catalog.attributes.index', 'sort' => 3 ], [ 'key' => 'catalog.families', - 'name' => 'Families', + 'name' => 'admin::app.acl.attribute-families', 'route' => 'admin.catalog.families.index', 'sort' => 4 ], [ 'key' => 'customers', - 'name' => 'Customers', + 'name' => 'admin::app.acl.customers', 'route' => 'admin.customers.index', 'sort' => 4 ], [ 'key' => 'customers.customers', - 'name' => 'Customers', + 'name' => 'admin::app.acl.customers', 'route' => 'admin.customers.index', 'sort' => 1 ], [ 'key' => 'customers.groups', - 'name' => 'Groups', + 'name' => 'admin::app.acl.groups', 'route' => 'admin.groups.index', 'sort' => 2 ], [ 'key' => 'customers.reviews', - 'name' => 'Reviews', + 'name' => 'admin::app.acl.reviews', 'route' => 'admin.customers.reviews.index', 'sort' => 3 ], [ 'key' => 'configuration', - 'name' => 'Configure', + 'name' => 'admin::app.acl.configure', 'route' => 'admin.account.edit', - 'sort' => 1 - ], [ - 'key' => 'configuration', - 'name' => 'Configure', - 'route' => 'admin.account.edit', - 'sort' => 1 + 'sort' => 5 ], [ 'key' => 'settings', - 'name' => 'Settings', + 'name' => 'admin::app.acl.settings', 'route' => 'admin.users.index', 'sort' => 6 ], [ 'key' => 'settings.locales', - 'name' => 'Locales', + 'name' => 'admin::app.acl.locales', 'route' => 'admin.locales.index', 'sort' => 1 ], [ 'key' => 'settings.currencies', - 'name' => 'Currencies', + 'name' => 'admin::app.acl.currencies', 'route' => 'admin.currencies.index', 'sort' => 2 ], [ 'key' => 'settings.exchange_rates', - 'name' => 'Exchange Rates', + 'name' => 'admin::app.acl.exchange-rates', 'route' => 'admin.exchange_rates.index', 'sort' => 3 ], [ 'key' => 'settings.inventory_sources', - 'name' => 'Inventory Sources', + 'name' => 'admin::app.acl.inventory-sources', 'route' => 'admin.inventory_sources.index', 'sort' => 4 ], [ 'key' => 'settings.channels', - 'name' => 'Channels', + 'name' => 'admin::app.acl.channels', 'route' => 'admin.channels.index', 'sort' => 5 ], [ 'key' => 'settings.users', - 'name' => 'Users', + 'name' => 'admin::app.acl.users', 'route' => 'admin.users.index', 'sort' => 6 ], [ 'key' => 'settings.users.users', - 'name' => 'Users', + 'name' => 'admin::app.acl.users', 'route' => 'admin.users.index', 'sort' => 1 ], [ 'key' => 'settings.users.roles', - 'name' => 'Roles', + 'name' => 'admin::app.acl.roles', 'route' => 'admin.roles.index', 'sort' => 1 ], [ 'key' => 'settings.sliders', - 'name' => 'Sliders', + 'name' => 'admin::app.acl.sliders', 'route' => 'admin.sliders.index', 'sort' => 7 ], [ 'key' => 'settings.taxes', - 'name' => 'Taxes', + 'name' => 'admin::app.acl.taxes', 'route' => 'admin.tax-categories.index', 'sort' => 8 ], [ 'key' => 'settings.taxes.tax-categories', - 'name' => 'Tax Categories', + 'name' => 'admin::app.acl.tax-categories', 'route' => 'admin.tax-categories.index', 'sort' => 1 ], [ 'key' => 'settings.taxes.tax-rates', - 'name' => 'Tax Rates', + 'name' => 'admin::app.acl.tax-rates', 'route' => 'admin.tax-rates.index', 'sort' => 2 ] diff --git a/packages/Webkul/Admin/src/Config/menu.php b/packages/Webkul/Admin/src/Config/menu.php index 326e1db13..47e0a11ea 100755 --- a/packages/Webkul/Admin/src/Config/menu.php +++ b/packages/Webkul/Admin/src/Config/menu.php @@ -3,176 +3,176 @@ return [ [ 'key' => 'dashboard', - 'name' => 'Dashboard', + 'name' => 'admin::app.layouts.dashboard', 'route' => 'admin.dashboard.index', 'sort' => 1, 'icon-class' => 'dashboard-icon', ], [ 'key' => 'sales', - 'name' => 'Sales', + 'name' => 'admin::app.layouts.sales', 'route' => 'admin.sales.orders.index', 'sort' => 2, 'icon-class' => 'sales-icon', ], [ 'key' => 'sales.orders', - 'name' => 'Orders', + 'name' => 'admin::app.layouts.orders', 'route' => 'admin.sales.orders.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'sales.shipments', - 'name' => 'Shipments', + 'name' => 'admin::app.layouts.shipments', 'route' => 'admin.sales.shipments.index', 'sort' => 2, 'icon-class' => '', ], [ 'key' => 'sales.invoices', - 'name' => 'Invoices', + 'name' => 'admin::app.layouts.invoices', 'route' => 'admin.sales.invoices.index', 'sort' => 3, 'icon-class' => '', ], [ 'key' => 'catalog', - 'name' => 'Catalog', + 'name' => 'admin::app.layouts.catalog', 'route' => 'admin.catalog.products.index', 'sort' => 3, 'icon-class' => 'catalog-icon', ], [ 'key' => 'catalog.products', - 'name' => 'Products', + 'name' => 'admin::app.layouts.products', 'route' => 'admin.catalog.products.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'catalog.categories', - 'name' => 'Categories', + 'name' => 'admin::app.layouts.categories', 'route' => 'admin.catalog.categories.index', 'sort' => 2, 'icon-class' => '', ], [ 'key' => 'catalog.attributes', - 'name' => 'Attributes', + 'name' => 'admin::app.layouts.attributes', 'route' => 'admin.catalog.attributes.index', 'sort' => 3, 'icon-class' => '', ], [ 'key' => 'catalog.families', - 'name' => 'Families', + 'name' => 'admin::app.layouts.attribute-families', 'route' => 'admin.catalog.families.index', 'sort' => 4, 'icon-class' => '', ], [ 'key' => 'customers', - 'name' => 'Customers', + 'name' => 'admin::app.layouts.customers', 'route' => 'admin.customer.index', 'sort' => 4, 'icon-class' => 'customer-icon', ], [ 'key' => 'customers.customers', - 'name' => 'Customers', + 'name' => 'admin::app.layouts.customers', 'route' => 'admin.customer.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'customers.groups', - 'name' => 'Groups', + 'name' => 'admin::app.layouts.groups', 'route' => 'admin.groups.index', 'sort' => 2, 'icon-class' => '', ], [ 'key' => 'customers.reviews', - 'name' => 'Reviews', + 'name' => 'admin::app.layouts.reviews', 'route' => 'admin.customer.review.index', 'sort' => 3, 'icon-class' => '', ], [ 'key' => 'customers.subscribers', - 'name' => 'Newsletter Subscription', + 'name' => 'admin::app.layouts.newsletter-subscriptions', 'route' => 'admin.customers.subscribers.index', 'sort' => 4, 'icon-class' => '', ], [ 'key' => 'configuration', - 'name' => 'Configure', + 'name' => 'admin::app.layouts.configure', 'route' => 'admin.configuration.index', 'sort' => 5, 'icon-class' => 'configuration-icon', ], [ 'key' => 'settings', - 'name' => 'Settings', + 'name' => 'admin::app.layouts.settings', 'route' => 'admin.locales.index', 'sort' => 6, 'icon-class' => 'settings-icon', ], [ 'key' => 'settings.locales', - 'name' => 'Locales', + 'name' => 'admin::app.layouts.locales', 'route' => 'admin.locales.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'settings.currencies', - 'name' => 'Currencies', + 'name' => 'admin::app.layouts.currencies', 'route' => 'admin.currencies.index', 'sort' => 2, 'icon-class' => '', ], [ 'key' => 'settings.exchange_rates', - 'name' => 'Exchange Rates', + 'name' => 'admin::app.layouts.exchange-rates', 'route' => 'admin.exchange_rates.index', 'sort' => 3, 'icon-class' => '', ], [ 'key' => 'settings.inventory_sources', - 'name' => 'Inventory Sources', + 'name' => 'admin::app.layouts.inventory-sources', 'route' => 'admin.inventory_sources.index', 'sort' => 4, 'icon-class' => '', ], [ 'key' => 'settings.channels', - 'name' => 'Channels', + 'name' => 'admin::app.layouts.channels', 'route' => 'admin.channels.index', 'sort' => 5, 'icon-class' => '', ], [ 'key' => 'settings.users', - 'name' => 'Users', + 'name' => 'admin::app.layouts.users', 'route' => 'admin.users.index', 'sort' => 6, 'icon-class' => '', ], [ 'key' => 'settings.users.users', - 'name' => 'Users', + 'name' => 'admin::app.layouts.users', 'route' => 'admin.users.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'settings.users.roles', - 'name' => 'Roles', + 'name' => 'admin::app.layouts.roles', 'route' => 'admin.roles.index', 'sort' => 2, 'icon-class' => '', ], [ 'key' => 'settings.sliders', - 'name' => 'Sliders', + 'name' => 'admin::app.layouts.sliders', 'route' => 'admin.sliders.index', 'sort' => 7, 'icon-class' => '', ], [ 'key' => 'settings.taxes', - 'name' => 'Taxes', + 'name' => 'admin::app.layouts.taxes', 'route' => 'admin.tax-categories.index', 'sort' => 8, 'icon-class' => '', ], [ 'key' => 'settings.taxes.tax-categories', - 'name' => 'Tax Categories', + 'name' => 'admin::app.layouts.tax-categories', 'route' => 'admin.tax-categories.index', 'sort' => 1, 'icon-class' => '', ], [ 'key' => 'settings.taxes.tax-rates', - 'name' => 'Tax Rates', + 'name' => 'admin::app.layouts.tax-rates', 'route' => 'admin.tax-rates.index', 'sort' => 2, 'icon-class' => '', diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 5322928a0..b15556abb 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -8,6 +8,70 @@ return [ 'true' => 'True', 'false' => 'False' ], + + 'layouts' => [ + 'my-account' => 'My Account', + 'logout' => 'Logout', + 'visit-shop' => 'Visit Shop', + 'dashboard' => 'Dashboard', + 'sales' => 'Sales', + 'orders' => 'Orders', + 'shipments' => 'Shipments', + 'invoices' => 'Invoices', + 'catalog' => 'Catalog', + 'products' => 'Products', + 'categories' => 'Categories', + 'attributes' => 'Attributes', + 'attribute-families' => 'Attribute Families', + 'customers' => 'Customers', + 'groups' => 'Groups', + 'reviews' => 'Reviews', + 'newsletter-subscriptions' => 'Newsletter Subscriptions', + 'configure' => 'Configure', + 'settings' => 'Settings', + 'locales' => 'Locales', + 'currencies' => 'Currencies', + 'exchange-rates' => 'Exchange Rates', + 'inventory-sources' => 'Inventory Sources', + 'channels' => 'Channels', + 'users' => 'Users', + 'roles' => 'Roles', + 'sliders' => 'Sliders', + 'taxes' => 'Taxes', + 'tax-categories' => 'Tax Categories', + 'tax-rates' => 'Tax Rates' + ], + + 'acl' => [ + 'dashboard' => 'Dashboard', + 'sales' => 'Sales', + 'orders' => 'Orders', + 'shipments' => 'Shipments', + 'invoices' => 'Invoices', + 'catalog' => 'Catalog', + 'products' => 'Products', + 'categories' => 'Categories', + 'attributes' => 'Attributes', + 'attribute-families' => 'Attribute Families', + 'customers' => 'Customers', + 'groups' => 'Groups', + 'reviews' => 'Reviews', + 'newsletter-subscriptions' => 'Newsletter Subscriptions', + 'configure' => 'Configure', + 'settings' => 'Settings', + 'locales' => 'Locales', + 'currencies' => 'Currencies', + 'exchange-rates' => 'Exchange Rates', + 'inventory-sources' => 'Inventory Sources', + 'channels' => 'Channels', + 'users' => 'Users', + 'roles' => 'Roles', + 'sliders' => 'Sliders', + 'taxes' => 'Taxes', + 'tax-categories' => 'Tax Categories', + 'tax-rates' => 'Tax Rates' + ], + 'dashboard' => [ 'title' => 'Dashboard', 'from' => 'From', diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/nav-aside.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/nav-aside.blade.php index 90b463e3e..976634df9 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/nav-aside.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/nav-aside.blade.php @@ -6,7 +6,7 @@ @foreach(array_get($menu->items, current($keys) . '.children') as $item)
  • - {{ $item['name'] }} + {{ trans($item['name']) }} @if ($menu->getActive($item)) @@ -18,7 +18,7 @@ @foreach($config->items as $key => $item)
  • - {{ isset($item['name']) ? $item['name'] : '' }} + {{ isset($item['name']) ? trans($item['name']) : '' }} @if ($item['key'] == request()->route('slug')) diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/nav-left.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/nav-left.blade.php index 5abedf148..cd38938f8 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/nav-left.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/nav-left.blade.php @@ -5,7 +5,7 @@ - {{ $menuItem['name'] }} + {{ trans($menuItem['name']) }}
  • @endforeach diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php index 46e72c591..53f228c82 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php @@ -31,13 +31,13 @@
    diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/tabs.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/tabs.blade.php index 9c8c1c071..1ed6af365 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/tabs.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/tabs.blade.php @@ -12,7 +12,7 @@
  • - {{ $item['name'] }} + {{ trans($item['name']) }}
  • @@ -32,7 +32,7 @@
  • - {{ $item['name'] }} + {{ trans($item['name']) }}
  • diff --git a/packages/Webkul/Core/src/Tree.php b/packages/Webkul/Core/src/Tree.php index 7e3fd8d8a..f0059fa08 100755 --- a/packages/Webkul/Core/src/Tree.php +++ b/packages/Webkul/Core/src/Tree.php @@ -82,6 +82,7 @@ class Tree { $this->currentKey = $item['key']; } } else if ($type == 'acl') { + $item['name'] = trans($item['name']); $this->roles[$item['route']] = $item['key']; } diff --git a/packages/Webkul/Shop/src/Config/menu.php b/packages/Webkul/Shop/src/Config/menu.php index c453ee5bd..5782e0e4a 100755 --- a/packages/Webkul/Shop/src/Config/menu.php +++ b/packages/Webkul/Shop/src/Config/menu.php @@ -3,32 +3,32 @@ return [ [ 'key' => 'account', - 'name' => 'My Account', + 'name' => 'shop::app.layouts.my-account', 'route' =>'customer.profile.index', 'sort' => 1 ], [ 'key' => 'account.profile', - 'name' => 'Profile', + 'name' => 'shop::app.layouts.profile', 'route' =>'customer.profile.index', 'sort' => 1 ], [ 'key' => 'account.address', - 'name' => 'Address', + 'name' => 'shop::app.layouts.address', 'route' =>'customer.address.index', 'sort' => 2 ], [ 'key' => 'account.reviews', - 'name' => 'Reviews', + 'name' => 'shop::app.layouts.reviews', 'route' =>'customer.reviews.index', 'sort' => 3 ], [ 'key' => 'account.wishlist', - 'name' => 'Wishlist', + 'name' => 'shop::app.layouts.wishlist', 'route' =>'customer.wishlist.index', 'sort' => 4 ], [ 'key' => 'account.orders', - 'name' => 'Orders', + 'name' => 'shop::app.layouts.orders', 'route' =>'customer.orders.index', 'sort' => 5 ] diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index dcf8bc036..96221b69a 100755 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -1,6 +1,15 @@ [ + 'my-account' => 'My Account', + 'profile' => 'Profile', + 'address' => 'Address', + 'reviews' => 'Reviews', + 'wishlist' => 'Wishlist', + 'orders' => 'Orders', + ], + 'common' => [ 'error' => 'Something went wrong, please try again later.' ], diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php index 20887bc22..c0b6c8742 100755 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/partials/sidemenu.blade.php @@ -8,7 +8,7 @@ @foreach($menu->items as $menuItem)