mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-04 05:44:36 -04:00
Add flag when permissions change
This commit is contained in:
parent
af472b21c1
commit
6d278a9c05
@ -370,14 +370,25 @@ class UserController extends BaseController
|
|||||||
public function update(UpdateUserRequest $request, User $user)
|
public function update(UpdateUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$old_email = $user->email;
|
$old_email = $user->email;
|
||||||
|
$old_company_user = $user->company_user;
|
||||||
|
$old_user = $user;
|
||||||
|
|
||||||
$new_email = $request->input('email');
|
$new_email = $request->input('email');
|
||||||
|
|
||||||
$user = $this->user_repo->save($request->all(), $user);
|
$user = $this->user_repo->save($request->all(), $user);
|
||||||
|
$user = $user->fresh();
|
||||||
|
|
||||||
if ($old_email != $new_email) {
|
if ($old_email != $new_email) {
|
||||||
UserEmailChanged::dispatch($new_email, $old_email, auth()->user()->company());
|
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()));
|
event(new UserWasUpdated($user, auth()->user(), auth()->user()->company, Ninja::eventVars()));
|
||||||
|
|
||||||
return $this->itemResponse($user);
|
return $this->itemResponse($user);
|
||||||
|
@ -28,6 +28,7 @@ class CompanyUser extends Pivot
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
|
'permissions_updated_at' => 'timestamp',
|
||||||
'updated_at' => 'timestamp',
|
'updated_at' => 'timestamp',
|
||||||
'created_at' => 'timestamp',
|
'created_at' => 'timestamp',
|
||||||
'deleted_at' => 'timestamp',
|
'deleted_at' => 'timestamp',
|
||||||
|
@ -48,7 +48,7 @@ class CompanyUserTransformer extends EntityTransformer
|
|||||||
'updated_at' => (int) $company_user->updated_at,
|
'updated_at' => (int) $company_user->updated_at,
|
||||||
'archived_at' => (int) $company_user->deleted_at,
|
'archived_at' => (int) $company_user->deleted_at,
|
||||||
'created_at' => (int) $company_user->created_at,
|
'created_at' => (int) $company_user->created_at,
|
||||||
|
'permissions_updated_at' => (int) $company_user->permissions_updated_at,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddPermissionChangedTimestamp extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('company_user', function (Blueprint $table) {
|
||||||
|
$table->timestamp('permissions_updated_at')->useCurrent();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user