Example #1
0
 /**
  * Aplicar.
  *
  * @param Builder $builder
  * @param Model $model
  */
 public function apply(Builder $builder, Model $model)
 {
     // Verificar qual o inquilino informado
     $inquilino_id = \Auth::check() ? \Auth::user()->{Table::tenantField()} : null;
     if (is_null($inquilino_id) != true) {
         $builder->where(Table::keyAttr(), $inquilino_id);
     }
 }
 /**
  * Aplicar.
  *
  * @param Builder $builder
  * @param Model $model
  */
 public function apply(Builder $builder, Model $model)
 {
     if (isset($model->filterLogged) && $model->filterLogged == false) {
         return;
     }
     // Verificar qual o inquilino informado
     $inquilino_id = \Auth::check() ? \Auth::user()->{Table::tenantField()} : null;
     if (is_null($inquilino_id) != true) {
         $builder->where(Table::keyAttr(), $inquilino_id);
     }
 }
Example #3
0
 /**
  * Aplicar.
  *
  * @param Builder $builder
  * @param Model $model
  */
 public function apply(Builder $builder, Model $model)
 {
     // Verificar se deve filtrar o inquilino
     if (isset($model->multTenant) && $model->multTenant == true) {
         // Verificar se esta logado
         if (is_null(\Auth::id())) {
             return;
         }
         // Verificar qual o inquilino informado
         $inquilino_id = \Auth::user()->{Table::tenantField()};
         if (is_null($inquilino_id)) {
             $builder->whereNull(Table::tenantField());
         } else {
             $builder->where(Table::tenantField(), $inquilino_id);
         }
     }
 }
Example #4
0
 /**
  * Boot do trait.
  */
 public static function bootMultTenantModel()
 {
     // Adicionar scopo
     static::addGlobalScope(new TenantScope());
     // Informar tenant
     static::saving(function ($model) {
         if (isset($model->multTenant) && $model->multTenant == true) {
             // Verificar se inquilino já foi informado
             if (array_key_exists(Table::tenantField(), $model->attributes)) {
                 return;
             }
             // Verificar se usuário esta logado
             if (\Auth::check() != true) {
                 error('Usuário não esta logado');
             }
             // Setar inquilino
             $model->{Table::tenantField()} = \Auth::user()->{Table::tenantField()};
         }
     });
 }
 /**
  * Carregar ondemand o objeto Tenant da classe mult-tenant.
  * @return mixed|null
  */
 public function getTenantAttribute()
 {
     // Verificar se eh mult inquilino
     if ($this->multTenant != true) {
         return null;
     }
     // Verificar se jah foi carregado
     if (is_null($this->tenantObj) != true) {
         return $this->tenantObj;
     }
     // Veriifcar se foi definido o tenant Model
     $model = config('database.models.tenant', '\\NetForce\\Auth\\Models\\Inquilino');
     if (is_null($model)) {
         error('Não foi configurado a classe do Tenant. (configs.database.models.tenant');
     }
     // Carregar id do tenant
     $tenant_id = $this->{Table::tenantField()};
     if (is_null($tenant_id)) {
         return null;
     }
     return $this->tenantObj = app()->make($model, [$tenant_id]);
 }