Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
app
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use OwenIt\Auditing\Auditable; use OwenIt\Auditing\Contracts\Auditable as AuditableContract; use Modules\UserManagement\Entities\Profile; use Validator; use Modules\Backend\Entities\CompanyUser; use Modules\Backend\Entities\Company; use Modules\Reseller\Entities\Reseller; use Zizaco\Entrust\Traits\EntrustUserTrait; use OwenIt\Auditing\Contracts\UserResolver; use Auth; class User extends Authenticatable implements AuditableContract,UserResolver { use Notifiable ,EntrustUserTrait,Auditable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password','avatar','social','provider','verification_code','phone','temp_pass' ]; protected $auditExclude = [ 'remember_token', ]; public static function resolveId() { return Auth::check() ? Auth::user()->getAuthIdentifier() : null; } /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; public function profile(){ return $this->hasOne(Profile::class,'user_id'); } public function setPasswordAttribute($value) { $this->attributes['password'] = bcrypt($value); } public function setNameAttribute($value) { $this->attributes['name'] = ucwords($value); } public function getMyAvartar($user_id=false){ if($user_id==false){ $user_id=$this->id; } } public function company(){ return $this->hasOne(Reseller::class,'user_id'); } public function getRole($user_id=false){ if($user_id==false){ $user_id=\Auth::User()->id; } $model=User::join('role_user','role_user.user_id','=','users.id') ->join('roles','roles.id','=','role_user.role_id') ->where(['users.id'=>$user_id]) ->first(); return ($model)?$model->display_name:"Not Set"; } public function getCompany(){ $model=User::join('company_users','users.id','=','company_users.user_id') ->join('companies','companies.id','=','company_users.company_id') ->where(['users.id'=>$this->id])->first(); if(!$model){ return null; }else{ return $model; } } public function companyUser(){ return $this->hasOne(CompanyUser::class,'user_id'); } }