ajoute le portail Laravel : connexion prof/élève, session unique, gestion de classe, salle d'attente
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
aa31b6112f
commit
30e14b1c54
191 changed files with 25324 additions and 0 deletions
46
portail/app/Models/Eleve.php
Normal file
46
portail/app/Models/Eleve.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Models\Concerns\GereSessionUnique;
|
||||
use Illuminate\Auth\Authenticatable;
|
||||
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
||||
class Eleve extends Model implements AuthenticatableContract
|
||||
{
|
||||
use Authenticatable, GereSessionUnique, HasFactory;
|
||||
|
||||
protected $fillable = ['classe_id', 'prenom', 'nom', 'identifiant', 'code_secret', 'jeton_qr'];
|
||||
|
||||
protected $hidden = ['code_secret', 'jeton_session_actif', 'jeton_qr'];
|
||||
|
||||
protected $casts = [
|
||||
'derniere_connexion_a' => 'datetime',
|
||||
];
|
||||
|
||||
public function getAuthPasswordName(): string
|
||||
{
|
||||
return 'code_secret';
|
||||
}
|
||||
|
||||
public function classe(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Classe::class);
|
||||
}
|
||||
|
||||
public function labSessions(): HasMany
|
||||
{
|
||||
return $this->hasMany(LabSession::class);
|
||||
}
|
||||
|
||||
public function nomAffiche(): string
|
||||
{
|
||||
return $this->nom
|
||||
? $this->prenom.' '.mb_substr($this->nom, 0, 1).'.'
|
||||
: $this->prenom;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue