54 lines
1.7 KiB
PHP
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,
|
|
]);
|
|
}
|
|
}
|