forget cache permission when update role
WMS API/ERP-API/pipeline/head This commit looks good
Details
WMS API/ERP-API/pipeline/head This commit looks good
Details
This commit is contained in:
parent
43937cbb04
commit
346bc8513e
|
|
@ -26,6 +26,10 @@ class Role extends Model
|
||||||
return $this->belongsToMany(Permission::class,"role_permission");
|
return $this->belongsToMany(Permission::class,"role_permission");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function users(){
|
||||||
|
return $this->belongsToMany(Role::class,'user_role');
|
||||||
|
}
|
||||||
|
|
||||||
public function getActivitylogOptions(): LogOptions
|
public function getActivitylogOptions(): LogOptions
|
||||||
{
|
{
|
||||||
return LogOptions::defaults();
|
return LogOptions::defaults();
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,10 @@ class User extends Authenticatable
|
||||||
return $this->belongsToMany(Role::class,'user_role')->with("permissions");
|
return $this->belongsToMany(Role::class,'user_role')->with("permissions");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function forgetPermission(){
|
||||||
|
Cache::forget("permission_".$this->id);
|
||||||
|
}
|
||||||
|
|
||||||
public function getPermission(){
|
public function getPermission(){
|
||||||
$user = $this;
|
$user = $this;
|
||||||
return Cache::rememberForever("permission_".$this->id, function() use ($user){
|
return Cache::rememberForever("permission_".$this->id, function() use ($user){
|
||||||
|
|
|
||||||
|
|
@ -41,11 +41,20 @@ class RoleRepository
|
||||||
if (@$params["permissions"]){
|
if (@$params["permissions"]){
|
||||||
$model->permissions()->sync($params["permissions"]);
|
$model->permissions()->sync($params["permissions"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach($model->users as $user){
|
||||||
|
$user->forgetPermission();
|
||||||
|
}
|
||||||
|
|
||||||
return $model;
|
return $model;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete($model){
|
public function delete($model){
|
||||||
|
|
||||||
|
foreach($model->users as $user){
|
||||||
|
$user->forgetPermission();
|
||||||
|
}
|
||||||
|
|
||||||
$model->delete();
|
$model->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ class UserRepository
|
||||||
$user = User::create($params);
|
$user = User::create($params);
|
||||||
if (@$params["roles"]){
|
if (@$params["roles"]){
|
||||||
$user->roles()->sync($params["roles"]);
|
$user->roles()->sync($params["roles"]);
|
||||||
|
|
||||||
|
$user->forgetPermission();
|
||||||
}
|
}
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
@ -40,6 +42,8 @@ class UserRepository
|
||||||
$user->update($params);
|
$user->update($params);
|
||||||
if (@$params["roles"]){
|
if (@$params["roles"]){
|
||||||
$user->roles()->sync($params["roles"]);
|
$user->roles()->sync($params["roles"]);
|
||||||
|
|
||||||
|
$user->forgetPermission();
|
||||||
}
|
}
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue