File: D:/HostingSpaces/SBogers10/vebon.komma.pro/app/KommaApp/EndUsers/Models/EndUser.php
<?php
namespace KommaApp\EndUsers\Models;
/**
*
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma Mediadesign
*/
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Kbwebs\MultiAuth\PasswordResets\CanResetPassword;
use Kbwebs\MultiAuth\PasswordResets\Contracts\CanResetPassword as CanResetPasswordContract;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use KommaApp\Audit\Models\Audit;
class EndUser extends Model
implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
protected $table = 'end_users';
protected $hidden = ['hash', 'reendUser_token'];
static $member = 'member';
static $auditor = 'auditor';
protected $with = ['language'];
protected $fillable = [
'site_id',
'number',
'active_until',
'active',
'language_id',
'username',
'password',
'email',
'gender',
'title',
'first_name',
'name_insertion',
'last_name',
'postal',
'street',
'house_number',
'house_number_suffix',
'city',
'country',
'company',
'company_vat',
'reendUser_token', // Todo: Needs to be not fillable ?!
'validate_token', // Todo: Needs to be not fillable ?!
'telephone'
];
public function site()
{
return $this->belongsTo('KommaApp\Sites\Models\Site ');
}
public function getDates()
{
return array('created_at', 'updated_at', 'last_login_attempt');
}
public function language()
{
return $this->hasOne('KommaApp\Languages\Models\Language', 'id', 'language_id');
}
public static function getNewEndUserNumber()
{
if (self::max('endUser_number') > 0)
return self::max('endUser_number') + 1;
return \Config::get('komma/komma.endUserNumberStart');
}
/**
* Get all the audits where the end_user is the member
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function memberAudits()
{
return $this->hasMany(Audit::class, 'member_id');
}
/**
* Gt all the audits where the end_user is the auditor
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function auditorAudits()
{
return $this->hasMany(Audit::class, 'auditor_id');
}
}