diff --git a/packages/Webkul/Admin/src/Config/product_form_accordians.php b/packages/Webkul/Admin/src/Config/product_form_accordians.php deleted file mode 100755 index 332edcc03..000000000 --- a/packages/Webkul/Admin/src/Config/product_form_accordians.php +++ /dev/null @@ -1,25 +0,0 @@ - 'inventories', - 'name' => 'Inventories', - 'view' => 'admin::catalog.products.accordians.inventories', - 'sort' => 1 - ], [ - 'key' => 'images', - 'name' => 'Images', - 'view' => 'admin::catalog.products.accordians.images', - 'sort' => 2 - ], [ - 'key' => 'categories', - 'name' => 'Categories', - 'view' => 'admin::catalog.products.accordians.categories', - 'sort' => 3 - ], [ - 'key' => 'variations', - 'name' => 'Variations', - 'view' => 'admin::catalog.products.accordians.variations', - 'sort' => 4 - ] -]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Config/system.php b/packages/Webkul/Admin/src/Config/system.php new file mode 100644 index 000000000..67d19e606 --- /dev/null +++ b/packages/Webkul/Admin/src/Config/system.php @@ -0,0 +1,33 @@ + 'catalog', + 'name' => 'Catalog', + 'sort' => 1 + ], [ + 'key' => 'catalog.products', + 'name' => 'Products', + 'sort' => 1, + ], [ + 'key' => 'catalog.products.review', + 'name' => 'Review', + 'sort' => 1, + 'fields' => [ + [ + 'name' => 'guest_review', + 'title' => 'Allow Guest Review', + 'type' => 'select', + 'options' => [ + [ + 'title' => 'Yes', + 'value' => true + ], [ + 'title' => 'No', + 'value' => false + ] + ], + ] + ] + ], +]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php index 21364eafa..1a0be33f4 100755 --- a/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CategoryDataGrid.php @@ -72,14 +72,6 @@ class CategoryDataGrid extends DataGrid } ]); - $this->addColumn([ - 'index' => 'locale', - 'label' => trans('admin::app.datagrid.locale'), - 'type' => 'boolean', - 'sortable' => true, - 'searchable' => true, - ]); - $this->addColumn([ 'index' => 'count', 'label' => trans('admin::app.datagrid.no-of-products'), diff --git a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php index 87cf74dea..ac6e8455f 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderDataGrid.php @@ -34,6 +34,7 @@ class OrderDataGrid extends DataGrid $this->addFilter('billed_to', DB::raw('CONCAT(order_address_billing.first_name, " ", order_address_billing.last_name)')); $this->addFilter('shipped_to', DB::raw('CONCAT(order_address_shipping.first_name, " ", order_address_shipping.last_name)')); + $this->addFilter('id', 'orders.id'); $this->setQueryBuilder($queryBuilder); } diff --git a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php index 4e0403456..d76a9173c 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderShipmentsDataGrid.php @@ -19,23 +19,23 @@ class OrderShipmentsDataGrid extends DataGrid public function prepareQueryBuilder() { - $queryBuilder = DB::table('shipments as ship') + $queryBuilder = DB::table('shipments') ->leftJoin('order_address as order_address_shipping', function($leftJoin) { - $leftJoin->on('order_address_shipping.order_id', '=', 'ship.order_address_id') + $leftJoin->on('order_address_shipping.order_id', '=', 'shipments.order_id') ->where('order_address_shipping.address_type', 'shipping'); }) - ->leftJoin('orders as ors', 'ship.order_id', '=', 'ors.id') - ->leftJoin('inventory_sources as is', 'ship.inventory_source_id', '=', 'is.id') - ->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') + ->leftJoin('orders as ors', 'shipments.order_id', '=', 'ors.id') + ->leftJoin('inventory_sources as is', 'shipments.inventory_source_id', '=', 'is.id') + ->select('shipments.id as shipment_id', 'shipments.order_id as shipment_order_id', 'shipments.total_qty as shipment_total_qty', 'is.name as inventory_source_name', 'ors.created_at as orderdate', 'shipments.created_at as shipment_created_at') ->addSelect(DB::raw('CONCAT(order_address_shipping.first_name, " ", order_address_shipping.last_name) as shipped_to')); - $this->addFilter('shipment_id', 'ship.id'); - $this->addFilter('shipment_order_id', 'ship.order_id'); - $this->addFilter('shipment_total_qty', 'ship.total_qty'); + $this->addFilter('shipment_id', 'shipments.id'); + $this->addFilter('shipment_order_id', 'shipments.order_id'); + $this->addFilter('shipment_total_qty', 'shipments.total_qty'); $this->addFilter('inventory_source_name', 'is.name'); $this->addFilter('orderdate', 'ors.created_at'); - $this->addFilter('shipment_created_at', 'ship.created_at'); - $this->addFilter('shipped_to', DB::raw('CONCAT(ors.customer_first_name, " ", ors.customer_last_name)')); + $this->addFilter('shipment_created_at', 'shipments.created_at'); + $this->addFilter('shipped_to', DDB::raw('CONCAT(order_address_shipping.first_name, " ", order_address_shipping.last_name) as shipped_to')); $this->setQueryBuilder($queryBuilder); } diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 3fb0b1419..f4766aad9 100755 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -84,5 +84,11 @@ class UserDataGrid extends DataGrid 'route' => 'admin.users.edit', 'icon' => 'icon pencil-lg-icon' ]); + + $this->addAction([ + 'type' => 'Delete', + 'route' => 'admin.users.delete', + 'icon' => 'icon trash-icon' + ]); } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php index bbb2bfaa6..effe2dd98 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php @@ -88,7 +88,7 @@ class CustomerController extends Controller $channelName = $this->channel->all(); - return view($this->_config['view'],compact('customerGroup','channelName')); + return view($this->_config['view'], compact('customerGroup','channelName')); } /** @@ -107,7 +107,7 @@ class CustomerController extends Controller 'date_of_birth' => 'date|before:today' ]); - $data=request()->all(); + $data = request()->all(); $password = bcrypt(rand(100000,10000000)); @@ -136,7 +136,7 @@ class CustomerController extends Controller $channelName = $this->channel->all(); - return view($this->_config['view'],compact('customer', 'customerGroup', 'channelName')); + return view($this->_config['view'], compact('customer', 'customerGroup', 'channelName')); } /** @@ -158,7 +158,7 @@ class CustomerController extends Controller 'date_of_birth' => 'date|before:today' ]); - $this->customer->update(request()->all(),$id); + $this->customer->update(request()->all(), $id); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer'])); diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php index b9f16e8ab..d26ca0a97 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php @@ -96,7 +96,7 @@ class CustomerGroupController extends Controller { $group = $this->customerGroup->findOneWhere(['id'=>$id]); - return view($this->_config['view'],compact('group')); + return view($this->_config['view'], compact('group')); } /** @@ -112,7 +112,7 @@ class CustomerGroupController extends Controller 'name' => 'string|required', ]); - $this->customerGroup->update(request()->all(),$id); + $this->customerGroup->update(request()->all(), $id); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group'])); diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php index f33aec45f..5cfe6bd6c 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php @@ -92,7 +92,7 @@ class InvoiceController extends Controller $order = $this->order->find($orderId); if (! $order->canInvoice()) { - session()->flash('error', 'Order invoice creation is not allowed.'); + session()->flash('error', trans('admin::app.sales.invoices.creation-error')); return redirect()->back(); } @@ -102,7 +102,7 @@ class InvoiceController extends Controller ]); $data = request()->all(); - + $haveProductToInvoice = false; foreach ($data['invoice']['items'] as $itemId => $qty) { if ($qty) { @@ -112,14 +112,14 @@ class InvoiceController extends Controller } if (! $haveProductToInvoice) { - session()->flash('error', 'Invoice can not be created without products.'); + session()->flash('error', trans('admin::app.sales.invoices.product-error')); return redirect()->back(); } $this->invoice->create(array_merge($data, ['order_id' => $orderId])); - session()->flash('success', 'Invoice created successfully.'); + session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Invoice'])); return redirect()->route($this->_config['redirect'], $orderId); } diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php index 542930b6f..a29f05f62 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/OrderController.php @@ -77,11 +77,11 @@ class OrderController extends Controller public function cancel($id) { $result = $this->order->cancel($id); - + if ($result) { - session()->flash('success', trans('Order canceled successfully.')); + session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order'])); } else { - session()->flash('error', trans('Order can not be canceled.')); + session()->flash('error', trans('admin::app.response.cancel-error', ['name' => 'Order'])); } return redirect()->back(); diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php index 9a8c67da8..f00399f6a 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/ShipmentController.php @@ -92,7 +92,7 @@ class ShipmentController extends Controller $order = $this->order->find($orderId); if (! $order->channel || !$order->canShip()) { - session()->flash('error', 'Shipment can not be created for this order.'); + session()->flash('error', trans('admin::app.sales.shipments.creation-error')); return redirect()->back(); } @@ -112,7 +112,7 @@ class ShipmentController extends Controller $order = $this->order->find($orderId); if (! $order->canShip()) { - session()->flash('error', 'Order shipment creation is not allowed.'); + session()->flash('error', trans('admin::app.sales.shipments.order-error')); return redirect()->back(); } @@ -127,14 +127,14 @@ class ShipmentController extends Controller $data = request()->all(); if (! $this->isInventoryValidate($data)) { - session()->flash('error', 'Requested quantity is invalid or not available.'); + session()->flash('error', trans('admin::app.sales.shipments.quantity-invalid')); return redirect()->back(); } $this->shipment->create(array_merge($data, ['order_id' => $orderId])); - session()->flash('success', 'Shipment created successfully.'); + session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Shipment'])); return redirect()->route($this->_config['redirect'], $orderId); } diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index 1cb6e703f..6629253d3 100755 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -10,10 +10,6 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'admin::users.sessions.create' ])->name('admin.session.create'); - Route::get('/testgrid', 'Webkul\Admin\Http\Controllers\DataGridController@testGrid')->defaults('_config', [ - 'view' => 'admin::catalog.categories.test' - ]); - //login post route to admin auth controller Route::post('/login', 'Webkul\User\Http\Controllers\SessionController@store')->defaults('_config', [ 'redirect' => 'admin.dashboard.index' @@ -38,8 +34,6 @@ Route::group(['middleware' => ['web']], function () { // Admin Routes Route::group(['middleware' => ['admin']], function () { - Route::get('testev', 'Webkul\Product\Http\Controllers\ProductController@testProductFlat'); - Route::get('/logout', 'Webkul\User\Http\Controllers\SessionController@destroy')->defaults('_config', [ 'redirect' => 'admin.session.create' ])->name('admin.session.destroy'); diff --git a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php index c8d58685d..28dfb17d6 100755 --- a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php @@ -44,7 +44,7 @@ class AdminServiceProvider extends ServiceProvider Handler::class ); } - + /** * Register services. * @@ -62,18 +62,6 @@ class AdminServiceProvider extends ServiceProvider */ protected function composeView() { - view()->composer(['admin::catalog.products.create', 'admin::catalog.products.edit'], function ($view) { - $accordian = Tree::create(); - - foreach (config('product_form_accordians') as $item) { - $accordian->add($item); - } - - $accordian->items = core()->sortItems($accordian->items); - - $view->with('form_accordians', $accordian); - }); - view()->composer(['admin::layouts.nav-left', 'admin::layouts.nav-aside', 'admin::layouts.tabs'], function ($view) { $tree = Tree::create(); @@ -127,7 +115,7 @@ class AdminServiceProvider extends ServiceProvider return $tree; } - + /** * Register package config. * @@ -144,7 +132,7 @@ class AdminServiceProvider extends ServiceProvider ); $this->mergeConfigFrom( - dirname(__DIR__) . '/Config/product_form_accordians.php', 'product_form_accordians' + dirname(__DIR__) . '/Config/system.php', 'core' ); } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 3a1a8bc0f..84377b2ba 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -80,8 +80,8 @@ return [ 'total-orders' => 'Total Orders', 'total-sale' => 'Total Sale', 'average-sale' => 'Average Order Sale', - 'increased' => ':progress% Increased', - 'decreased' => ':progress% Decreased', + 'increased' => ':progress%', + 'decreased' => ':progress%', 'sales' => 'Sales', 'top-performing-categories' => 'Top Performing Categories', 'product-count' => ':count Products', @@ -217,6 +217,10 @@ return [ 'delete-last' => 'At least one admin is required.', 'delete-success' => 'Success! User deleted', 'incorrect-password' => 'The password you entered is incorrect', + 'password-match' => 'Current password does not match.', + 'account-save' => 'Account changes saved successfully.', + 'login-error' => 'Please check your credentials and try again.', + 'activate-warning' => 'Your account is yet to be activated, please contact administrator.' ], 'sessions' => [ @@ -301,7 +305,9 @@ return [ 'bill-to' => 'Bill to', 'ship-to' => 'Ship to', 'print' => 'Print', - 'order-date' => 'Order Date' + 'order-date' => 'Order Date', + 'creation-error' => 'Order invoice creation is not allowed.', + 'product-error' => 'Invoice can not be created without products.' ], 'shipments' => [ @@ -324,7 +330,10 @@ return [ 'inventory-source' => 'Inventory Source', 'carrier-title' => 'Carrier Title', 'tracking-number' => 'Tracking Number', - 'view-title' => 'Shipment #:shipment_id' + 'view-title' => 'Shipment #:shipment_id', + 'creation-error' => 'Shipment can not be created for this order.', + 'order-error' => 'Order shipment creation is not allowed.', + 'quantity-invalid' => 'Requested quantity is invalid or not available.', ] ], @@ -360,7 +369,12 @@ return [ 'variant-already-exist-message' => 'Variant with same attribute options already exists.', 'add-image-btn-title' => 'Add Image', 'mass-delete-success' => 'All the selected index of products have been deleted successfully', - 'mass-update-success' => 'All the selected index of products have been updated successfully' + 'mass-update-success' => 'All the selected index of products have been updated successfully', + 'configurable-error' => 'Please select atleast one configurable attribute.', + 'categories' => 'Categories', + 'images' => 'Images', + 'inventories' => 'Inventories', + 'variations' => 'Variations' ], 'attributes' => [ @@ -402,7 +416,13 @@ return [ 'is_filterable' => 'Use in Layered Navigation', 'is_configurable' => 'Use To Create Configurable Product', 'admin_name' => 'Admin Name', - 'is_visible_on_front' => 'Visible on Product View Page on Front-end' + 'is_visible_on_front' => 'Visible on Product View Page on Front-end', + 'swatch_type' => 'Swatch Type', + 'dropdown' => 'Dropdown', + 'color-swatch' => 'Color Swatch', + 'image-swatch' => 'Image Swatch', + 'text-swatch' => 'Text Swatch', + 'swatch' => 'Swatch' ], 'families' => [ 'title' => 'Families', @@ -757,7 +777,8 @@ return [ 'xls' => 'XLS', 'file' => 'File', 'upload-error' => 'The file must be a file of type: xls, xlsx, csv.', - 'duplicate-error' => 'Identifier must be unique, duplicate identifier :identifier at row :position.' + 'duplicate-error' => 'Identifier must be unique, duplicate identifier :identifier at row :position.', + 'enough-row-error' => 'file has not enough rows' ], 'response' => [ @@ -772,6 +793,13 @@ return [ 'currency-delete-error' => 'This currency is set as channel base currency so it can not be deleted.', 'upload-success' => ':name uploaded successfully.', 'delete-category-root' => 'Cannot delete the root category', - 'create-root-failure' => 'Category with name root already exists' + 'create-root-failure' => 'Category with name root already exists', + 'cancel-success' => ':name canceled successfully.', + 'cancel-error' => ':name can not be canceled.', + 'already-taken' => 'The :name has already been taken.' + ], + + 'footer' => [ + 'copy-right' => '© Copyright 2018 Webkul Software, All rights reserved.' ], ]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php index a521f156a..1863e2099 100755 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php @@ -28,8 +28,13 @@