215 lines
10 KiB
PHP
Executable File
215 lines
10 KiB
PHP
Executable File
@extends('admin.layouts.netgescon')
|
|
|
|
@section('page-title', 'Modifica Soggetto - Rubrica Unica')
|
|
|
|
@push('head')
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
@endpush
|
|
|
|
@section('content')
|
|
<div class="space-y-8 netgescon-fade-in">
|
|
<!-- Header -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center justify-between">
|
|
<div>
|
|
<h2 class="netgescon-title">
|
|
<i class="fas fa-user-edit text-blue-500 mr-3"></i>
|
|
Modifica Soggetto
|
|
</h2>
|
|
<p class="netgescon-text mt-2">
|
|
Aggiorna i dati anagrafici del soggetto
|
|
</p>
|
|
</div>
|
|
<div class="hidden md:block">
|
|
<a href="{{ route('admin.rubrica.index') }}" class="netgescon-btn netgescon-btn-secondary">
|
|
<i class="fas fa-arrow-left mr-2"></i>
|
|
Torna alla Rubrica
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Form di modifica -->
|
|
<div class="netgescon-card">
|
|
<form method="POST" action="{{ route('admin.rubrica.update', $soggetto) }}" class="space-y-6">
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
<!-- Tipo Soggetto -->
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">
|
|
Tipo Soggetto <span class="text-red-500">*</span>
|
|
</label>
|
|
<div class="flex space-x-4">
|
|
<label class="flex items-center">
|
|
<input type="radio" name="tipo" value="F"
|
|
{{ $soggetto->tipo == 'F' ? 'checked' : '' }}
|
|
class="mr-2" onchange="toggleTipoFields()">
|
|
<i class="fas fa-user mr-1"></i>
|
|
Persona Fisica
|
|
</label>
|
|
<label class="flex items-center">
|
|
<input type="radio" name="tipo" value="G"
|
|
{{ $soggetto->tipo == 'G' ? 'checked' : '' }}
|
|
class="mr-2" onchange="toggleTipoFields()">
|
|
<i class="fas fa-building mr-1"></i>
|
|
Persona Giuridica
|
|
</label>
|
|
</div>
|
|
@error('tipo')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- Campi Persona Fisica -->
|
|
<div id="persona-fisica-fields" class="{{ $soggetto->tipo == 'F' ? '' : 'hidden' }}">
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Nome</label>
|
|
<input type="text" name="nome" value="{{ old('nome', $soggetto->nome) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('nome')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Cognome</label>
|
|
<input type="text" name="cognome" value="{{ old('cognome', $soggetto->cognome) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('cognome')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Campi Persona Giuridica -->
|
|
<div id="persona-giuridica-fields" class="{{ $soggetto->tipo == 'G' ? '' : 'hidden' }}">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Ragione Sociale</label>
|
|
<input type="text" name="ragione_sociale" value="{{ old('ragione_sociale', $soggetto->ragione_sociale) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('ragione_sociale')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Codice Fiscale e Partita IVA -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Codice Fiscale</label>
|
|
<input type="text" name="codice_fiscale" value="{{ old('codice_fiscale', $soggetto->codice_fiscale) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('codice_fiscale')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Partita IVA</label>
|
|
<input type="text" name="partita_iva" value="{{ old('partita_iva', $soggetto->partita_iva) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('partita_iva')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Contatti -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Email</label>
|
|
<input type="email" name="email" value="{{ old('email', $soggetto->email) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('email')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Telefono</label>
|
|
<input type="text" name="telefono" value="{{ old('telefono', $soggetto->telefono) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('telefono')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Indirizzo -->
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Indirizzo</label>
|
|
<input type="text" name="indirizzo" value="{{ old('indirizzo', $soggetto->indirizzo) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('indirizzo')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<!-- CAP, Città, Provincia -->
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">CAP</label>
|
|
<input type="text" name="cap" value="{{ old('cap', $soggetto->cap) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('cap')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Città</label>
|
|
<input type="text" name="citta" value="{{ old('citta', $soggetto->citta) }}"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('citta')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium text-gray-700 mb-2">Provincia</label>
|
|
<input type="text" name="provincia" value="{{ old('provincia', $soggetto->provincia) }}"
|
|
maxlength="2" placeholder="ES: MI"
|
|
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent">
|
|
@error('provincia')
|
|
<p class="text-red-500 text-sm mt-1">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Pulsanti -->
|
|
<div class="flex justify-end space-x-3 pt-6 border-t border-gray-200">
|
|
<a href="{{ route('admin.rubrica.index') }}"
|
|
class="netgescon-btn netgescon-btn-secondary">
|
|
<i class="fas fa-times mr-2"></i>
|
|
Annulla
|
|
</a>
|
|
<button type="submit" class="netgescon-btn netgescon-btn-primary">
|
|
<i class="fas fa-save mr-2"></i>
|
|
Salva Modifiche
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function toggleTipoFields() {
|
|
const personaFisica = document.getElementById('persona-fisica-fields');
|
|
const personaGiuridica = document.getElementById('persona-giuridica-fields');
|
|
const tipoSelected = document.querySelector('input[name="tipo"]:checked').value;
|
|
|
|
if (tipoSelected === 'F') {
|
|
personaFisica.classList.remove('hidden');
|
|
personaGiuridica.classList.add('hidden');
|
|
} else {
|
|
personaFisica.classList.add('hidden');
|
|
personaGiuridica.classList.remove('hidden');
|
|
}
|
|
}
|
|
</script>
|
|
|
|
@endsection
|