From 0bf0ab1f7286755d997a52ade058c38dbbeb6dfd Mon Sep 17 00:00:00 2001 From: Devansh Date: Mon, 10 Jan 2022 20:51:59 +0530 Subject: [PATCH] Some More Events Moved --- .../Customer/CustomerGroupController.php | 39 ++++++---------- .../Repositories/CustomerGroupRepository.php | 46 +++++++++++++++---- .../src/Http/Controllers/ReviewController.php | 27 ++++------- .../Repositories/ProductReviewRepository.php | 45 +++++++++++++++--- 4 files changed, 97 insertions(+), 60 deletions(-) diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php index 0dee4c31d..0816c41ac 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerGroupController.php @@ -3,26 +3,25 @@ namespace Webkul\Admin\Http\Controllers\Customer; use Webkul\Admin\Http\Controllers\Controller; -use Illuminate\Support\Facades\Event; use Webkul\Customer\Repositories\CustomerGroupRepository; class CustomerGroupController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array - */ + */ protected $_config; /** - * CustomerGroupRepository object + * Customer group repository instance. * * @var \Webkul\Customer\Repositories\CustomerGroupRepository - */ + */ protected $customerGroupRepository; - /** + /** * Create a new controller instance. * * @param \Webkul\Customer\Repositories\CustomerGroupRepository $customerGroupRepository; @@ -41,7 +40,7 @@ class CustomerGroupController extends Controller * Display a listing of the resource. * * @return \Illuminate\View\View - */ + */ public function index() { return view($this->_config['view']); @@ -57,7 +56,7 @@ class CustomerGroupController extends Controller return view($this->_config['view']); } - /** + /** * Store a newly created resource in storage. * * @return \Illuminate\Http\Response @@ -73,18 +72,14 @@ class CustomerGroupController extends Controller $data['is_user_defined'] = 1; - Event::dispatch('customer.customer_group.create.before'); - - $customerGroup = $this->customerGroupRepository->create($data); - - Event::dispatch('customer.customer_group.create.after', $customerGroup); + $this->customerGroupRepository->create($data); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer Group'])); return redirect()->route($this->_config['redirect']); } - /** + /** * Show the form for editing the specified resource. * * @param int $id @@ -97,7 +92,7 @@ class CustomerGroupController extends Controller return view($this->_config['view'], compact('group')); } - /** + /** * Update the specified resource in storage. * * @param int $id @@ -110,11 +105,7 @@ class CustomerGroupController extends Controller 'name' => 'required', ]); - Event::dispatch('customer.customer_group.update.before', $id); - - $customerGroup = $this->customerGroupRepository->update(request()->all(), $id); - - Event::dispatch('customer.customer_group.update.after', $customerGroup); + $this->customerGroupRepository->update(request()->all(), $id); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group'])); @@ -137,20 +128,16 @@ class CustomerGroupController extends Controller session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group'])); } else { try { - Event::dispatch('customer.customer_group.delete.before', $id); - $this->customerGroupRepository->delete($id); - Event::dispatch('customer.customer_group.delete.after', $id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group'])); return response()->json(['message' => true], 200); - } catch(\Exception $e) { + } catch (\Exception $e) { session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer Group'])); } } return response()->json(['message' => false], 400); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Customer/src/Repositories/CustomerGroupRepository.php b/packages/Webkul/Customer/src/Repositories/CustomerGroupRepository.php index db1fdc175..8ba13e2bc 100755 --- a/packages/Webkul/Customer/src/Repositories/CustomerGroupRepository.php +++ b/packages/Webkul/Customer/src/Repositories/CustomerGroupRepository.php @@ -2,47 +2,75 @@ namespace Webkul\Customer\Repositories; +use Illuminate\Support\Facades\Event; use Webkul\Core\Eloquent\Repository; class CustomerGroupRepository extends Repository { /** - * Specify Model class name + * Specify model class name. * * @return mixed */ - function model() + public function model() { - return 'Webkul\Customer\Contracts\CustomerGroup'; + return \Webkul\Customer\Contracts\CustomerGroup::class; } /** + * Create. + * * @param array $data * @return \Webkul\Customer\Contracts\CustomerGroup */ public function create(array $data) { - $customer = $this->model->create($data); + Event::dispatch('customer.customer_group.create.before'); - return $customer; + $customerGroup = $this->model->create($data); + + Event::dispatch('customer.customer_group.create.after', $customerGroup); + + return $customerGroup; } /** + * Update. + * * @param array $data * @param int $id * @param string $id * @return \Webkul\Customer\Contracts\CustomerGroup */ - public function update(array $data, $id, $attribute = "id") + public function update(array $data, $id, $attribute = 'id') { - $customer = $this->find($id); + $customer = $this->findOrFail($id); - $customer->update($data); + Event::dispatch('customer.customer_group.update.before', $id); + + $customerGroup = $customer->update($data); + + Event::dispatch('customer.customer_group.update.after', $customerGroup); return $customer; } + /** + * Delete. + * + * @param $id + * @return int + */ + public function delete($id) + { + Event::dispatch('customer.customer_group.delete.before', $id); + + parent::delete($id); + + Event::dispatch('customer.customer_group.delete.after', $id); + } + /** * Returns guest group. * @@ -58,4 +86,4 @@ class CustomerGroupRepository extends Repository return $customerGuestGroup = $this->findOneByField('code', 'guest'); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php index 0fbd9badd..bbde28c44 100755 --- a/packages/Webkul/Product/src/Http/Controllers/ReviewController.php +++ b/packages/Webkul/Product/src/Http/Controllers/ReviewController.php @@ -8,14 +8,14 @@ use Webkul\Product\Repositories\ProductReviewRepository; class ReviewController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ protected $_config; /** - * ProductReviewRepository object + * Product review repository instance. * * @var \Webkul\Product\Repositories\ProductReviewRepository */ @@ -34,11 +34,11 @@ class ReviewController extends Controller $this->_config = request('_config'); } - /** + /** * Display a listing of the resource. * * @return \Illuminate\View\View - */ + */ public function index() { return view($this->_config['view']); @@ -65,12 +65,8 @@ class ReviewController extends Controller */ public function update($id) { - Event::dispatch('customer.review.update.before', $id); - $this->productReviewRepository->update(request()->all(), $id); - Event::dispatch('customer.review.update.after', $id); - session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Review'])); return redirect()->route($this->_config['redirect']); @@ -84,20 +80,17 @@ class ReviewController extends Controller */ public function destroy($id) { - $productReview = $this->productReviewRepository->findOrFail($id); + $this->productReviewRepository->findOrFail($id); try { - Event::dispatch('customer.review.delete.before', $id); - $this->productReviewRepository->delete($id); - Event::dispatch('customer.review.delete.after', $id); - session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review'])); return response()->json(['message' => true], 200); } catch (\Exception $e) { report($e); + session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Review'])); } @@ -120,12 +113,8 @@ class ReviewController extends Controller foreach ($indexes as $key => $value) { try { - Event::dispatch('customer.review.delete.before', $value); - $this->productReviewRepository->delete($value); - - Event::dispatch('customer.review.delete.after', $value); - } catch(\Exception $e) { + } catch (\Exception $e) { $suppressFlash = true; continue; @@ -180,7 +169,7 @@ class ReviewController extends Controller continue; } } - } catch(\Exception $e) { + } catch (\Exception $e) { $suppressFlash = true; continue; diff --git a/packages/Webkul/Product/src/Repositories/ProductReviewRepository.php b/packages/Webkul/Product/src/Repositories/ProductReviewRepository.php index bc32a547d..3ae8f8fd9 100755 --- a/packages/Webkul/Product/src/Repositories/ProductReviewRepository.php +++ b/packages/Webkul/Product/src/Repositories/ProductReviewRepository.php @@ -2,7 +2,7 @@ namespace Webkul\Product\Repositories; -use Illuminate\Container\Container as App; +use Illuminate\Support\Facades\Event; use Webkul\Core\Eloquent\Repository; class ProductReviewRepository extends Repository @@ -12,9 +12,42 @@ class ProductReviewRepository extends Repository * * @return mixed */ - function model() + public function model() { - return 'Webkul\Product\Contracts\ProductReview'; + return \Webkul\Product\Contracts\ProductReview::class; + } + + /** + * Update review. + * + * @param array $attributes + * @param $id + * @return mixed + */ + public function update(array $attributes, $id) + { + Event::dispatch('customer.review.update.before', $id); + + $review = parent::update($attributes, $id); + + Event::dispatch('customer.review.update.after', $review); + + return $review; + } + + /** + * Delete a entity in repository by id + * + * @param $id + * @return void + */ + public function delete($id) + { + Event::dispatch('customer.review.delete.before', $id); + + parent::delete($id); + + Event::dispatch('customer.review.delete.after', $id); } /** @@ -22,12 +55,12 @@ class ProductReviewRepository extends Repository * * @param int $customerId */ - function getCustomerReview() + public function getCustomerReview() { $customerId = auth()->guard('customer')->user()->id; - $reviews = $this->model->where(['customer_id'=> $customerId])->with('product')->paginate(5); + $reviews = $this->model->where(['customer_id' => $customerId])->with('product')->paginate(5); return $reviews; } -} \ No newline at end of file +}