From d3b73f517cb07a3ee3b6f4361f67d5ab6d5276c9 Mon Sep 17 00:00:00 2001 From: jitendra Date: Wed, 17 Oct 2018 12:51:47 +0530 Subject: [PATCH] Sales email templates added --- config/app.php | 22 + .../src/DataGrids/ExchangeRatesDataGrid.php | 25 +- ...leDataGrid.php => TaxCategoryDataGrid.php} | 14 +- .../Admin/src/DataGrids/TaxRateDataGrid.php | 2 +- packages/Webkul/Admin/src/Http/routes.php | 22 +- packages/Webkul/Admin/src/Listeners/Order.php | 47 ++ .../Admin/src/Mail/NewInvoiceNotification.php | 51 +++ .../Admin/src/Mail/NewOrderNotification.php | 48 ++ .../src/Mail/NewShipmentNotification.php | 51 +++ .../src/Providers/EventServiceProvider.php | 218 ++++++--- .../Admin/src/Resources/lang/en/app.php | 66 ++- .../Resources/views/account/edit.blade.php | 6 +- .../views/catalog/attributes/index.blade.php | 6 +- .../views/catalog/categories/index.blade.php | 6 +- .../views/catalog/families/index.blade.php | 6 +- .../views/catalog/products/edit.blade.php | 6 +- .../views/catalog/products/index.blade.php | 6 +- .../Resources/views/customers/index.blade.php | 2 +- .../views/customers/review/edit.blade.php | 6 +- .../views/customers/review/index.blade.php | 4 +- .../Resources/views/dashboard/index.blade.php | 4 + .../views/emails/layouts/master.blade.php | 22 + .../views/emails/sales/new-invoice.blade.php | 175 +++++++ .../views/emails/sales/new-order.blade.php | 177 ++++++++ .../views/emails/sales/new-shipment.blade.php | 155 +++++++ .../views/sales/invoices/view.blade.php | 1 + .../views/settings/channels/index.blade.php | 4 + .../settings/currencies/create.blade.php | 4 + .../views/settings/currencies/edit.blade.php | 50 -- .../views/settings/currencies/index.blade.php | 4 + .../settings/exchange_rates/create.blade.php | 69 +-- .../settings/exchange_rates/edit.blade.php | 74 +-- .../views/settings/locales/index.blade.php | 4 + .../views/tax/tax-categories/create.blade.php | 4 +- .../views/tax/tax-categories/edit.blade.php | 17 +- .../views/tax/tax-categories/index.blade.php | 10 +- .../views/tax/tax-rates/create.blade.php | 4 +- .../views/tax/tax-rates/edit.blade.php | 2 +- .../views/tax/tax-rates/index.blade.php | 2 +- .../views/users/roles/index.blade.php | 4 + .../Database/Seeders/AttributeTableSeeder.php | 4 +- .../Http/Controllers/AttributeController.php | 12 +- .../Controllers/AttributeFamilyController.php | 10 +- .../Providers/AttributeServiceProvider.php | 3 - .../Http/Controllers/CategoryController.php | 2 +- .../src/Providers/CategoryServiceProvider.php | 3 - packages/Webkul/Checkout/src/Cart.php | 4 +- .../src/Http/ViewComposers/CartComposer.php | 2 +- .../src/Providers/CheckoutServiceProvider.php | 5 - packages/Webkul/Core/src/Core.php | 152 ++++--- ...2_create_currency_exchange_rates_table.php | 5 +- .../Webkul/Core/src/Eloquent/Repository.php | 8 + .../Http/Controllers/ChannelController.php | 10 +- .../Http/Controllers/CurrencyController.php | 10 +- .../Controllers/ExchangeRateController.php | 13 +- .../src/Http/Controllers/LocaleController.php | 10 +- .../Core/src/Models/CurrencyExchangeRate.php | 2 +- .../src/Providers/CoreServiceProvider.php | 12 +- .../src/Http/Controllers/OrdersController.php | 61 --- packages/Webkul/Customer/src/Menu.php | 51 --- .../src/Providers/CustomerServiceProvider.php | 26 -- .../src/Providers/EventServiceProvider.php | 52 --- .../Controllers/InventorySourceController.php | 10 +- .../Providers/InventoryServiceProvider.php | 3 - .../Criteria/AttributeToSelectCriteria.php | 2 +- .../Criteria/FeaturedProductsCriteria.php | 2 +- .../Criteria/FilterByAttributesCriteria.php | 2 +- .../Criteria/NewProductsCriteria.php | 2 +- .../src/Contracts/Criteria/SortCriteria.php | 2 +- ...018_07_27_065727_create_products_table.php | 4 +- .../{Product => Helpers}/AbstractProduct.php | 2 +- .../ConfigurableOption.php | 10 +- .../src/{Product => Helpers}/Price.php | 2 +- .../src/{Product => Helpers}/ProductImage.php | 2 +- .../src/{Product => Helpers}/Review.php | 2 +- .../src/{Product => Helpers}/Toolbar.php | 2 +- .../Product/src/{Product => Helpers}/View.php | 4 +- .../Http/Controllers/ProductController.php | 2 +- packages/Webkul/Sales/src/Models/Order.php | 2 +- .../src/Repositories/OrderRepository.php | 9 - .../src/Http/Controllers/CartController.php | 4 +- .../src/Http/Controllers/HomeController.php | 1 - .../src/Http/Controllers/OrderController.php | 73 +++ packages/Webkul/Shop/src/Http/routes.php | 8 +- .../src/Providers/ComposerServiceProvider.php | 2 +- .../src/Providers/ShopServiceProvider.php | 40 +- .../Shop/src/Resources/assets/sass/app.scss | 124 ++++- .../Webkul/Shop/src/Resources/lang/en/app.php | 40 +- .../views/checkout/cart/index.blade.php | 2 +- .../views/checkout/onepage/review.blade.php | 2 +- .../customers/account/orders/index.blade.php | 429 +++--------------- .../customers/account/orders/orders.blade.php | 53 --- .../customers/account/orders/view.blade.php | 328 +++++++++++++ .../account/partials/sidemenu.blade.php | 15 +- .../customers/account/reviews/index.blade.php | 2 +- .../account/reviews/reviews.blade.php | 2 +- .../account/wishlist/wishlist.blade.php | 2 +- .../views/layouts/header/index.blade.php | 2 +- .../Resources/views/products/index.blade.php | 2 +- .../views/products/list/card.blade.php | 2 +- .../views/products/list/toolbar.blade.php | 2 +- .../Resources/views/products/price.blade.php | 2 +- .../Resources/views/products/review.blade.php | 2 +- .../views/products/reviews/create.blade.php | 2 +- .../views/products/reviews/index.blade.php | 4 +- .../Resources/views/products/view.blade.php | 1 + .../views/products/view/attributes.blade.php | 36 +- .../view/configurable-options.blade.php | 2 +- .../views/products/view/gallery.blade.php | 2 +- .../views/products/view/reviews.blade.php | 2 +- ..._30_064755_create_tax_categories_table.php | 2 +- .../Controllers/TaxCategoryController.php | 79 ++-- .../src/Http/Controllers/TaxController.php | 18 +- .../Repositories/TaxCategoryRepository.php | 10 +- .../assets/images/Icon-Customers-Active.svg | 12 + .../Ui/src/Resources/assets/sass/app.scss | 8 + .../Ui/src/Resources/assets/sass/icons.scss | 15 + packages/Webkul/User/src/ACLCreator.php | 4 + packages/Webkul/User/src/Bouncer.php | 15 +- .../src/Http/Controllers/RoleController.php | 10 +- .../src/Http/Controllers/UserController.php | 10 +- .../{RedirectIfNotAdmin.php => Bouncer.php} | 20 +- packages/Webkul/User/src/Http/helpers.php | 8 + .../src/Providers/UserServiceProvider.php | 6 +- public/themes/default/assets/css/shop.css | 112 ++++- public/themes/default/assets/js/shop.js | 2 +- .../themes/default/assets/mix-manifest.json | 2 +- 127 files changed, 2328 insertions(+), 1114 deletions(-) rename packages/Webkul/Admin/src/DataGrids/{TaxRuleDataGrid.php => TaxCategoryDataGrid.php} (94%) create mode 100644 packages/Webkul/Admin/src/Listeners/Order.php create mode 100644 packages/Webkul/Admin/src/Mail/NewInvoiceNotification.php create mode 100644 packages/Webkul/Admin/src/Mail/NewOrderNotification.php create mode 100644 packages/Webkul/Admin/src/Mail/NewShipmentNotification.php create mode 100644 packages/Webkul/Admin/src/Resources/views/emails/layouts/master.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/emails/sales/new-invoice.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/emails/sales/new-order.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/emails/sales/new-shipment.blade.php delete mode 100644 packages/Webkul/Admin/src/Resources/views/settings/currencies/edit.blade.php delete mode 100644 packages/Webkul/Customer/src/Http/Controllers/OrdersController.php delete mode 100644 packages/Webkul/Customer/src/Menu.php delete mode 100644 packages/Webkul/Customer/src/Providers/EventServiceProvider.php rename packages/Webkul/Product/src/{Product => Helpers}/AbstractProduct.php (96%) rename packages/Webkul/Product/src/{Product => Helpers}/ConfigurableOption.php (96%) rename packages/Webkul/Product/src/{Product => Helpers}/Price.php (98%) rename packages/Webkul/Product/src/{Product => Helpers}/ProductImage.php (98%) rename packages/Webkul/Product/src/{Product => Helpers}/Review.php (98%) rename packages/Webkul/Product/src/{Product => Helpers}/Toolbar.php (98%) rename packages/Webkul/Product/src/{Product => Helpers}/View.php (83%) create mode 100644 packages/Webkul/Shop/src/Http/Controllers/OrderController.php delete mode 100644 packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php create mode 100644 packages/Webkul/Shop/src/Resources/views/customers/account/orders/view.blade.php create mode 100644 packages/Webkul/Ui/src/Resources/assets/images/Icon-Customers-Active.svg rename packages/Webkul/User/src/Http/Middleware/{RedirectIfNotAdmin.php => Bouncer.php} (50%) create mode 100644 packages/Webkul/User/src/Http/helpers.php diff --git a/config/app.php b/config/app.php index 641348c19..32959e3f4 100644 --- a/config/app.php +++ b/config/app.php @@ -93,6 +93,28 @@ return [ 'fallback_locale' => 'en', + /* + |-------------------------------------------------------------------------- + | Base Currency Code + |-------------------------------------------------------------------------- + | + | Here you may specify the base currency code for your application. + | + */ + + 'currency' => 'USD', + + /* + |-------------------------------------------------------------------------- + | Default channel Code + |-------------------------------------------------------------------------- + | + | Here you may specify the default channel code for your application. + | + */ + + 'channel' => 'default', + /* |-------------------------------------------------------------------------- | Encryption Key diff --git a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php index af954a73a..9d4f085e0 100644 --- a/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/ExchangeRatesDataGrid.php @@ -76,13 +76,6 @@ class ExchangeRatesDataGrid 'label' => 'Rate ID', 'sortable' => true, ], - [ - 'name' => 'source_currency', - 'alias' => 'exchSourceCurrency', - 'type' => 'string', - 'label' => 'Source Currency', - 'sortable' => true, - ], [ 'name' => 'target_currency', 'alias' => 'exchTargetCurrency', @@ -91,10 +84,10 @@ class ExchangeRatesDataGrid 'sortable' => true, ], [ - 'name' => 'ratio', - 'alias' => 'exchRatio', + 'name' => 'rate', + 'alias' => 'exchRate', 'type' => 'string', - 'label' => 'Exchange Ratio', + 'label' => 'Exchange Rate', ], ], @@ -108,13 +101,6 @@ class ExchangeRatesDataGrid 'type' => 'number', 'label' => 'Rate ID', ], - [ - 'column' => 'source_currency', - 'alias' => 'exchSourceCurrency', - 'type' => 'string', - 'label' => 'Source Currency', - 'sortable' => true, - ], [ 'column' => 'target_currency', 'alias' => 'exchTargetCurrency', @@ -127,11 +113,6 @@ class ExchangeRatesDataGrid //don't use aliasing in case of searchables 'searchable' => [ - [ - 'column' => 'source_currency', - 'type' => 'string', - 'label' => 'Source Currency', - ], [ 'column' => 'target_currency', 'type' => 'string', diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRuleDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php similarity index 94% rename from packages/Webkul/Admin/src/DataGrids/TaxRuleDataGrid.php rename to packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php index 753cbc779..d4e589a54 100644 --- a/packages/Webkul/Admin/src/DataGrids/TaxRuleDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxCategoryDataGrid.php @@ -6,26 +6,26 @@ use Illuminate\View\View; use Webkul\Ui\DataGrid\Facades\DataGrid; /** - * Tax Rules DataGrid + * Tax Category DataGrid * * @author Prashant Singh @prashant-webkul * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ -class TaxRuleDataGrid +class TaxCategoryDataGrid { /** - * The Tax Rule Data + * The Tax Category Data * Grid implementation. * - * @var TaxRuleDataGrid + * @var TaxCategoryDataGrid */ - public function createTaxRuleDataGrid() + public function createTaxCategoryDataGrid() { return DataGrid::make([ - 'name' => 'Tax Rule', + 'name' => 'Tax Category', 'table' => 'tax_categories as tr', 'select' => 'tr.id', 'perpage' => 10, @@ -154,7 +154,7 @@ class TaxRuleDataGrid public function render() { - return $this->createTaxRuleDataGrid()->render(); + return $this->createTaxCategoryDataGrid()->render(); } } \ No newline at end of file diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php index be5b5c12e..e51d10f11 100644 --- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php @@ -15,7 +15,7 @@ use Webkul\Ui\DataGrid\Facades\DataGrid; class TaxRateDataGrid { /** - * The Tax Rule Data + * The Tax Category Data * Grid implementation. * * @var TaxRateDataGrid diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index fe3d873a9..fc4fc2d19 100644 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -41,27 +41,27 @@ Route::group(['middleware' => ['web']], function () { //Customers Management Routes - Route::get('customer', 'Webkul\Core\Http\Controllers\CustomerController@index')->defaults('_config', [ + Route::get('customers', 'Webkul\Core\Http\Controllers\CustomerController@index')->defaults('_config', [ 'view' => 'admin::customers.index' ])->name('admin.customer.index'); - Route::get('customer/orders', 'Webkul\Core\Http\Controllers\CustomerController@index')->defaults('_config',[ + Route::get('customers/orders', 'Webkul\Core\Http\Controllers\CustomerController@index')->defaults('_config',[ 'view' => 'admin::customers.orders.index' ])->name('admin.customer.orders.index'); - Route::get('customer/create', 'Webkul\Core\Http\Controllers\CustomerController@create')->defaults('_config',[ + Route::get('customers/create', 'Webkul\Core\Http\Controllers\CustomerController@create')->defaults('_config',[ 'view' => 'admin::customers.create' ])->name('admin.customer.create'); - Route::post('customer/create', 'Webkul\Core\Http\Controllers\CustomerController@store')->defaults('_config',[ + Route::post('customers/create', 'Webkul\Core\Http\Controllers\CustomerController@store')->defaults('_config',[ 'redirect' => 'admin.customer.index' ])->name('admin.customer.store'); - Route::get('customer/edit/{id}', 'Webkul\Core\Http\Controllers\CustomerController@edit')->defaults('_config',[ + Route::get('customers/edit/{id}', 'Webkul\Core\Http\Controllers\CustomerController@edit')->defaults('_config',[ 'view' => 'admin::customers.edit' ])->name('admin.customer.edit'); - Route::put('customer/edit/{id}', 'Webkul\Core\Http\Controllers\CustomerController@update')->defaults('_config', [ + Route::put('customers/edit/{id}', 'Webkul\Core\Http\Controllers\CustomerController@update')->defaults('_config', [ 'redirect' => 'admin.customer.index' ])->name('admin.customer.update'); @@ -88,7 +88,7 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'admin::sales.orders.view' ])->name('admin.sales.orders.view'); - Route::get('/orders/cancel/{order_id}', 'Webkul\Admin\Http\Controllers\Sales\OrderController@cancel')->defaults('_config', [ + Route::get('/orders/cancel/{id}', 'Webkul\Admin\Http\Controllers\Sales\OrderController@cancel')->defaults('_config', [ 'view' => 'admin::sales.orders.cancel' ])->name('admin.sales.orders.cancel'); @@ -197,6 +197,10 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.catalog.attributes.index' ])->name('admin.catalog.attributes.update'); + Route::get('/attributes/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeController@destroy')->defaults('_config', [ + 'view' => 'admin::catalog.attributes.delete' + ])->name('admin.catalog.attributes.delete'); + // Catalog Family Routes Route::get('/families', 'Webkul\Attribute\Http\Controllers\AttributeFamilyController@index')->defaults('_config', [ @@ -396,7 +400,7 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'admin::tax.tax-categories.index' ])->name('admin.tax-categories.index'); - // tax rule routes + // tax category routes Route::get('/tax-categories/create', 'Webkul\Tax\Http\Controllers\TaxCategoryController@show')->defaults('_config', [ 'view' => 'admin::tax.tax-categories.create' ])->name('admin.tax-categories.show'); @@ -413,7 +417,7 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.tax-categories.index' ])->name('admin.tax-categories.update'); - //tax rule ends + //tax category ends //tax rate diff --git a/packages/Webkul/Admin/src/Listeners/Order.php b/packages/Webkul/Admin/src/Listeners/Order.php new file mode 100644 index 000000000..03a4dc033 --- /dev/null +++ b/packages/Webkul/Admin/src/Listeners/Order.php @@ -0,0 +1,47 @@ + + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class Order { + + /** + * @param mixed $order + * + * Send new order confirmation mail to the customer + */ + public function sendNewOrderMail($order) + { + Mail::send(new NewOrderNotification($order)); + } + + /** + * @param mixed $invoice + * + * Send new invoice mail to the customer + */ + public function sendNewInvoiceMail($invoice) + { + Mail::send(new NewInvoiceNotification($invoice)); + } + + /** + * @param mixed $shipment + * + * Send new shipment mail to the customer + */ + public function sendNewShipmentMail($shipment) + { + Mail::send(new NewShipmentNotification($shipment)); + } +} \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Mail/NewInvoiceNotification.php b/packages/Webkul/Admin/src/Mail/NewInvoiceNotification.php new file mode 100644 index 000000000..9f760be4e --- /dev/null +++ b/packages/Webkul/Admin/src/Mail/NewInvoiceNotification.php @@ -0,0 +1,51 @@ + + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class NewInvoiceNotification extends Mailable +{ + use Queueable, SerializesModels; + + /** + * The invoice instance. + * + * @var Invoice + */ + public $invoice; + + /** + * Create a new message instance. + * + * @param mixed $invoice + * @return void + */ + public function __construct($invoice) + { + $this->invoice = $invoice; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + $order = $this->invoice->order; + + return $this->to($order->customer_email, $order->customer_full_name) + ->subject(trans('admin::app.mail.invoice.subject', ['order_id' => $order->id])) + ->view('admin::emails.sales.new-invoice'); + } +} diff --git a/packages/Webkul/Admin/src/Mail/NewOrderNotification.php b/packages/Webkul/Admin/src/Mail/NewOrderNotification.php new file mode 100644 index 000000000..51940d1a8 --- /dev/null +++ b/packages/Webkul/Admin/src/Mail/NewOrderNotification.php @@ -0,0 +1,48 @@ + + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class NewOrderNotification extends Mailable +{ + use Queueable, SerializesModels; + + /** + * The order instance. + * + * @var Order + */ + public $order; + + /** + * Create a new message instance. + * + * @return void + */ + public function __construct($order) + { + $this->order = $order; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->to($this->order->customer_email, $this->order->customer_full_name) + ->subject(trans('admin::app.mail.order.subject')) + ->view('admin::emails.sales.new-order'); + } +} diff --git a/packages/Webkul/Admin/src/Mail/NewShipmentNotification.php b/packages/Webkul/Admin/src/Mail/NewShipmentNotification.php new file mode 100644 index 000000000..5c8717581 --- /dev/null +++ b/packages/Webkul/Admin/src/Mail/NewShipmentNotification.php @@ -0,0 +1,51 @@ + + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class NewShipmentNotification extends Mailable +{ + use Queueable, SerializesModels; + + /** + * The shipment instance. + * + * @var Shipment + */ + public $shipment; + + /** + * Create a new message instance. + * + * @param mixed $shipment + * @return void + */ + public function __construct($shipment) + { + $this->shipment = $shipment; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + $order = $this->shipment->order; + + return $this->to($order->customer_email, $order->customer_full_name) + ->subject(trans('admin::app.mail.shipment.subject', ['order_id' => $order->id])) + ->view('admin::emails.sales.new-shipment'); + } +} diff --git a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php index 6e857bbbe..0ed37ee12 100644 --- a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php @@ -10,6 +10,160 @@ use Webkul\Admin\ProductFormAccordian; class EventServiceProvider extends ServiceProvider { + protected $menuItems = [ + [ + 'key' => 'dashboard', + 'name' => 'Dashboard', + 'route' => 'admin.dashboard.index', + 'sort' => 1, + 'icon-class' => 'dashboard-icon', + ], [ + 'key' => 'sales', + 'name' => 'Sales', + 'route' => 'admin.sales.orders.index', + 'sort' => 2, + 'icon-class' => 'sales-icon', + ], [ + 'key' => 'catalog', + 'name' => 'Catalog', + 'route' => 'admin.catalog.products.index', + 'sort' => 3, + 'icon-class' => 'catalog-icon', + ], [ + 'key' => 'catalog.products', + 'name' => 'Products', + 'route' => 'admin.catalog.products.index', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'catalog.categories', + 'name' => 'Categories', + 'route' => 'admin.catalog.categories.index', + 'sort' => 2, + 'icon-class' => '', + ], [ + 'key' => 'catalog.attributes', + 'name' => 'Attributes', + 'route' => 'admin.catalog.attributes.index', + 'sort' => 3, + 'icon-class' => '', + ], [ + 'key' => 'catalog.families', + 'name' => 'Families', + 'route' => 'admin.catalog.families.index', + 'sort' => 4, + 'icon-class' => '', + ], [ + 'key' => 'customers', + 'name' => 'Customers', + 'route' => 'admin.customer.index', + 'sort' => 4, + 'icon-class' => 'customer-icon', + ], [ + 'key' => 'customers.customers', + 'name' => 'Customers', + 'route' => 'admin.customer.index', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'customers.reviews', + 'name' => 'Reviews', + 'route' => 'admin.customer.review.index', + 'sort' => 2, + 'icon-class' => '', + ], [ + 'key' => 'configuration', + 'name' => 'Configure', + 'route' => 'admin.account.edit', + 'sort' => 5, + 'icon-class' => 'configuration-icon', + ], [ + 'key' => 'configuration.account', + 'name' => 'My Account', + 'route' => 'admin.account.edit', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'settings', + 'name' => 'Settings', + 'route' => 'admin.locales.index', + 'sort' => 6, + 'icon-class' => 'settings-icon', + ], [ + 'key' => 'settings.locales', + 'name' => 'Locales', + 'route' => 'admin.locales.index', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'settings.currencies', + 'name' => 'Currencies', + 'route' => 'admin.currencies.index', + 'sort' => 2, + 'icon-class' => '', + ], [ + 'key' => 'settings.exchange_rates', + 'name' => 'Exchange Rates', + 'route' => 'admin.exchange_rates.index', + 'sort' => 3, + 'icon-class' => '', + ], [ + 'key' => 'settings.inventory_sources', + 'name' => 'Inventory Sources', + 'route' => 'admin.inventory_sources.index', + 'sort' => 4, + 'icon-class' => '', + ], [ + 'key' => 'settings.channels', + 'name' => 'Channels', + 'route' => 'admin.channels.index', + 'sort' => 5, + 'icon-class' => '', + ], [ + 'key' => 'settings.users', + 'name' => 'Users', + 'route' => 'admin.users.index', + 'sort' => 6, + 'icon-class' => '', + ], [ + 'key' => 'settings.users.users', + 'name' => 'Users', + 'route' => 'admin.users.index', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'settings.users.roles', + 'name' => 'Roles', + 'route' => 'admin.roles.index', + 'sort' => 2, + 'icon-class' => '', + ], [ + 'key' => 'settings.sliders', + 'name' => 'Create Sliders', + 'route' => 'admin.sliders.index', + 'sort' => 7, + 'icon-class' => '', + ], [ + 'key' => 'settings.taxes', + 'name' => 'Taxes', + 'route' => 'admin.tax-categories.index', + 'sort' => 8, + 'icon-class' => '', + ], [ + 'key' => 'settings.taxes.tax-categories', + 'name' => 'Tax Categories', + 'route' => 'admin.tax-categories.index', + 'sort' => 1, + 'icon-class' => '', + ], [ + 'key' => 'settings.taxes.tax-rates', + 'name' => 'Tax Rates', + 'route' => 'admin.tax-rates.index', + 'sort' => 2, + 'icon-class' => '', + ], + ]; + /** * Bootstrap services. * @@ -24,6 +178,12 @@ class EventServiceProvider extends ServiceProvider $this->registerACL(); $this->createProductFormAccordian(); + + Event::listen('checkout.order.save.after', 'Webkul\Admin\Listeners\Order@sendNewOrderMail'); + + Event::listen('checkout.invoice.save.after', 'Webkul\Admin\Listeners\Order@sendNewInvoiceMail'); + + Event::listen('checkout.invoice.save.after', 'Webkul\Admin\Listeners\Order@sendNewShipmentMail'); } /** @@ -40,59 +200,11 @@ class EventServiceProvider extends ServiceProvider }); Event::listen('admin.menu.build', function ($menu) { - $menu->add('dashboard', 'Dashboard', 'admin.dashboard.index', 1, 'dashboard-icon'); - - $menu->add('sales', 'Sales', 'admin.sales.orders.index', 1, 'sales-icon'); - - $menu->add('catalog', 'Catalog', 'admin.catalog.products.index', 3, 'catalog-icon'); - - $menu->add('catalog.products', 'Products', 'admin.catalog.products.index', 1); - - $menu->add('catalog.categories', 'Categories', 'admin.catalog.categories.index', 2); - - $menu->add('catalog.attributes', 'Attributes', 'admin.catalog.attributes.index', 3); - - $menu->add('catalog.families', 'Families', 'admin.catalog.families.index', 4); - - $menu->add('customers', 'Customers', 'admin.customer.index', 5, 'customer-icon'); - - $menu->add('customers.customers', 'Customers', 'admin.customer.index', 1, ''); - - $menu->add('customers.reviews', 'Review', 'admin.customer.review.index', 2, ''); - - // $menu->add('customers.blocked_customer', 'Blocked Customers', 'admin.account.edit', 2, ''); - - // $menu->add('customers.allowed_customer', 'Allowed Customers', 'admin.account.edit', 4, ''); - - $menu->add('configuration', 'Configure', 'admin.account.edit', 6, 'configuration-icon'); - - $menu->add('configuration.account', 'My Account', 'admin.account.edit', 1); - - $menu->add('settings', 'Settings', 'admin.locales.index', 6, 'settings-icon'); - - $menu->add('settings.locales', 'Locales', 'admin.locales.index', 1, ''); - - $menu->add('settings.currencies', 'Currencies', 'admin.currencies.index', 2, ''); - - $menu->add('settings.exchange_rates', 'Exchange Rates', 'admin.exchange_rates.index', 3, ''); - - $menu->add('settings.inventory_sources', 'Inventory Sources', 'admin.inventory_sources.index', 4, ''); - - $menu->add('settings.channels', 'Channels', 'admin.channels.index', 5, ''); - - $menu->add('settings.users', 'Users', 'admin.users.index', 6, ''); - - $menu->add('settings.users.users', 'Users', 'admin.users.index', 1, ''); - - $menu->add('settings.users.roles', 'Roles', 'admin.roles.index', 2, ''); - - $menu->add('settings.sliders', 'Create Sliders', 'admin.sliders.index', 8, ''); - - $menu->add('settings.tax', 'Taxes', 'admin.tax-categories.index', 9, ''); - - $menu->add('settings.tax.tax-categories', 'Add Tax Category', 'admin.tax-categories.index', 1, ''); - - $menu->add('settings.tax.tax-rates', 'Add Tax Rates', 'admin.tax-rates.index', 2, ''); + foreach($this->menuItems as $item){ + if (bouncer()->hasPermission($item['key'])) { + $menu->add($item['key'], $item['name'], $item['route'], $item['sort'], $item['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 721bf7771..1aee893ad 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -6,8 +6,11 @@ return [ 'country' => 'Country', 'state' => 'State' ], + 'dashboard' => [ + 'title' => 'Dashboard' + ], 'account' => [ - 'header-title' => 'My Account', + 'title' => 'My Account', 'save-btn-title' => 'Save', 'general' => 'General', 'name' => 'Name', @@ -154,7 +157,7 @@ return [ ], 'catalog' => [ 'products' => [ - 'products' => 'Products', + 'title' => 'Products', 'add-product-btn-title' => 'Add Product', 'add-title' => 'Add Product', 'edit-title' => 'Edit Product', @@ -185,6 +188,7 @@ return [ 'add-image-btn-title' => 'Add Image' ], 'attributes' => [ + 'title' => 'Attributes', 'add-title' => 'Add Attribute', 'edit-title' => 'Edit Attribute', 'save-btn-title' => 'Save Attribute', @@ -225,7 +229,7 @@ return [ 'is_visible_on_front' => 'Visible on Product View Page on Front-end' ], 'families' => [ - 'families' => 'Families', + 'title' => 'Families', 'add-family-btn-title' => 'Add Family', 'add-title' => 'Add Family', 'edit-title' => 'Edit Family', @@ -243,7 +247,7 @@ return [ 'group-exist-error' => 'Group with same name already exists.' ], 'categories' => [ - 'categories' => 'Categories', + 'title' => 'Categories', 'add-title' => 'Add Category', 'edit-title' => 'Edit Category', 'save-btn-title' => 'Save Category', @@ -265,13 +269,10 @@ return [ ], 'configuration' => [ - 'tax' => [ - 'title' => 'Taxes', - 'add-title' => 'Add Tax Category' - ], - 'tax-categories' => [ - 'title' => 'Add Tax Category', + 'title' => 'Tax Categories', + 'add-title' => 'Add Tax Category', + 'edit-title' => 'Edit Tax Category', 'save-btn-title' => 'Save Tax Category', 'general' => 'Tax Category', 'select-channel' => 'Select Channel', @@ -286,7 +287,9 @@ return [ ], 'tax-rates' => [ - 'title' => 'Add Tax Rate', + 'title' => 'Tax Rates', + 'add-title' => 'Add Tax Rate', + 'edit-title' => 'Edit Tax Rate', 'save-btn-title' => 'Save Tax Rate', 'general' => 'Tax Rate', 'identifier' => 'Identifier', @@ -342,7 +345,7 @@ return [ 'general' => 'General', 'source_currency' => 'Source Currency', 'target_currency' => 'Target Currency', - 'ratio' => 'Ratio' + 'rate' => 'Rate' ], 'inventory_sources' => [ 'title' => 'Inventory Sources', @@ -409,11 +412,46 @@ return [ 'save-btn-title' => 'Save Customer' ], 'reviews' => [ - 'title' => 'Title', - 'name' => 'Reviews', + 'title' => 'Reviews', + 'edit-title' => 'Edit Review', 'rating' => 'Rating', 'status' => 'Status', 'comment' => 'Comment' ] + ], + 'mail' => [ + 'order' => [ + 'subject' => 'New Order Confirmation', + 'heading' => 'Order Confirmation!', + 'dear' => 'Dear :customer_name', + 'greeting' => 'Thanks for your Order :order_id placed on :created_at', + 'summary' => 'Summary of Order', + 'shipping-address' => 'Shipping Address', + 'billing-address' => 'Billing Address', + 'contact' => 'Contact', + 'shipping' => 'Shipping', + 'payment' => 'Payment', + 'price' => 'Price', + 'quantity' => 'Quantity', + 'subtotal' => 'Subtotal', + 'shipping-handling' => 'Shipping & Handling', + 'tax' => 'Tax', + 'grand-total' => 'Grand Total', + 'final-summary' => 'Thanks for showing your intrest in our store. we will send you track number once it shiped.', + 'help' => 'If you need any kind of help please contact us at :support_email', + 'thanks' => 'Thanks!' + ], + 'invoice' => [ + 'heading' => 'Your Invoice #:invoice_id for Order #:order_id', + 'subject' => 'Invoice for your order #:order_id', + 'summary' => 'Summary of Invoice', + ], + 'shipment' => [ + 'heading' => 'Your Shipment #:shipment_id for Order #:order_id', + 'subject' => 'Shipment for your order #:order_id', + 'summary' => 'Summary of Shipment', + 'carrier' => 'Carrier', + 'tracking-number' => 'Tracking Number' + ] ] ]; \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/views/account/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/account/edit.blade.php index 5eed7df25..68aadd005 100644 --- a/packages/Webkul/Admin/src/Resources/views/account/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/account/edit.blade.php @@ -1,12 +1,16 @@ @extends('admin::layouts.content') +@section('page_title') + {{ __('admin::app.account.title') }} +@stop + @section('content')