Some More Events Moved

This commit is contained in:
Devansh 2022-01-11 14:20:24 +05:30
parent 75ec3d276c
commit 3f9c0ac6cc
15 changed files with 433 additions and 186 deletions

View File

@ -2,28 +2,27 @@
namespace Webkul\Core\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\ExchangeRateRepository;
use Webkul\Core\Repositories\CurrencyRepository;
use Webkul\Core\Repositories\ExchangeRateRepository;
class ExchangeRateController extends Controller
{
/**
* Contains route related configuration
* Contains route related configuration.
*
* @var array
*/
protected $_config;
/**
* ExchangeRateRepository instance
* Exchange rate repository instance.
*
* @var \Webkul\Core\Repositories\ExchangeRateRepository
*/
protected $exchangeRateRepository;
/**
* CurrencyRepository object
* Currency repository instance.
*
* @var \Webkul\Core\Repositories\CurrencyRepository
*/
@ -39,8 +38,7 @@ class ExchangeRateController extends Controller
public function __construct(
ExchangeRateRepository $exchangeRateRepository,
CurrencyRepository $currencyRepository
)
{
) {
$this->exchangeRateRepository = $exchangeRateRepository;
$this->currencyRepository = $currencyRepository;
@ -82,11 +80,7 @@ class ExchangeRateController extends Controller
'rate' => 'required|numeric',
]);
Event::dispatch('core.exchange_rate.create.before');
$exchangeRate = $this->exchangeRateRepository->create(request()->all());
Event::dispatch('core.exchange_rate.create.after', $exchangeRate);
$this->exchangeRateRepository->create(request()->all());
session()->flash('success', trans('admin::app.settings.exchange_rates.create-success'));
@ -121,11 +115,7 @@ class ExchangeRateController extends Controller
'rate' => 'required|numeric',
]);
Event::dispatch('core.exchange_rate.update.before', $id);
$exchangeRate = $this->exchangeRateRepository->update(request()->all(), $id);
Event::dispatch('core.exchange_rate.update.after', $exchangeRate);
$this->exchangeRateRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.settings.exchange_rates.update-success'));
@ -143,7 +133,7 @@ class ExchangeRateController extends Controller
app(config('services.exchange-api.' . config('services.exchange-api.default') . '.class'))->updateRates();
session()->flash('success', trans('admin::app.settings.exchange_rates.update-success'));
} catch(\Exception $e) {
} catch (\Exception $e) {
session()->flash('error', $e->getMessage());
}
@ -158,21 +148,17 @@ class ExchangeRateController extends Controller
*/
public function destroy($id)
{
$exchangeRate = $this->exchangeRateRepository->findOrFail($id);
$this->exchangeRateRepository->findOrFail($id);
try {
Event::dispatch('core.exchange_rate.delete.before', $id);
$this->exchangeRateRepository->delete($id);
session()->flash('success', trans('admin::app.settings.exchange_rates.delete-success'));
Event::dispatch('core.exchange_rate.delete.after', $id);
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
report($e);
session()->flash('error', trans('admin::app.response.delete-error', ['name' => 'Exchange rate']));
}

View File

@ -2,20 +2,19 @@
namespace Webkul\Core\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\LocaleRepository;
class LocaleController extends Controller
{
/**
* Contains route related configuration
* Contains route related configuration.
*
* @var array
*/
protected $_config;
/**
* LocaleRepository object
* Locale repository instance.
*
* @var \Webkul\Core\Repositories\LocaleRepository
*/
@ -67,11 +66,7 @@ class LocaleController extends Controller
'direction' => 'in:ltr,rtl',
]);
Event::dispatch('core.locale.create.before');
$locale = $this->localeRepository->create(request()->all());
Event::dispatch('core.locale.create.after', $locale);
$this->localeRepository->create(request()->all());
session()->flash('success', trans('admin::app.settings.locales.create-success'));
@ -105,11 +100,7 @@ class LocaleController extends Controller
'direction' => 'in:ltr,rtl',
]);
Event::dispatch('core.locale.update.before', $id);
$locale = $this->localeRepository->update(request()->all(), $id);
Event::dispatch('core.locale.update.after', $locale);
$this->localeRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.settings.locales.update-success'));
@ -124,26 +115,22 @@ class LocaleController extends Controller
*/
public function destroy($id)
{
$locale = $this->localeRepository->findOrFail($id);
$this->localeRepository->findOrFail($id);
if ($this->localeRepository->count() == 1) {
session()->flash('warning', trans('admin::app.settings.locales.last-delete-error'));
} else {
try {
Event::dispatch('core.locale.delete.before', $id);
$this->localeRepository->delete($id);
Event::dispatch('core.locale.delete.after', $id);
session()->flash('success', trans('admin::app.settings.locales.delete-success'));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Locale']));
}
}
return response()->json(['message' => false], 400);
}
}
}

