netgescon-master/app/View/Composers/SidebarComposer.php
2025-07-20 14:57:25 +00:00

54 lines
1.7 KiB
PHP

<?php
namespace App\View\Composers;
use Illuminate\View\View;
use App\Models\Stabile;
class SidebarComposer
{
/**
* Bind data to the view.
*/
public function compose(View $view): void
{
// Ottieni tutti gli stabili per l'utente corrente
$stabili = collect([
(object)['denominazione' => 'Stabile Demo 1'],
(object)['denominazione' => 'Stabile Demo 2'],
(object)['denominazione' => 'Condominio Centrale'],
(object)['denominazione' => 'Villaggio Verde'],
]);
// Se l'utente è autenticato e ha stabili reali, usa quelli
if (auth()->check()) {
try {
// Prova a ottenere stabili reali dal database
$stabiliReali = Stabile::query()
->select('id', 'denominazione')
->orderBy('denominazione')
->get();
if ($stabiliReali->isNotEmpty()) {
$stabili = $stabiliReali;
}
} catch (\Exception $e) {
// Se c'è un errore con il database, usa i dati demo
logger('Errore caricamento stabili: ' . $e->getMessage());
}
}
// Recupera stabile attivo dalla sessione o usa il primo
$stabileAttivo = session('stabile_corrente', $stabili->first()->denominazione ?? 'Nessuno');
$annoAttivo = session('anno_corrente', date('Y'));
$gestione = session('gestione_corrente', 'Ord.');
$view->with([
'stabili' => $stabili,
'stabileAttivo' => $stabileAttivo,
'annoAttivo' => $annoAttivo,
'gestione' => $gestione,
]);
}
}