160 lines
6.2 KiB
PHP
Executable File
160 lines
6.2 KiB
PHP
Executable File
@extends('admin.layouts.netgescon')
|
|
|
|
@section('title', 'Soggetti')
|
|
|
|
@section('breadcrumb')
|
|
<span>Rubrica</span> <i class="fas fa-chevron-right text-xs mx-2"></i> <span>Soggetti</span>
|
|
@endsection
|
|
|
|
@section('content')
|
|
<div class="px-6">
|
|
@include('components.layout.alerts')
|
|
|
|
<div class="netgescon-card">
|
|
<div class="p-3">
|
|
<h3 class="text-lg font-semibold"><i class="fas fa-users mr-2"></i> Elenco Soggetti</h3>
|
|
</div>
|
|
<div class="p-0">
|
|
<div class="p-3 text-slate-600">Pagina soggetti standardizzata. Implementazione elenco completa in un passaggio successivo.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
@extends('admin.layouts.netgescon')
|
|
|
|
@section('title', 'Gestione Soggetti')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
{{-- Header --}}
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<div>
|
|
<h1 class="h3 mb-0">
|
|
<i class="fas fa-users text-primary me-2"></i>
|
|
Gestione Soggetti
|
|
</h1>
|
|
<p class="text-muted mb-0">Gestione anagrafica soggetti del condominio</p>
|
|
</div>
|
|
<div>
|
|
<a href="{{ route('admin.soggetti.create') }}" class="btn btn-primary">
|
|
<i class="fas fa-plus me-1"></i>
|
|
Nuovo Soggetto
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- Tabella Soggetti --}}
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">
|
|
<i class="fas fa-list me-2"></i>
|
|
Elenco Soggetti
|
|
</h5>
|
|
</div>
|
|
<div class="card-body p-0">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover mb-0">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Nome / Ragione Sociale</th>
|
|
<th>Tipo</th>
|
|
<th>Email</th>
|
|
<th>Telefono</th>
|
|
<th>Azioni</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@forelse($soggetti as $soggetto)
|
|
<tr>
|
|
<td>{{ $soggetto->id }}</td>
|
|
<td>
|
|
<strong>{{ $soggetto->ragione_sociale ?: ($soggetto->nome . ' ' . $soggetto->cognome) }}</strong>
|
|
@if($soggetto->codice_fiscale)
|
|
<br><small class="text-muted">CF: {{ $soggetto->codice_fiscale }}</small>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
<span class="badge bg-primary">{{ ucfirst($soggetto->tipo ?? 'N/D') }}</span>
|
|
</td>
|
|
<td>{{ $soggetto->email ?: 'N/D' }}</td>
|
|
<td>{{ $soggetto->telefono ?: 'N/D' }}</td>
|
|
<td>
|
|
<div class="btn-group btn-group-sm">
|
|
<a href="{{ route('admin.soggetti.show', $soggetto) }}" class="btn btn-outline-info" title="Visualizza">
|
|
<i class="fas fa-eye"></i>
|
|
</a>
|
|
<a href="{{ route('admin.soggetti.edit', $soggetto) }}" class="btn btn-outline-warning" title="Modifica">
|
|
<i class="fas fa-edit"></i>
|
|
</a>
|
|
<button type="button" class="btn btn-outline-danger" onclick="eliminaSoggetto({{ $soggetto->id }})" title="Elimina">
|
|
<i class="fas fa-trash"></i>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@empty
|
|
<tr>
|
|
<td colspan="6" class="text-center py-4">
|
|
<div class="text-muted">
|
|
<i class="fas fa-inbox fa-2x mb-2"></i>
|
|
<p class="mb-0">Nessun soggetto trovato</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
@if($soggetti->hasPages())
|
|
<div class="card-footer">
|
|
{{ $soggetti->links() }}
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function eliminaSoggetto(id) {
|
|
Swal.fire({
|
|
title: 'Conferma eliminazione',
|
|
text: 'Sei sicuro di voler eliminare questo soggetto?',
|
|
icon: 'warning',
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#d33',
|
|
cancelButtonColor: '#3085d6',
|
|
confirmButtonText: 'Sì, elimina',
|
|
cancelButtonText: 'Annulla'
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
// Crea un form temporaneo per la cancellazione
|
|
const form = document.createElement('form');
|
|
form.method = 'POST';
|
|
form.action = `{{ route('admin.soggetti.index') }}/${id}`;
|
|
|
|
const csrfInput = document.createElement('input');
|
|
csrfInput.type = 'hidden';
|
|
csrfInput.name = '_token';
|
|
csrfInput.value = '{{ csrf_token() }}';
|
|
|
|
const methodInput = document.createElement('input');
|
|
methodInput.type = 'hidden';
|
|
methodInput.name = '_method';
|
|
methodInput.value = 'DELETE';
|
|
|
|
form.appendChild(csrfInput);
|
|
form.appendChild(methodInput);
|
|
document.body.appendChild(form);
|
|
form.submit();
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
@endsection
|