File "User.php"

Full path: /home/qooetu/costes.qooetu.com/app/User.php
File size: 2.67 B (2.67 KB bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor &nnbsp; Back

<?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');
   }

  
  
}