Paillasse/portail/app/Models/Seance.php

52 lines
1.2 KiB
PHP
Raw Normal View History

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Seance extends Model
{
use HasFactory;
public const PLANIFIEE = 'planifiee';
public const SALLE_ATTENTE = 'salle_attente';
public const EN_COURS = 'en_cours';
public const TERMINEE = 'terminee';
protected $fillable = ['classe_id', 'lab_id', 'statut', 'prevue_a', 'demarree_a', 'terminee_a', 'visio_ouverte_a', 'visio_salle', 'visio_chat'];
protected $casts = [
'prevue_a' => 'datetime',
'demarree_a' => 'datetime',
'terminee_a' => 'datetime',
'visio_ouverte_a' => 'datetime',
'visio_chat' => 'boolean',
];
public function visioOuverte(): bool
{
return $this->visio_ouverte_a !== null && $this->visio_salle !== null;
}
public function classe(): BelongsTo
{
return $this->belongsTo(Classe::class);
}
public function lab(): BelongsTo
{
return $this->belongsTo(Lab::class);
}
public function labSessions(): HasMany
{
return $this->hasMany(LabSession::class);
}
}