160 lines
9.7 KiB
PHP
160 lines
9.7 KiB
PHP
@extends('admin.layouts.netgescon')
|
|
|
|
@section('title', 'Test Sidebar con Dati Reali')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
{{-- Sidebar --}}
|
|
<div class="col-md-3 sidebar bg-warning p-0">
|
|
@include('components.menu.sidebar')
|
|
</div>
|
|
|
|
{{-- Contenuto principale --}}
|
|
<div class="col-md-9">
|
|
<div class="p-4">
|
|
<h1>🎯 Test Sidebar con Dati Reali</h1>
|
|
<p class="text-muted">Verifica del collegamento dati e funzionalità sidebar modulare</p>
|
|
|
|
<hr>
|
|
|
|
<div class="row">
|
|
{{-- Statistiche Sidebar --}}
|
|
<div class="col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header bg-primary text-white">
|
|
<h5><i class="fas fa-chart-bar me-2"></i>Statistiche Sidebar</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<h6>📊 Stabili</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Totale: <strong>{{ $sidebarStats['stabili']['totale'] ?? 0 }}</strong></li>
|
|
<li>Attivi: <strong>{{ $sidebarStats['stabili']['attivi'] ?? 0 }}</strong></li>
|
|
<li>Unità libere: <strong>{{ $sidebarStats['stabili']['unita_libere'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>👥 Condomini</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Totale: <strong>{{ $sidebarStats['condomini']['totale'] ?? 0 }}</strong></li>
|
|
<li>Proprietari: <strong>{{ $sidebarStats['condomini']['proprietari'] ?? 0 }}</strong></li>
|
|
<li>Inquilini: <strong>{{ $sidebarStats['condomini']['inquilini'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>🎫 Tickets</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Aperti: <strong>{{ $sidebarStats['tickets']['aperti'] ?? 0 }}</strong></li>
|
|
<li>Urgenti: <strong class="text-danger">{{ $sidebarStats['tickets']['urgenti'] ?? 0 }}</strong></li>
|
|
<li>In lavorazione: <strong>{{ $sidebarStats['tickets']['in_lavorazione'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>💰 Contabilità</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Rate scadute: <strong class="text-warning">{{ $sidebarStats['contabilita']['rate_scadute'] ?? 0 }}</strong></li>
|
|
<li>Incassi mese: <strong class="text-success">€{{ number_format($sidebarStats['contabilita']['incassi_mese'] ?? 0, 2, ',', '.') }}</strong></li>
|
|
<li>Movimenti mese: <strong>{{ $sidebarStats['contabilita']['movimenti_mese'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Dati Dashboard --}}
|
|
<div class="col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header bg-success text-white">
|
|
<h5><i class="fas fa-tachometer-alt me-2"></i>Dati Dashboard Completi</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<h6>🏢 Stabili Dettagliati</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Occupazione: <strong>{{ $dashboardData['stabili']['percentuale_occupazione'] ?? 0 }}%</strong></li>
|
|
<li>Unità occupate: <strong>{{ $dashboardData['stabili']['unita_occupate'] ?? 0 }}</strong></li>
|
|
<li>Unità totali: <strong>{{ $dashboardData['stabili']['unita_totali'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>📈 Trend Contabilità</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Trend incassi:
|
|
<strong class="{{ ($dashboardData['contabilita']['trend_incassi'] ?? 0) >= 0 ? 'text-success' : 'text-danger' }}">
|
|
{{ ($dashboardData['contabilita']['trend_incassi'] ?? 0) > 0 ? '+' : '' }}{{ $dashboardData['contabilita']['trend_incassi'] ?? 0 }}%
|
|
</strong>
|
|
</li>
|
|
<li>Rate del mese: <strong>{{ $dashboardData['contabilita']['rate_del_mese'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>🎯 Performance Tickets</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Risoluzione: <strong>{{ $dashboardData['tickets']['percentuale_risoluzione'] ?? 0 }}%</strong></li>
|
|
<li>Chiusi oggi: <strong>{{ $dashboardData['tickets']['chiusi_oggi'] ?? 0 }}</strong></li>
|
|
</ul>
|
|
|
|
<h6>⚙️ Sistema</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Versione: <strong>{{ $dashboardData['sistema']['versione'] ?? 'N/A' }}</strong></li>
|
|
<li>Utenti attivi: <strong>{{ $dashboardData['sistema']['utenti_attivi'] ?? 0 }}</strong></li>
|
|
<li>Uptime: <strong>{{ $dashboardData['sistema']['uptime'] ?? 'N/A' }}</strong></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
{{-- Test Funzioni --}}
|
|
<div class="card mt-4">
|
|
<div class="card-header bg-info text-white">
|
|
<h5><i class="fas fa-cogs me-2"></i>Test Funzionalità</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h6>📋 Menu Permissions</h6>
|
|
<ul class="list-unstyled">
|
|
<li>Dashboard: <span class="badge {{ canUserAccessMenu('dashboard') ? 'bg-success' : 'bg-danger' }}">{{ canUserAccessMenu('dashboard') ? 'SI' : 'NO' }}</span></li>
|
|
<li>Stabili: <span class="badge {{ canUserAccessMenu('stabili') ? 'bg-success' : 'bg-danger' }}">{{ canUserAccessMenu('stabili') ? 'SI' : 'NO' }}</span></li>
|
|
<li>Condomini: <span class="badge {{ canUserAccessMenu('condomini') ? 'bg-success' : 'bg-danger' }}">{{ canUserAccessMenu('condomini') ? 'SI' : 'NO' }}</span></li>
|
|
<li>Contabilità: <span class="badge {{ canUserAccessMenu('contabilita') ? 'bg-success' : 'bg-danger' }}">{{ canUserAccessMenu('contabilita') ? 'SI' : 'NO' }}</span></li>
|
|
<li>Tickets: <span class="badge {{ canUserAccessMenu('tickets') ? 'bg-success' : 'bg-danger' }}">{{ canUserAccessMenu('tickets') ? 'SI' : 'NO' }}</span></li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h6>👤 User Role</h6>
|
|
<p>Ruolo corrente: <strong class="text-primary">{{ ucfirst(App\Helpers\MenuHelper::getCurrentUserRole()) }}</strong></p>
|
|
<p>Livello minimo Admin: <span class="badge {{ hasMinimumRole('amministratore') ? 'bg-success' : 'bg-warning' }}">{{ hasMinimumRole('amministratore') ? 'SI' : 'NO' }}</span></p>
|
|
<p>Livello minimo Collaboratore: <span class="badge {{ hasMinimumRole('collaboratore') ? 'bg-success' : 'bg-warning' }}">{{ hasMinimumRole('collaboratore') ? 'SI' : 'NO' }}</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Azioni --}}
|
|
<div class="mt-4">
|
|
<a href="{{ route('admin.dashboard') }}" class="btn btn-primary">
|
|
<i class="fas fa-home me-2"></i>Vai alla Dashboard
|
|
</a>
|
|
<button class="btn btn-secondary" onclick="location.reload()">
|
|
<i class="fas fa-sync me-2"></i>Ricarica Dati
|
|
</button>
|
|
<button class="btn btn-warning" onclick="clearCache()">
|
|
<i class="fas fa-trash me-2"></i>Pulisci Cache
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function clearCache() {
|
|
if (confirm('Sei sicuro di voler pulire la cache?')) {
|
|
fetch('/admin/clear-cache', { method: 'POST', headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' } })
|
|
.then(() => {
|
|
alert('Cache pulita con successo!');
|
|
location.reload();
|
|
})
|
|
.catch(() => alert('Errore durante la pulizia della cache'));
|
|
}
|
|
}
|
|
</script>
|
|
@endsection
|