diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php index 5f16d105a..64c99aed5 100644 --- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php @@ -844,7 +844,8 @@ return [ 'create-root-failure' => 'الفئة مع الاسم الجذر موجود', 'cancel-success' => ':name canceled successfully.', 'cancel-error' => ':name can not be canceled.', - 'already-taken' => 'The :name has already been taken.' + 'already-taken' => 'The :name has already been taken.', + 'order-pending' => 'لا يمكن حذف الحساب لأن بعض الطلبات (الطلبات) معلقة أو قيد المعالجة.' ], 'footer' => [ diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index df9567614..b102b48ab 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -1132,7 +1132,8 @@ return [ '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.' + 'already-taken' => 'The :name has already been taken.', + 'order-pending' => 'Cannot delete account because some Order(s) are pending or processing state.' ], 'footer' => [ diff --git a/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php b/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php index b447a240c..ed064c3c4 100755 --- a/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/CustomerController.php @@ -135,14 +135,22 @@ class CustomerController extends Controller { $id = auth()->guard('customer')->user()->id; - $customer = $this->customer->findorFail($id); + $customerRepository = $this->customerRepository->findorFail($id); + + $orders = $customerRepository->all_orders->whereIn('status', ['pending', 'processing'])->first(); + + if ( $orders ) { + session()->flash('error', trans('admin::app.response.order-pending')); + + return redirect()->route($this->_config['redirect']); + } try { - $this->customer->delete($id); + $this->customerRepository->delete($id); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer'])); - return redirect()->route($this->_config['redirect']); + return redirect()->route('customer.session.index'); } catch(\Exception $e) { session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer']));