netgescon-day0/resources/views/admin/rubrica/edit.blade.php

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