Paillasse/portail/app/Http/Controllers/MesCoursController.php

41 lines
1.1 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
use App\Models\Cours;
use App\Models\Lab;
use App\Models\Seance;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Illuminate\View\View;
/**
* « Mes cours » (séparation vitrine/application, 2026-10-13) : seulement
* les cours des labs déjà pratiqués par la classe, et seulement ceux qui
* ont un vrai cours.md (un seul aujourd'hui). Pas de fiche de démonstration
* (CLAUDE.md : pas de donnée inventée).
*/
class MesCoursController extends Controller
{
public function show(): View
{
$eleve = Auth::guard('eleve')->user();
$labIds = Seance::where('classe_id', $eleve->classe_id)->distinct()->pluck('lab_id');
$identifiants = Lab::whereIn('id', $labIds)->pluck('identifiant');
$cours = Cours::whereIn('identifiant', $identifiants)->orderBy('titre')->get();
return view('mes-cours', ['cours' => $cours]);
}
public function montrer(Cours $cours): View
{
return view('cours-detail', [
'cours' => $cours,
'html' => Str::markdown($cours->contenu_markdown),
]);
}
}