From 75ec3d276c911e27bc21b36d9022e35eeac95387 Mon Sep 17 00:00:00 2001 From: Devansh Date: Tue, 11 Jan 2022 12:53:14 +0530 Subject: [PATCH] Some Issue Fixed --- .../Http/Controllers/CurrencyController.php | 38 +++-------- .../src/Repositories/CurrencyRepository.php | 67 +++++++++++++++---- .../src/Repositories/EventRepository.php | 2 +- 3 files changed, 66 insertions(+), 41 deletions(-) diff --git a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php index fdad9a68b..59d3917c3 100755 --- a/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php +++ b/packages/Webkul/Core/src/Http/Controllers/CurrencyController.php @@ -2,20 +2,19 @@ namespace Webkul\Core\Http\Controllers; -use Illuminate\Support\Facades\Event; use Webkul\Core\Repositories\CurrencyRepository; class CurrencyController extends Controller { /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ protected $_config; /** - * CurrencyRepository object + * Currency repository instance. * * @var \Webkul\Core\Repositories\CurrencyRepository */ @@ -66,11 +65,7 @@ class CurrencyController extends Controller 'name' => 'required', ]); - Event::dispatch('core.currency.create.before'); - - $currency = $this->currencyRepository->create(request()->all()); - - Event::dispatch('core.currency.create.after', $currency); + $this->currencyRepository->create(request()->all()); session()->flash('success', trans('admin::app.settings.currencies.create-success')); @@ -103,11 +98,7 @@ class CurrencyController extends Controller 'name' => 'required', ]); - Event::dispatch('core.currency.update.before', $id); - - $currency = $this->currencyRepository->update(request()->all(), $id); - - Event::dispatch('core.currency.update.after', $currency); + $this->currencyRepository->update(request()->all(), $id); session()->flash('success', trans('admin::app.settings.currencies.update-success')); @@ -122,18 +113,14 @@ class CurrencyController extends Controller */ public function destroy($id) { - $currency = $this->currencyRepository->findOrFail($id); + $this->currencyRepository->findOrFail($id); if ($this->currencyRepository->count() == 1) { session()->flash('warning', trans('admin::app.settings.currencies.last-delete-error')); } else { try { - Event::dispatch('core.currency.delete.before', $id); - $this->currencyRepository->delete($id); - Event::dispatch('core.currency.delete.after', $id); - session()->flash('success', trans('admin::app.settings.currencies.delete-success')); return response()->json(['message' => true], 200); @@ -147,7 +134,7 @@ class CurrencyController extends Controller } /** - * Remove the specified resources from database + * Remove the specified resources from database. * * @return \Illuminate\Http\Response */ @@ -160,22 +147,19 @@ class CurrencyController extends Controller foreach ($indexes as $key => $value) { try { - Event::dispatch('core.currency.delete.before', $value); - $this->currencyRepository->delete($value); - - Event::dispatch('core.currency.delete.after', $value); - } catch(\Exception $e) { + } catch (\Exception $e) { $suppressFlash = true; continue; } } - if (! $suppressFlash) + if (! $suppressFlash) { session()->flash('success', trans('admin::app.datagrid.mass-ops.delete-success', ['resource' => 'currencies'])); - else + } else { session()->flash('info', trans('admin::app.datagrid.mass-ops.partial-action', ['resource' => 'currencies'])); + } return redirect()->back(); } else { @@ -184,4 +168,4 @@ class CurrencyController extends Controller return redirect()->back(); } } -} \ No newline at end of file +} diff --git a/packages/Webkul/Core/src/Repositories/CurrencyRepository.php b/packages/Webkul/Core/src/Repositories/CurrencyRepository.php index bda254f82..d21f28d0f 100755 --- a/packages/Webkul/Core/src/Repositories/CurrencyRepository.php +++ b/packages/Webkul/Core/src/Repositories/CurrencyRepository.php @@ -2,38 +2,79 @@ namespace Webkul\Core\Repositories; -use Webkul\Core\Eloquent\Repository; +use Illuminate\Support\Facades\Event; use Prettus\Repository\Traits\CacheableRepository; +use Webkul\Core\Eloquent\Repository; class CurrencyRepository extends Repository { use CacheableRepository; /** - * Specify Model class name + * Specify model class name. * * @return mixed */ - function model() + public function model() { - return 'Webkul\Core\Contracts\Currency'; + return \Webkul\Core\Contracts\Currency::class; } /** - * Specify Model class name + * Save a new entity in repository + * + * @param array $attributes + * @return mixed + */ + public function create(array $attributes) + { + Event::dispatch('core.currency.create.before'); + + $currency = parent::create($attributes); + + Event::dispatch('core.currency.create.after', $currency); + + return $currency; + } + + /** + * Update. + * + * @param array $attributes + * @param $id + * @return mixed + */ + public function update(array $attributes, $id) + { + Event::dispatch('core.currency.update.before', $id); + + $currency = parent::update($attributes, $id); + + Event::dispatch('core.currency.update.after', $currency); + + return $currency; + } + + /** + * Delete. * * @param int $id * @return bool */ - public function delete($id) { + public function delete($id) + { + Event::dispatch('core.currency.delete.before', $id); + if ($this->model->count() == 1) { return false; - } else { - if ($this->model->destroy($id)) { - return true; - } else { - return false; - } } + + if ($this->model->destroy($id)) { + Event::dispatch('core.currency.delete.after', $id); + + return true; + } + + return false; } -} \ No newline at end of file +} diff --git a/packages/Webkul/Marketing/src/Repositories/EventRepository.php b/packages/Webkul/Marketing/src/Repositories/EventRepository.php index 0c3ee8dd2..1bf3e3bb8 100644 --- a/packages/Webkul/Marketing/src/Repositories/EventRepository.php +++ b/packages/Webkul/Marketing/src/Repositories/EventRepository.php @@ -14,7 +14,7 @@ class EventRepository extends Repository */ public function model() { - return Webkul\Marketing\Contracts\Event::class; + return \Webkul\Marketing\Contracts\Event::class; } /**