Some More Events Moved

This commit is contained in:
Devansh 2022-01-10 20:51:59 +05:30
parent 62ddf53d16
commit 0bf0ab1f72
4 changed files with 97 additions and 60 deletions

View File

@ -3,20 +3,19 @@
namespace Webkul\Admin\Http\Controllers\Customer; namespace Webkul\Admin\Http\Controllers\Customer;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Illuminate\Support\Facades\Event;
use Webkul\Customer\Repositories\CustomerGroupRepository; use Webkul\Customer\Repositories\CustomerGroupRepository;
class CustomerGroupController extends Controller class CustomerGroupController extends Controller
{ {
/** /**
* Contains route related configuration * Contains route related configuration.
* *
* @var array * @var array
*/ */
protected $_config; protected $_config;
/** /**
* CustomerGroupRepository object * Customer group repository instance.
* *
* @var \Webkul\Customer\Repositories\CustomerGroupRepository * @var \Webkul\Customer\Repositories\CustomerGroupRepository
*/ */
@ -73,11 +72,7 @@ class CustomerGroupController extends Controller
$data['is_user_defined'] = 1; $data['is_user_defined'] = 1;
Event::dispatch('customer.customer_group.create.before'); $this->customerGroupRepository->create($data);
$customerGroup = $this->customerGroupRepository->create($data);
Event::dispatch('customer.customer_group.create.after', $customerGroup);
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer Group'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer Group']));
@ -110,11 +105,7 @@ class CustomerGroupController extends Controller
'name' => 'required', 'name' => 'required',
]); ]);
Event::dispatch('customer.customer_group.update.before', $id); $this->customerGroupRepository->update(request()->all(), $id);
$customerGroup = $this->customerGroupRepository->update(request()->all(), $id);
Event::dispatch('customer.customer_group.update.after', $customerGroup);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group']));
@ -137,16 +128,12 @@ class CustomerGroupController extends Controller
session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group'])); session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group']));
} else { } else {
try { try {
Event::dispatch('customer.customer_group.delete.before', $id);
$this->customerGroupRepository->delete($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'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group']));
return response()->json(['message' => true], 200); return response()->json(['message' => true], 200);
} catch(\Exception $e) { } catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer Group'])); session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer Group']));
} }
} }

View File

@ -2,47 +2,75 @@
namespace Webkul\Customer\Repositories; namespace Webkul\Customer\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
class CustomerGroupRepository extends Repository class CustomerGroupRepository extends Repository
{ {
/** /**
* Specify Model class name * Specify model class name.
* *
* @return mixed * @return mixed
*/ */
function model() public function model()
{ {
return 'Webkul\Customer\Contracts\CustomerGroup'; return \Webkul\Customer\Contracts\CustomerGroup::class;
} }
/** /**
* Create.
*
* @param array $data * @param array $data
* @return \Webkul\Customer\Contracts\CustomerGroup * @return \Webkul\Customer\Contracts\CustomerGroup
*/ */
public function create(array $data) 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 array $data
* @param int $id * @param int $id
* @param string $id * @param string $id
* @return \Webkul\Customer\Contracts\CustomerGroup * @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; 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. * Returns guest group.
* *

View File

@ -8,14 +8,14 @@ use Webkul\Product\Repositories\ProductReviewRepository;
class ReviewController extends Controller class ReviewController extends Controller
{ {
/** /**
* Contains route related configuration * Contains route related configuration.
* *
* @var array * @var array
*/ */
protected $_config; protected $_config;
/** /**
* ProductReviewRepository object * Product review repository instance.
* *
* @var \Webkul\Product\Repositories\ProductReviewRepository * @var \Webkul\Product\Repositories\ProductReviewRepository
*/ */
@ -65,12 +65,8 @@ class ReviewController extends Controller
*/ */
public function update($id) public function update($id)
{ {
Event::dispatch('customer.review.update.before', $id);
$this->productReviewRepository->update(request()->all(), $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'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Review']));
return redirect()->route($this->_config['redirect']); return redirect()->route($this->_config['redirect']);
@ -84,20 +80,17 @@ class ReviewController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$productReview = $this->productReviewRepository->findOrFail($id); $this->productReviewRepository->findOrFail($id);
try { try {
Event::dispatch('customer.review.delete.before', $id);
$this->productReviewRepository->delete($id); $this->productReviewRepository->delete($id);
Event::dispatch('customer.review.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review']));
return response()->json(['message' => true], 200); return response()->json(['message' => true], 200);
} catch (\Exception $e) { } catch (\Exception $e) {
report($e); report($e);
session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Review'])); session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Review']));
} }
@ -120,12 +113,8 @@ class ReviewController extends Controller
foreach ($indexes as $key => $value) { foreach ($indexes as $key => $value) {
try { try {
Event::dispatch('customer.review.delete.before', $value);
$this->productReviewRepository->delete($value); $this->productReviewRepository->delete($value);
} catch (\Exception $e) {
Event::dispatch('customer.review.delete.after', $value);
} catch(\Exception $e) {
$suppressFlash = true; $suppressFlash = true;
continue; continue;
@ -180,7 +169,7 @@ class ReviewController extends Controller
continue; continue;
} }
} }
} catch(\Exception $e) { } catch (\Exception $e) {
$suppressFlash = true; $suppressFlash = true;
continue; continue;

View File

@ -2,7 +2,7 @@
namespace Webkul\Product\Repositories; namespace Webkul\Product\Repositories;
use Illuminate\Container\Container as App; use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
class ProductReviewRepository extends Repository class ProductReviewRepository extends Repository
@ -12,9 +12,42 @@ class ProductReviewRepository extends Repository
* *
* @return mixed * @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,11 +55,11 @@ class ProductReviewRepository extends Repository
* *
* @param int $customerId * @param int $customerId
*/ */
function getCustomerReview() public function getCustomerReview()
{ {
$customerId = auth()->guard('customer')->user()->id; $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; return $reviews;
} }