View File

@ -21,7 +21,7 @@ class CurrencyRepository extends Repository
}
/**
* Save a new entity in repository
* Create.
*
* @param array $attributes
* @return mixed

View File

@ -2,20 +2,71 @@
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 ExchangeRateRepository extends Repository
{
use CacheableRepository;
/**
* Specify Model class name
* Specify model class name.
*
* @return mixed
*/
function model()
public function model()
{
return 'Webkul\Core\Contracts\CurrencyExchangeRate';
return \Webkul\Core\Contracts\CurrencyExchangeRate::class;
}
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('core.exchange_rate.create.before');
$exchangeRate = parent::create($attributes);
Event::dispatch('core.exchange_rate.create.after', $exchangeRate);
return $exchangeRate;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('core.exchange_rate.update.before', $id);
$exchangeRate = parent::update($attributes, $id);
Event::dispatch('core.exchange_rate.update.after', $exchangeRate);
return $exchangeRate;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('core.exchange_rate.delete.before', $id);
parent::delete($id);
Event::dispatch('core.exchange_rate.delete.after', $id);
}
}

View File

@ -2,20 +2,71 @@
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 LocaleRepository extends Repository
{
use CacheableRepository;
/**
* Specify Model class name
* Specify model class name.
*
* @return mixed
*/
function model()
public function model()
{
return 'Webkul\Core\Contracts\Locale';
return \Webkul\Core\Contracts\Locale::class;
}
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('core.locale.create.before');
$locale = parent::create($attributes);
Event::dispatch('core.locale.create.after', $locale);
return $locale;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('core.locale.update.before', $id);
$locale = parent::update($attributes, $id);
Event::dispatch('core.locale.update.after', $locale);
return $locale;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('core.locale.delete.before', $id);
parent::delete($id);
Event::dispatch('core.locale.delete.after', $id);
}
}

View File

