ldc-dam/app/User.php
Yann Gonidec 7b857744f7 front : fin edition média
front : téléchargement de média
command : suppression des média archivés - regénération des miniatures - import des fichiers Arcadia
2019-07-11 11:45:47 +02:00

102 lines
2 KiB
PHP

<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
// protected $fillable = [
// 'name', 'email', 'password',
// ];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
/**
* @param string|array $roles
*/
public function authorizeRoles($roles){
if (is_array($roles)) {
return in_array($this->role, $roles) ||
abort(401, 'Cette action n\'est pas autorisée.');
}
return $this->role == $roles ||
abort(401, 'Cette action n\'est pas autorisée.');
}
/**
* Check one role
* @param string $role
*/
public function hasRole($roles) {
if (is_array($roles)) {
return in_array($this->role, $roles);
}
return $this->role == $roles;
}
/**
* get one role label
* @param string $role
*/
public function getRoleLabel() {
return config('roles.label.'.$this->role);
}
/**
* The marques that belong to the user.
*/
public function marques()
{
return $this->belongsToMany('App\Marque', 'marques_users', 'user_id', 'marque_id');
}
/**
* The dossiers that belong to the user.
*/
public function dossiers()
{
return $this->belongsToMany('App\Dossier', 'dossiers_users', 'user_id', 'dossier_id');
}
/**
* The sujet that belong to the user.
*/
public function sujets()
{
return $this->belongsToMany('App\Sujet', 'sujets_users', 'user_id', 'sujet_id');
}
/**
* Get the medias for the user.
*/
public function medias()
{
return $this->hasMany('App\Media');
}
}