diff --git a/packages/Webkul/API/Http/Controllers/Shop/SessionController.php b/packages/Webkul/API/Http/Controllers/Shop/SessionController.php
index 0d6b83ce9..dc837f70e 100644
--- a/packages/Webkul/API/Http/Controllers/Shop/SessionController.php
+++ b/packages/Webkul/API/Http/Controllers/Shop/SessionController.php
@@ -40,7 +40,7 @@ class SessionController extends Controller
auth()->setDefaultDriver($this->guard);
$this->middleware('auth:' . $this->guard, ['only' => ['get', 'update', 'destroy']]);
-
+
$this->_config = request('_config');
$this->customerRepository = $customerRepository;
@@ -69,7 +69,7 @@ class SessionController extends Controller
Event::fire('customer.after.login', request()->input('email'));
$customer = auth($this->guard)->user();
-
+
return response()->json([
'token' => $jwtToken,
'message' => 'Logged in successfully.',
diff --git a/packages/Webkul/Admin/src/Resources/views/users/sessions/create.blade.php b/packages/Webkul/Admin/src/Resources/views/users/sessions/create.blade.php
index 1e6f3ed42..a40568d70 100755
--- a/packages/Webkul/Admin/src/Resources/views/users/sessions/create.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/users/sessions/create.blade.php
@@ -25,7 +25,7 @@
{{ __('admin::app.users.sessions.password') }}
-
+
@{{ errors.first('password') }}
diff --git a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php
index 51a034bc0..91a68684b 100755
--- a/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php
+++ b/packages/Webkul/Shop/src/Http/Controllers/OnepageController.php
@@ -11,6 +11,7 @@ use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Discount\Helpers\Cart\CouponAbleRule as Coupon;
use Webkul\Discount\Helpers\Cart\NonCouponAbleRule as NonCoupon;
use Webkul\Discount\Helpers\Cart\ValidatesDiscount;
+use Webkul\Customer\Repositories\CustomerRepository;
/**
* Chekout controller for the customer and guest for placing order
@@ -52,6 +53,11 @@ class OnepageController extends Controller
*/
protected $validatesDiscount;
+ /**
+ * customerRepository instance object
+ */
+ protected $customerRepository;
+
/**
* Create a new controller instance.
*
@@ -62,7 +68,8 @@ class OnepageController extends Controller
OrderRepository $orderRepository,
Coupon $coupon,
NonCoupon $nonCoupon,
- ValidatesDiscount $validatesDiscount
+ ValidatesDiscount $validatesDiscount,
+ CustomerRepository $customerRepository
)
{
$this->coupon = $coupon;
@@ -73,6 +80,8 @@ class OnepageController extends Controller
$this->validatesDiscount = $validatesDiscount;
+ $this->customerRepository = $customerRepository;
+
$this->_config = request('_config');
}
@@ -324,4 +333,41 @@ class OnepageController extends Controller
], 422);
}
}
+
+ /**
+ * Check Customer is exist or not
+ *
+ * @return Response
+ */
+ public function checkExistCustomer()
+ {
+ //check customer is exist or not
+ $customer = $this->customerRepository->findOneWhere([
+ 'email' => request()->email
+ ]);
+
+ //if customer is exist
+ if (! is_null($customer)) {
+ return 'true';
+ }
+ return 'false';
+ }
+
+ //login for checkout
+ public function loginForCheckout()
+ {
+ $this->validate(request(), [
+ 'email' => 'required|email',
+ 'password' => 'required'
+ ]);
+
+ if (! auth()->guard('customer')->attempt(request(['email', 'password']))) {
+ return response()->json(['error' => trans('shop::app.customer.login-form.invalid-creds')]);
+ }
+
+ //Event passed to prepare cart after login
+ Cart::mergeCart();
+
+ return response()->json(['success' => 'Login successfully']);
+ }
}
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php
index e47adbd1a..f8d954e3b 100755
--- a/packages/Webkul/Shop/src/Http/routes.php
+++ b/packages/Webkul/Shop/src/Http/routes.php
@@ -165,6 +165,12 @@ Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function
//resend verification email
Route::get('/resend/verification/{email}', 'Webkul\Customer\Http\Controllers\RegistrationController@resendVerificationEmail')->name('customer.resend.verification-email');
+ // for customer login checkout
+ Route::post('/customer/exist', 'Webkul\Shop\Http\Controllers\OnepageController@checkExistCustomer')->name('customer.checkout.exist');
+
+ // for customer login checkout
+ Route::post('/customer/checkout/login', 'Webkul\Shop\Http\Controllers\OnepageController@loginForCheckout')->name('customer.checkout.login');
+
// Auth Routes
Route::group(['middleware' => ['customer']], function () {
diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php
index c83873803..b986ef4ed 100755
--- a/packages/Webkul/Shop/src/Resources/lang/en/app.php
+++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php
@@ -496,7 +496,9 @@ return [
'money-desc' => 'Money Transfer',
'paypal-desc' => 'Paypal Standard',
'free-desc' => 'This is a free shipping',
- 'flat-desc' => 'This is a flat rate'
+ 'flat-desc' => 'This is a flat rate',
+ 'password' => 'Password',
+ 'login-exist-message' => 'You already have an account with us, Sign in or continue as guest.'
],
'total' => [
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-checkout.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-checkout.blade.php
new file mode 100644
index 000000000..c3ad89f1d
--- /dev/null
+++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-checkout.blade.php
@@ -0,0 +1,27 @@
+
+
+ {{ __('shop::app.checkout.onepage.password') }}
+
+
+
+
+
+ @{{ errors.first('address-form.password') }}
+
+ {{ __('shop::app.checkout.onepage.login-exist-message') }}
+
+
+
+
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-info.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-info.blade.php
index baa71d04d..e3cbc0835 100755
--- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-info.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/customer-info.blade.php
@@ -43,7 +43,7 @@
-
+