@ -2,7 +2,6 @@
namespace Webkul\Inventory\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\Inventory\Http\Requests\InventorySourceRequest;
use Webkul\Inventory\Repositories\InventorySourceRepository;
@ -66,11 +65,7 @@ class InventorySourceController extends Controller
$data['status'] = ! isset($data['status']) ? 0 : 1;
Event::dispatch('inventory.inventory_source.create.before');
$inventorySource = $this->inventorySourceRepository->create($data);
Event::dispatch('inventory.inventory_source.create.after', $inventorySource);
$this->inventorySourceRepository->create($data);
session()->flash('success', trans('admin::app.settings.inventory_sources.create-success'));
@ -102,11 +97,7 @@ class InventorySourceController extends Controller
$data['status'] = ! isset($data['status']) ? 0 : 1;
Event::dispatch('inventory.inventory_source.update.before', $id);
$inventorySource = $this->inventorySourceRepository->update($data, $id);
Event::dispatch('inventory.inventory_source.update.after', $inventorySource);
$this->inventorySourceRepository->update($data, $id);
session()->flash('success', trans('admin::app.settings.inventory_sources.update-success'));
@ -121,18 +112,14 @@ class InventorySourceController extends Controller
*/
public function destroy($id)
{
$inventorySource = $this->inventorySourceRepository->findOrFail($id);
$this->inventorySourceRepository->findOrFail($id);
if ($this->inventorySourceRepository->count() == 1) {
session()->flash('error', trans('admin::app.settings.inventory_sources.last-delete-error'));
} else {
try {
Event::dispatch('inventory.inventory_source.delete.before', $id);
$this->inventorySourceRepository->delete($id);
Event::dispatch('inventory.inventory_source.delete.after', $id);
session()->flash('success', trans('admin::app.settings.inventory_sources.delete-success'));
return response()->json(['message' => true], 200);

View File

@ -2,18 +2,69 @@
namespace Webkul\Inventory\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository;
class InventorySourceRepository extends Repository
{
/**
* Specify Model class name
* Specify model class name.
*
* @return mixed
*/
function model()
public function model()
{
return 'Webkul\Inventory\Contracts\InventorySource';
return \Webkul\Inventory\Contracts\InventorySource::class;
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('inventory.inventory_source.create.before');
$inventorySource = parent::create($attributes);
Event::dispatch('inventory.inventory_source.create.after', $inventorySource);
return $inventorySource;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('inventory.inventory_source.update.before', $id);
$inventorySource = parent::update($attributes, $id);
Event::dispatch('inventory.inventory_source.update.after', $inventorySource);
return $inventorySource;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('inventory.inventory_source.delete.before', $id);
parent::delete($id);
Event::dispatch('inventory.inventory_source.delete.after', $id);
}
/**
@ -35,4 +86,4 @@ class InventorySourceRepository extends Repository
return $channelInventorySourceIds = ($found ? $found : collect([]));
}
}
}

View File

@ -2,28 +2,27 @@
namespace Webkul\Tax\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\Tax\Repositories\TaxCategoryRepository;
use Webkul\Tax\Repositories\TaxRateRepository;
class TaxCategoryController extends Controller
{
/**
* Contains route related configuration
* Contains route related configuration.
*
* @var array
*/
protected $_config;
/**
* TaxCategoryRepository
* Tax category repository instance.
*
* @var \Webkul\Tax\Repositories\TaxCategoryRepository
*/
protected $taxCategoryRepository;
/**
* TaxRateRepository
* Tax rate repository instance.
*
* @var \Webkul\Tax\Repositories\TaxRateRepository
*/
@ -39,8 +38,7 @@ class TaxCategoryController extends Controller
public function __construct(
TaxCategoryRepository $taxCategoryRepository,
TaxRateRepository $taxRateRepository
)
{
) {
$this->taxCategoryRepository = $taxCategoryRepository;
$this->taxRateRepository = $taxRateRepository;
@ -49,7 +47,7 @@ class TaxCategoryController extends Controller
}
/**
* Function to show the tax category form
* Function to show the tax category form.
*
* @return \Illuminate\View\View
*/
@ -74,22 +72,17 @@ class TaxCategoryController extends Controller
'taxrates' => 'array|required',
]);
Event::dispatch('tax.tax_category.create.before');
$taxCategory = $this->taxCategoryRepository->create($data);
//attach the categories in the tax map table
$this->taxCategoryRepository->attachOrDetach($taxCategory, $data['taxrates']);
Event::dispatch('tax.tax_category.create.after', $taxCategory);
session()->flash('success', trans('admin::app.settings.tax-categories.create-success'));
return redirect()->route($this->_config['redirect']);
}
/**
* To show the edit form form the tax category
* To show the edit form for the tax category.
*
* @param int $id
* @return \Illuminate\View\View
@ -102,7 +95,7 @@ class TaxCategoryController extends Controller
}
/**
* To update the tax category
* To update the tax category.
*
* @param int $id
* @return \Illuminate\Http\Response
@ -118,22 +111,15 @@ class TaxCategoryController extends Controller
$data = request()->input();
Event::dispatch('tax.tax_category.update.before', $id);
$taxCategory = $this->taxCategoryRepository->update($data, $id);
Event::dispatch('tax.tax_category.update.after', $taxCategory);
if (! $taxCategory) {
session()->flash('error', trans('admin::app.settings.tax-categories.update-error'));
return redirect()->back();
}
$taxRates = $data['taxrates'];
//attach the categories in the tax map table
$this->taxCategoryRepository->attachOrDetach($taxCategory, $taxRates);
$this->taxCategoryRepository->attachOrDetach($taxCategory, $data['taxrates']);
session()->flash('success', trans('admin::app.settings.tax-categories.update-success'));
@ -148,19 +134,15 @@ class TaxCategoryController extends Controller
*/
public function destroy($id)
{
$taxCategory = $this->taxCategoryRepository->findOrFail($id);
$this->taxCategoryRepository->findOrFail($id);
try {
Event::dispatch('tax.tax_category.delete.before', $id);
$this->taxCategoryRepository->delete($id);
Event::dispatch('tax.tax_category.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Tax Category']));
return response()->json(['message' => true], 200);
} catch(Exception $e) {
} catch (Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Category']));
}

