HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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');
    }
}