From e4581fc725c8415fd3660d2eeecb35680aa45d7a Mon Sep 17 00:00:00 2001 From: prashant-webkul Date: Fri, 20 Jul 2018 20:37:16 +0530 Subject: [PATCH] Mass actions working and created structure for customer package and removed some bugs from data grid and home page and made layouts for sign in and sign up package of customers and made the customer guard for customer also with model named customer --- packages/Webkul/Admin/src/Config/auth.php | 19 ++++- .../Http/Controllers/DashboardController.php | 6 -- .../Http/Controllers/CustomerController.php | 42 ++++++++++ .../Http/Middleware/RedirectIfNotCustomer.php | 26 ++++++ packages/Webkul/Customer/src/Http/routes.php | 20 ++++- .../Webkul/Customer/src/Models/Customer.php | 9 +++ .../Notifications/CustomerResetPassword.php | 28 +++++++ .../src/Providers/CustomerServiceProvider.php | 9 +++ .../src/Resources/assets/sass/_mixins.scss | 0 .../src/Resources/assets/sass/_variables.scss | 5 ++ .../src/Resources/assets/sass/app.scss | 66 +++++++++++++++ .../Resources/views/layouts/master.blade.php | 48 +++++++++++ .../src/Resources/views/login/index.blade.php | 27 +++++++ .../Resources/views/signup/index.blade.php | 44 ++++++++++ packages/Webkul/Customer/webpack.mix.js | 19 ++--- .../Shop/src/Resources/assets/sass/app.scss | 42 ++++------ .../Resources/views/layouts/header.blade.php | 4 +- .../Resources/views/layouts/master.blade.php | 4 +- .../Ui/src/Resources/assets/sass/icons.scss | 12 +++ packages/Webkul/Ui/webpack.mix.js | 2 +- .../src/Notifications/AdminResetPassword.php | 2 +- .../webkul/customer/assets/css/customer.css | 71 ++++++++++++++++ public/vendor/webkul/customer/assets/js/ui.js | 81 +++++++++++++++++++ .../webkul/customer/assets/mix-manifest.json | 4 + public/vendor/webkul/shop/assets/css/shop.css | 32 ++++---- public/vendor/webkul/shop/assets/js/shop.js | 1 - public/vendor/webkul/ui/assets/css/ui.css | 12 +++ 27 files changed, 563 insertions(+), 72 deletions(-) create mode 100644 packages/Webkul/Customer/src/Http/Controllers/CustomerController.php create mode 100644 packages/Webkul/Customer/src/Http/Middleware/RedirectIfNotCustomer.php create mode 100644 packages/Webkul/Customer/src/Models/Customer.php create mode 100644 packages/Webkul/Customer/src/Notifications/CustomerResetPassword.php create mode 100644 packages/Webkul/Customer/src/Resources/assets/sass/_mixins.scss create mode 100644 packages/Webkul/Customer/src/Resources/assets/sass/_variables.scss create mode 100644 packages/Webkul/Customer/src/Resources/assets/sass/app.scss create mode 100644 packages/Webkul/Customer/src/Resources/views/layouts/master.blade.php create mode 100644 packages/Webkul/Customer/src/Resources/views/login/index.blade.php create mode 100644 packages/Webkul/Customer/src/Resources/views/signup/index.blade.php create mode 100644 public/vendor/webkul/customer/assets/css/customer.css create mode 100644 public/vendor/webkul/customer/assets/js/ui.js create mode 100644 public/vendor/webkul/customer/assets/mix-manifest.json diff --git a/packages/Webkul/Admin/src/Config/auth.php b/packages/Webkul/Admin/src/Config/auth.php index fc49f9cdb..1e7bb3cdc 100644 --- a/packages/Webkul/Admin/src/Config/auth.php +++ b/packages/Webkul/Admin/src/Config/auth.php @@ -12,6 +12,11 @@ return [ 'provider' => 'users', ], + 'customer' =>[ + 'driver' => 'session', + 'provider' => 'customers' + ], + 'admin' => [ 'driver' => 'session', 'provider' => 'admins' @@ -27,7 +32,12 @@ return [ 'users' => [ 'driver' => 'eloquent', 'model' => Webkul\User\Models\User::class, - ], + ], + + 'customers' => [ + 'driver' => 'eloquent', + 'model' => Webkul\Customer\Models\Customer::class, + ], 'admins' => [ 'driver' => 'eloquent', @@ -41,5 +51,10 @@ return [ 'table' => 'admin_password_resets', 'expire' => 60, ], + 'admins' => [ + 'provider' => 'customers', + 'table' => 'customers_password_resets', + 'expire' => 60, + ], ], -]; \ No newline at end of file +]; diff --git a/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php b/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php index b0aeef74f..22422ed62 100644 --- a/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php @@ -24,15 +24,9 @@ class DashboardController extends Controller public function __construct() { $this->_config = request('_config'); - } public function index() { return view('admin::dashboard.index'); } - - public function loadCatalog() - { - return view($this->_config['view']); - } } diff --git a/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php b/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php new file mode 100644 index 000000000..d820878f0 --- /dev/null +++ b/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php @@ -0,0 +1,42 @@ + + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class CustomerController extends Controller +{ + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + protected $_config; + + public function __construct() + { + $this->_config = request('_config'); + } + public function index() + { + return view('customer::login.index'); + } + + public function login() + { + return view($this->_config['view']); + } + + public function signup() + { + return view($this->_config['view']); + } +} diff --git a/packages/Webkul/Customer/src/Http/Middleware/RedirectIfNotCustomer.php b/packages/Webkul/Customer/src/Http/Middleware/RedirectIfNotCustomer.php new file mode 100644 index 000000000..7c386b90a --- /dev/null +++ b/packages/Webkul/Customer/src/Http/Middleware/RedirectIfNotCustomer.php @@ -0,0 +1,26 @@ +check()) { + return redirect()->route('admin.login'); + } + + return $next($request); + } +} diff --git a/packages/Webkul/Customer/src/Http/routes.php b/packages/Webkul/Customer/src/Http/routes.php index 86dc4869e..67d5d3e14 100644 --- a/packages/Webkul/Customer/src/Http/routes.php +++ b/packages/Webkul/Customer/src/Http/routes.php @@ -1,5 +1,21 @@ ['web']], function () { + Route::prefix('customer')->group(function () { + // Login Routes + Route::get('/login', 'Webkul\Customer\Http\Controllers\CustomerController@login')->defaults('_config', [ + 'view' => 'customer::login.index' + ])->name('customer.login'); + + Route::get('/register', 'Webkul\Customer\Http\Controllers\CustomerController@signup')->defaults('_config', [ + 'view' => 'customer::signup.index' + ])->name('customer.register'); + + // Auth Routes + Route::group(['middleware' => ['customer']], function () { + Route::get('/logout', 'Webkul\Customer\Http\Controllers\CustomerController@logout')->defaults('_config', [ + 'redirect' => 'customer.session.index' + ])->name('customer.session.destroy'); + }); + }); }); diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php new file mode 100644 index 000000000..a0b9fa918 --- /dev/null +++ b/packages/Webkul/Customer/src/Models/Customer.php @@ -0,0 +1,9 @@ +token); + } + + return (new MailMessage) + ->line('You are receiving this email because we received a password reset request for your account.') + ->action('Reset Password', route('customer.reset-password.create', $this->token)) + ->line('If you did not request a password reset, no further action is required.'); + } +} diff --git a/packages/Webkul/Customer/src/Providers/CustomerServiceProvider.php b/packages/Webkul/Customer/src/Providers/CustomerServiceProvider.php index b474e37c9..78ab4c2a9 100644 --- a/packages/Webkul/Customer/src/Providers/CustomerServiceProvider.php +++ b/packages/Webkul/Customer/src/Providers/CustomerServiceProvider.php @@ -3,6 +3,11 @@ namespace Webkul\Customer\Providers; use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Facades\Event; +use Illuminate\Support\Facades\Blade; +use Webkul\Admin\Providers\EventServiceProvider; + +// use Webkul\Admin\Providers\ComposerServiceProvider; class CustomerServiceProvider extends ServiceProvider { @@ -14,6 +19,10 @@ class CustomerServiceProvider extends ServiceProvider __DIR__ . '/../../publishable/assets' => public_path('vendor/webkul/customer/assets'), ], 'public'); + $router->aliasMiddleware('customer', RedirectIfNotCustomer::class); + + $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); + $this->loadViewsFrom(__DIR__ . '/../Resources/views', 'customer'); } diff --git a/packages/Webkul/Customer/src/Resources/assets/sass/_mixins.scss b/packages/Webkul/Customer/src/Resources/assets/sass/_mixins.scss new file mode 100644 index 000000000..e69de29bb diff --git a/packages/Webkul/Customer/src/Resources/assets/sass/_variables.scss b/packages/Webkul/Customer/src/Resources/assets/sass/_variables.scss new file mode 100644 index 000000000..2a94e2a15 --- /dev/null +++ b/packages/Webkul/Customer/src/Resources/assets/sass/_variables.scss @@ -0,0 +1,5 @@ +$sign-up-text-color: #5e5e5e; +$login-text: #3a3a3a; +$background-color: #ffffff; +$border-color: #ffe8e8e8; +$forgot-password-color: #0031f0; diff --git a/packages/Webkul/Customer/src/Resources/assets/sass/app.scss b/packages/Webkul/Customer/src/Resources/assets/sass/app.scss new file mode 100644 index 000000000..7962137f6 --- /dev/null +++ b/packages/Webkul/Customer/src/Resources/assets/sass/app.scss @@ -0,0 +1,66 @@ +@import "mixins"; +@import "variables"; + +.content { + padding-top: 15%; + padding-bottom: 15%; + + .sign-up-text { + margin-bottom: 2%; + margin-left: auto; + margin-right: auto; + text-align: center; + font-size: 18px; + color: $sign-up-text-color; + letter-spacing: -0.29px; + text-align: center; + } + .login-form { + margin-left: auto; + margin-right: auto; + display: flex; + background: $background-color; + border: 1px solid $border-color; + flex-direction: column; + max-width: 530px; + min-width: 380px; + min-height: 345px; + padding-left: 25px; + padding-right: 25px; + + .login-text { + font-size: 24px; + font-weight: bold; + color: $login-text; + letter-spacing: -0.23px; + margin-top: 5%; + margin-bottom: 3%; + } + + .control-group { + margin-bottom: 15px !important; + .control { + width: 100% !important; + } + } + + .forgot-password-link { + font-size: 17px; + color: $forgot-password-color; + letter-spacing: -0.11px; + margin-bottom: 5%; + } + .signup-confirm { + letter-spacing: -0.11px; + margin-bottom: 5%; + } + + .btn-primary { + width: 100%; + text-transform: uppercase; + border-radius: 0px; + height: 45px; + margin-bottom: 4%; + } + } +} diff --git a/packages/Webkul/Customer/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Customer/src/Resources/views/layouts/master.blade.php new file mode 100644 index 000000000..7d256aaac --- /dev/null +++ b/packages/Webkul/Customer/src/Resources/views/layouts/master.blade.php @@ -0,0 +1,48 @@ + + + + @yield('page_title') + + + + + + + + @yield('head') + @yield('css') + + + +
+ @include('shop::layouts.header') +
+
+ @yield('content-wrapper') +
+
+ @include('shop::layouts.footer') +
+ + + + + @yield('javascript') + + + + diff --git a/packages/Webkul/Customer/src/Resources/views/login/index.blade.php b/packages/Webkul/Customer/src/Resources/views/login/index.blade.php new file mode 100644 index 000000000..0c3813930 --- /dev/null +++ b/packages/Webkul/Customer/src/Resources/views/login/index.blade.php @@ -0,0 +1,27 @@ +@extends('customer::layouts.master') +@section('content-wrapper') +
+ +
+ +
+
+ +@endsection diff --git a/packages/Webkul/Customer/src/Resources/views/signup/index.blade.php b/packages/Webkul/Customer/src/Resources/views/signup/index.blade.php new file mode 100644 index 000000000..6e1790e9c --- /dev/null +++ b/packages/Webkul/Customer/src/Resources/views/signup/index.blade.php @@ -0,0 +1,44 @@ +@extends('customer::layouts.master') +@section('content-wrapper') +
+ +
+ +
+ +
+@endsection diff --git a/packages/Webkul/Customer/webpack.mix.js b/packages/Webkul/Customer/webpack.mix.js index 1e85053fe..2c30c65cd 100644 --- a/packages/Webkul/Customer/webpack.mix.js +++ b/packages/Webkul/Customer/webpack.mix.js @@ -6,18 +6,13 @@ var publicPath = "../../../public/vendor/webkul/customer/assets"; mix.setPublicPath(publicPath).mergeManifest(); mix.disableNotifications(); -mix.js( - [ - __dirname + "/src/Resources/assets/js/app.js" - // __dirname + "/src/Resources/assets/js/dropdown.js" - ], - "js/ui.js" -) - // .copy(__dirname + "/src/Resources/assets/images", publicPath + "/images") - .sass(__dirname + "/src/Resources/assets/sass/app.scss", "css/customer.css") - .options({ - processCssUrls: false - }); + +mix.sass( + __dirname + "/src/Resources/assets/sass/app.scss", + "css/customer.css" +).options({ + processCssUrls: false +}); if (mix.inProduction()) { mix.version(); diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss index e33481913..58e813235 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss @@ -1,9 +1,13 @@ +@import url("https://fonts.googleapis.com/css?family=Montserrat:400,500"); @import "mixins"; @import "variables"; body { margin: 0; padding: 0; + font-family: "Montserrat", sans-serif; + font-weight: 500; + font-size: 14px; } .header { @@ -18,7 +22,6 @@ body { width: 100%; margin-left: auto; margin-right: auto; - // border: 1px solid indigo; align-items: center; justify-content: space-between; @@ -49,15 +52,9 @@ body { border-right: none; border-top-right-radius: 0px; border-bottom-right-radius: 0px; - } - - input.search-field::-moz-placeholder { - font-family: "montserrat", sans-serif; - padding-left: 10px; - } - input.search-field::-webkit-input-placeholder { - font-family: "montserrat", sans-serif; - padding-left: 10px; + padding-left: 12px; + font-family: "Montserrat", sans-serif; + font-size: 14px; } .q-c { @@ -92,17 +89,18 @@ body { li.account-dropdown { display: flex; flex-direction: row; - margin-right: 10px; + margin-right: 14px; - .icon-account { + .account-icon { margin: 0; - padding-right: 5px; + padding-right: 8px; height: 24px; width: 24px; } .account { padding-top: 3px; padding-right: 5px; + margin-left: 8px; } .icon.arrow-down-icon { margin-top: 10px; @@ -116,13 +114,13 @@ body { li.product-dropdown { display: flex; flex-direction: row; - margin-left: 10px; + margin-left: 14px; - .icon-cart { + .cart-icon { margin: 0; height: 24px; width: 24px; - margin-right: 9px; + margin-right: 8px; } .cart { padding-top: 3px; @@ -397,6 +395,7 @@ body { .btn-primary { background-color: $subscribe-btn-color; + margin-top: 8px; border-radius: 0px; text-align: center; } @@ -1173,14 +1172,3 @@ body { } } } - -// @media all and (max-width: 960px) { - -// } - -// @media all and (max-width: 768px) { - -// } - -// @media all and (max-width: 480px) { -// } diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/header.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/header.blade.php index dd2ee7d1d..78112fe91 100644 --- a/packages/Webkul/Shop/src/Resources/views/layouts/header.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/layouts/header.blade.php @@ -23,7 +23,7 @@