View File

@ -2,10 +2,9 @@
namespace Webkul\Tax\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\Admin\Imports\DataGridImport;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Validators\Failure;
use Webkul\Admin\Imports\DataGridImport;
use Webkul\Tax\Repositories\TaxRateRepository;
class TaxRateController extends Controller
@ -18,7 +17,7 @@ class TaxRateController extends Controller
protected $_config;
/**
* TaxRateRepository object
* Tax rate repository instance.
*
* @var \Webkul\Tax\Repositories\TaxRateRepository
*/
@ -82,11 +81,7 @@ class TaxRateController extends Controller
unset($data['zip_code']);
}
Event::dispatch('tax.tax_rate.create.before');
$taxRate = $this->taxRateRepository->create($data);
Event::dispatch('tax.tax_rate.create.after', $taxRate);
$this->taxRateRepository->create($data);
session()->flash('success', trans('admin::app.settings.tax-rates.create-success'));
@ -115,7 +110,7 @@ class TaxRateController extends Controller
public function update($id)
{
$this->validate(request(), [
'identifier' => 'required|string|unique:tax_rates,identifier,'.$id,
'identifier' => 'required|string|unique:tax_rates,identifier,' . $id,
'is_zip' => 'sometimes',
'zip_from' => 'nullable|required_with:is_zip',
'zip_to' => 'nullable|required_with:is_zip,zip_from',
@ -123,11 +118,7 @@ class TaxRateController extends Controller
'tax_rate' => 'required|numeric|min:0.0001',
]);
Event::dispatch('tax.tax_rate.update.before', $id);
$taxRate = $this->taxRateRepository->update(request()->input(), $id);
Event::dispatch('tax.tax_rate.update.after', $taxRate);
$this->taxRateRepository->update(request()->input(), $id);
session()->flash('success', trans('admin::app.settings.tax-rates.update-success'));
@ -142,19 +133,15 @@ class TaxRateController extends Controller
*/
public function destroy($id)
{
$taxRate = $this->taxRateRepository->findOrFail($id);
$this->taxRateRepository->findOrFail($id);
try {
Event::dispatch('tax.tax_rate.delete.before', $id);
$this->taxRateRepository->delete($id);
Event::dispatch('tax.tax_rate.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Tax Rate']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Rate']));
}
@ -162,7 +149,7 @@ class TaxRateController extends Controller
}
/**
* import function for the upload.
* Import function for the upload.
*
* @return \Illuminate\Http\Response
*/
@ -179,7 +166,7 @@ class TaxRateController extends Controller
foreach ($excelData as $data) {
foreach ($data as $column => $uploadData) {
if (! is_null($uploadData['zip_from']) && !is_null($uploadData['zip_to'])) {
if (! is_null($uploadData['zip_from']) && ! is_null($uploadData['zip_to'])) {
$uploadData['is_zip'] = 1;
}
@ -195,10 +182,10 @@ class TaxRateController extends Controller
]);
if ($validator->fails()) {
$failedRules[$column+1] = $validator->errors();
$failedRules[$column + 1] = $validator->errors();
}
$identiFier[$column+1] = $uploadData['identifier'];
$identiFier[$column + 1] = $uploadData['identifier'];
}
$identiFierCount = array_count_values($identiFier);
@ -213,7 +200,7 @@ class TaxRateController extends Controller
$message[] = trans('admin::app.export.duplicate-error', ['identifier' => $identifier, 'position' => $position]);
}
$finalMsg = implode(" ", $message);
$finalMsg = implode(' ', $message);
session()->flash('error', $finalMsg);
} else {
@ -221,7 +208,7 @@ class TaxRateController extends Controller
if (isset($failedRules)) {
foreach ($failedRules as $coulmn => $fail) {
if ($fail->first('identifier')){
if ($fail->first('identifier')) {
$errorMsg[$coulmn] = $fail->first('identifier');
} elseif ($fail->first('tax_rate')) {
$errorMsg[$coulmn] = $fail->first('tax_rate');
@ -239,11 +226,11 @@ class TaxRateController extends Controller
}
foreach ($errorMsg as $key => $msg) {
$msg = str_replace(".", "", $msg);
$message[] = $msg. ' at Row ' .$key . '.';
$msg = str_replace('.', '', $msg);
$message[] = $msg . ' at Row ' . $key . '.';
}
$finalMsg = implode(" ", $message);
$finalMsg = implode(' ', $message);
session()->flash('error', $finalMsg);
} else {
@ -257,7 +244,7 @@ class TaxRateController extends Controller
foreach ($data as $column => $uploadData) {
if (! is_null($uploadData['zip_from']) && ! is_null($uploadData['zip_to'])) {
$uploadData['is_zip'] = 1;
$uploadData['zip_code'] = NULL;
$uploadData['zip_code'] = null;
}
if (isset($rateIdentifier)) {
@ -287,4 +274,4 @@ class TaxRateController extends Controller
return redirect()->route($this->_config['redirect']);
}
}
}

View File

@ -2,31 +2,84 @@
namespace Webkul\Tax\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository;
class TaxCategoryRepository extends Repository
{
/**
* Specify Model class name
* Specify model class name.
*
* @return string
*/
function model()
public function model()
{
return 'Webkul\Tax\Contracts\TaxCategory';
return \Webkul\Tax\Contracts\TaxCategory::class;
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('tax.tax_category.create.before');
$taxCategory = parent::create($attributes);
Event::dispatch('tax.tax_category.create.after', $taxCategory);
return $taxCategory;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('tax.tax_category.update.before', $id);
$taxCategory = parent::update($attributes, $id);
Event::dispatch('tax.tax_category.update.after', $taxCategory);
return $taxCategory;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('tax.tax_category.delete.before', $id);
parent::delete($id);
Event::dispatch('tax.tax_category.delete.after', $id);
}
/**
* Attach or detach.
*
* @param \Webkul\Tax\Contracts\TaxCategory $taxCategory
* @param array $data
* @return bool
*/
public function attachOrDetach($taxCategory, $data)
{
$taxRates = $taxCategory->tax_rates;
$taxCategory->tax_rates;
$this->model->findOrFail($taxCategory->id)->tax_rates()->sync($data);
return true;
}
}
}

View File

@ -2,17 +2,68 @@
namespace Webkul\Tax\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository;
class TaxRateRepository extends Repository
{
/**
* Specify Model class name
* Specify model class name.
*
* @return mixed
*/
function model()
public function model()
{
return 'Webkul\Tax\Contracts\TaxRate';
return \Webkul\Tax\Contracts\TaxRate::class;
}
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('tax.tax_rate.create.before');
$taxRate = parent::create($attributes);
Event::dispatch('tax.tax_rate.create.after', $taxRate);
return $taxRate;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('tax.tax_rate.update.before', $id);
$taxRate = parent::update($attributes, $id);
Event::dispatch('tax.tax_rate.update.after', $taxRate);
return $taxRate;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('tax.tax_rate.delete.before', $id);
parent::delete($id);
Event::dispatch('tax.tax_rate.delete.after', $id);
}
}

View File

@ -2,7 +2,6 @@
namespace Webkul\User\Http\Controllers;
use Illuminate\Support\Facades\Event;
use Webkul\User\Repositories\AdminRepository;
use Webkul\User\Repositories\RoleRepository;
@ -81,11 +80,7 @@ class RoleController extends Controller
'permission_type' => 'required',
]);
Event::dispatch('user.role.create.before');
$role = $this->roleRepository->create(request()->all());
Event::dispatch('user.role.create.after', $role);
$this->roleRepository->create(request()->all());
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Role']));
@ -123,7 +118,7 @@ class RoleController extends Controller
/**
* Check for other admins if the role has been changed from all to custom.
*/
$isChangedFromAll = $params['permission_type'] == "custom" && $this->roleRepository->find($id)->permission_type == 'all';
$isChangedFromAll = $params['permission_type'] == 'custom' && $this->roleRepository->find($id)->permission_type == 'all';
if ($isChangedFromAll && $this->adminRepository->countAdminsWithAllAccess() === 1) {
session()->flash('error', trans('admin::app.response.being-used', ['name' => 'Role', 'source' => 'Admin User']));
@ -131,11 +126,7 @@ class RoleController extends Controller
return redirect()->route($this->_config['redirect']);
}
Event::dispatch('user.role.update.before', $id);
$role = $this->roleRepository->update($params, $id);
Event::dispatch('user.role.update.after', $role);
$this->roleRepository->update($params, $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Role']));
@ -158,12 +149,8 @@ class RoleController extends Controller
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Role']));
} else {
try {
Event::dispatch('user.role.delete.before', $id);
$this->roleRepository->delete($id);
Event::dispatch('user.role.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Role']));
return response()->json(['message' => true], 200);

