Updates a user

This commit is contained in:
David Bomba 2019-06-12 09:38:16 +10:00
parent d9c216433a
commit 26f2bf71d5
2 changed files with 25 additions and 5 deletions

View File

@ -13,7 +13,6 @@ namespace App\Http\Requests\User;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Http\ValidationRules\UniqueUserRule; use App\Http\ValidationRules\UniqueUserRule;
use Illuminate\Support\Facades\Log;
class UpdateUserRequest extends Request class UpdateUserRequest extends Request
{ {
@ -25,7 +24,6 @@ class UpdateUserRequest extends Request
public function authorize() : bool public function authorize() : bool
{ {
Log::error($this->user);
return auth()->user()->can('edit', $this->user); return auth()->user()->can('edit', $this->user);
} }
@ -33,6 +31,7 @@ Log::error($this->user);
public function rules() public function rules()
{ {
$this->sanitize();
$input = $this->all(); $input = $this->all();
@ -43,4 +42,18 @@ Log::error($this->user);
]; ];
} }
public function sanitize()
{
$input = $this->all();
if(!isset($input['email']))
{
$input['email'] = null;
}
$this->replace($input);
}
} }

View File

@ -12,6 +12,7 @@
namespace App\Policies; namespace App\Policies;
use App\Models\Client; use App\Models\Client;
use App\Models\CompanyUser;
use App\Models\User; use App\Models\User;
/** /**
@ -30,15 +31,21 @@ class UserPolicy extends EntityPolicy
{ {
return $user->isAdmin() || $user->hasPermission('create_user'); return $user->isAdmin() || $user->hasPermission('create_user');
} }
//we need to override as User does not have the company_id property!!!!! /*
*
* We need to override as User does not have the company_id property!!!!!
*
* We use the CompanyUser table as a proxy
*/
public function edit(User $user, $user_entity) : bool public function edit(User $user, $user_entity) : bool
{ {
$company_user = CompanyUser::whereUserId($user_entity->id)->whereCompanyId($user->companyId())->first();
return ($user->isAdmin() && $user_entity->companyId() == $user->companyId());; return ($user->isAdmin() && $company_user);
} }