diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 37f956b50abb..bc84f38f12e3 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -370,14 +370,25 @@ class UserController extends BaseController public function update(UpdateUserRequest $request, User $user) { $old_email = $user->email; + $old_company_user = $user->company_user; + $old_user = $user; + $new_email = $request->input('email'); $user = $this->user_repo->save($request->all(), $user); + $user = $user->fresh(); if ($old_email != $new_email) { UserEmailChanged::dispatch($new_email, $old_email, auth()->user()->company()); } + if( + strcasecmp($old_company_user->permissions, $user->company_user->permissions) != 0 || + $old_company_user->is_admin != $user->company_user->is_admin + ){ + $user->company_user()->update(["permissions_updated_at" => now()]); + } + event(new UserWasUpdated($user, auth()->user(), auth()->user()->company, Ninja::eventVars())); return $this->itemResponse($user); diff --git a/app/Models/CompanyUser.php b/app/Models/CompanyUser.php index e7fa44c44b9f..20089288b5d4 100644 --- a/app/Models/CompanyUser.php +++ b/app/Models/CompanyUser.php @@ -28,6 +28,7 @@ class CompanyUser extends Pivot * @var array */ protected $casts = [ + 'permissions_updated_at' => 'timestamp', 'updated_at' => 'timestamp', 'created_at' => 'timestamp', 'deleted_at' => 'timestamp', diff --git a/app/Transformers/CompanyUserTransformer.php b/app/Transformers/CompanyUserTransformer.php index a3b6f6785374..2ead828ebeb4 100644 --- a/app/Transformers/CompanyUserTransformer.php +++ b/app/Transformers/CompanyUserTransformer.php @@ -48,7 +48,7 @@ class CompanyUserTransformer extends EntityTransformer 'updated_at' => (int) $company_user->updated_at, 'archived_at' => (int) $company_user->deleted_at, 'created_at' => (int) $company_user->created_at, - + 'permissions_updated_at' => (int) $company_user->permissions_updated_at, ]; } diff --git a/database/migrations/2021_01_29_121502_add_permission_changed_timestamp.php b/database/migrations/2021_01_29_121502_add_permission_changed_timestamp.php new file mode 100644 index 000000000000..30ff2096d393 --- /dev/null +++ b/database/migrations/2021_01_29_121502_add_permission_changed_timestamp.php @@ -0,0 +1,30 @@ +timestamp('permissions_updated_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}