View File

@ -2,8 +2,8 @@
namespace Webkul\User\Http\Controllers;
use Hash;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
use Webkul\User\Http\Requests\UserForm;
use Webkul\User\Repositories\AdminRepository;
@ -89,11 +89,7 @@ class UserController extends Controller
$data['api_token'] = Str::random(80);
}
Event::dispatch('user.admin.create.before');
$admin = $this->adminRepository->create($data);
Event::dispatch('user.admin.create.after', $admin);
$this->adminRepository->create($data);
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'User']));
@ -130,15 +126,7 @@ class UserController extends Controller
return $data;
}
Event::dispatch('user.admin.update.before', $id);
$admin = $this->adminRepository->update($data, $id);
if (isset($data['password']) && $data['password']) {
Event::dispatch('user.admin.update-password', $admin);
}
Event::dispatch('user.admin.update.after', $admin);
$this->adminRepository->update($data, $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'User']));
@ -158,8 +146,6 @@ class UserController extends Controller
if ($this->adminRepository->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Admin']));
} else {
Event::dispatch('user.admin.delete.before', $id);
if (auth()->guard('admin')->user()->id == $id) {
return response()->json([
'redirect' => route('super.users.confirm', ['id' => $id]),
@ -171,8 +157,6 @@ class UserController extends Controller
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Admin']));
Event::dispatch('user.admin.delete.after', $id);
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Admin']));

View File

@ -2,6 +2,7 @@
namespace Webkul\User\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository;
class AdminRepository extends Repository
@ -11,11 +12,65 @@ class AdminRepository extends Repository
*
* @return mixed
*/
function model(): string
public function model(): string
{
return \Webkul\User\Contracts\Admin::class;
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('user.admin.create.before');
$admin = parent::create($attributes);
Event::dispatch('user.admin.create.after', $admin);
return $admin;
}
/**
* Update.
*
* @param array $attributes
* @param $id
* @return mixed
*/
public function update(array $attributes, $id)
{
Event::dispatch('user.admin.update.before', $id);
$admin = parent::update($attributes, $id);
if (isset($attributes['password']) && $attributes['password']) {
Event::dispatch('user.admin.update-password', $admin);
}
Event::dispatch('user.admin.update.after', $admin);
return $admin;
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('user.admin.delete.before', $id);
parent::delete($id);
Event::dispatch('user.admin.delete.after', $id);
}
/**
* Count admins with all access.
*

View File

@ -2,18 +2,36 @@
namespace Webkul\User\Repositories;
use Illuminate\Support\Facades\Event;
use Webkul\Core\Eloquent\Repository;
class RoleRepository extends Repository
{
/**
* Specify Model class name
* Specify model class name.
*
* @return mixed
*/
function model()
public function model()
{
return 'Webkul\User\Contracts\Role';
return \Webkul\User\Contracts\Role::class;
}
/**
* Create.
*
* @param array $attributes
* @return mixed
*/
public function create(array $attributes)
{
Event::dispatch('user.role.create.before');
$role = parent::create($attributes);
Event::dispatch('user.role.create.after', $role);
return $role;
}
/**
@ -21,11 +39,12 @@ class RoleRepository extends Repository
*
* @param array $data
* @param int $id
*
* @return \Webkul\User\Model\Role
* @return \Webkul\User\Contracts\Role
*/
public function update(array $data, $id)
{
Event::dispatch('user.role.update.before', $id);
/* making collection for ease */
$requestedData = collect($data);
@ -37,7 +56,23 @@ class RoleRepository extends Repository
$role->permissions = $requestedData->has('permissions') ? $requestedData['permissions'] : [];
$role->update();
/* returning updated role */
Event::dispatch('user.role.update.after', $role);
return $role;
}
}
/**
* Delete.
*
* @param int $id
* @return bool
*/
public function delete($id)
{
Event::dispatch('user.role.delete.before', $id);
parent::delete($id);
Event::dispatch('user.role.delete.after', $id);
}
}