From ed47d853758ca0814ebe8afbed125e039da27ced Mon Sep 17 00:00:00 2001 From: Flavio Barachino Date: Fri, 3 Oct 2025 11:41:07 +0200 Subject: [PATCH] Generazione delle basi per le relazioni della base degli affitti --- .../AnagraficaInquiliniController.php | 65 +++++++++++++++++ .../Controllers/CotrattiAffittiController.php | 71 +++++++++++++++++++ .../Controllers/TipoContrattoController.php | 65 +++++++++++++++++ app/Models/AnagraficaInquilini.php | 10 +++ app/Models/CotrattiAffitti.php | 14 ++++ app/Models/TipoContratto.php | 10 +++ config/adminlte.php | 2 +- ..._081937_create_cotratti_affittis_table.php | 38 ++++++++++ ...03_093033_create_tipo_contrattos_table.php | 27 +++++++ .../2025_10_03_093140_contratto_inquilino.php | 24 +++++++ ...220_create_anagrafica_inquilinis_table.php | 27 +++++++ .../views/affitti/contratti/index.blade.php | 46 ++++++++++++ routes/web.php | 14 ++-- 13 files changed, 405 insertions(+), 8 deletions(-) create mode 100644 app/Http/Controllers/AnagraficaInquiliniController.php create mode 100644 app/Http/Controllers/CotrattiAffittiController.php create mode 100644 app/Http/Controllers/TipoContrattoController.php create mode 100644 app/Models/AnagraficaInquilini.php create mode 100644 app/Models/CotrattiAffitti.php create mode 100644 app/Models/TipoContratto.php create mode 100644 database/migrations/2025_10_03_081937_create_cotratti_affittis_table.php create mode 100644 database/migrations/2025_10_03_093033_create_tipo_contrattos_table.php create mode 100644 database/migrations/2025_10_03_093140_contratto_inquilino.php create mode 100644 database/migrations/2025_10_03_093220_create_anagrafica_inquilinis_table.php create mode 100644 resources/views/affitti/contratti/index.blade.php diff --git a/app/Http/Controllers/AnagraficaInquiliniController.php b/app/Http/Controllers/AnagraficaInquiliniController.php new file mode 100644 index 0000000..0464c95 --- /dev/null +++ b/app/Http/Controllers/AnagraficaInquiliniController.php @@ -0,0 +1,65 @@ + CotrattiAffitti::all() + ]); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + return view('affitti.contratti.create',[ + 'immobili' => \App\Models\Immobili::all() + ]); + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + */ + public function show(CotrattiAffitti $cotrattiAffitti) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(CotrattiAffitti $cotrattiAffitti) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, CotrattiAffitti $cotrattiAffitti) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(CotrattiAffitti $cotrattiAffitti) + { + // + } +} diff --git a/app/Http/Controllers/TipoContrattoController.php b/app/Http/Controllers/TipoContrattoController.php new file mode 100644 index 0000000..c01e40b --- /dev/null +++ b/app/Http/Controllers/TipoContrattoController.php @@ -0,0 +1,65 @@ +belongsTo(Immobili::class, 'immobile_id'); + } +} diff --git a/app/Models/TipoContratto.php b/app/Models/TipoContratto.php new file mode 100644 index 0000000..19d71bc --- /dev/null +++ b/app/Models/TipoContratto.php @@ -0,0 +1,10 @@ + 'Contratti di locazione', - 'url' => 'admin/affitti/locazioni', + 'url' => 'admin/affitti/contratti', 'icon' => 'fas fa-fw fa-tags', 'can' => ['affitti'], ], diff --git a/database/migrations/2025_10_03_081937_create_cotratti_affittis_table.php b/database/migrations/2025_10_03_081937_create_cotratti_affittis_table.php new file mode 100644 index 0000000..fb5942d --- /dev/null +++ b/database/migrations/2025_10_03_081937_create_cotratti_affittis_table.php @@ -0,0 +1,38 @@ +id(); + $table->timestamps(); + $table->foreignId('immobile_id'); + $table->foreignId('tipo_contratto_id'); + $table->date('data_inizio')->nullable(); + $table->date('data_fine')->nullable(); + $table->unsignedTinyInteger('tacito_rinnovo'); + $table->string('canone_mensile')->nullable(); + $table->string('deposito_cauzionale')->nullable(); + $table->string('spese_condominiali')->nullable(); + $table->string('iva')->nullable(); + $table->string('registrazione')->nullable(); + $table->string('note')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('cotratti_affittis'); + } +}; diff --git a/database/migrations/2025_10_03_093033_create_tipo_contrattos_table.php b/database/migrations/2025_10_03_093033_create_tipo_contrattos_table.php new file mode 100644 index 0000000..64637fb --- /dev/null +++ b/database/migrations/2025_10_03_093033_create_tipo_contrattos_table.php @@ -0,0 +1,27 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('tipo_contrattos'); + } +}; diff --git a/database/migrations/2025_10_03_093140_contratto_inquilino.php b/database/migrations/2025_10_03_093140_contratto_inquilino.php new file mode 100644 index 0000000..88fa2f3 --- /dev/null +++ b/database/migrations/2025_10_03_093140_contratto_inquilino.php @@ -0,0 +1,24 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('anagrafica_inquilinis'); + } +}; diff --git a/resources/views/affitti/contratti/index.blade.php b/resources/views/affitti/contratti/index.blade.php new file mode 100644 index 0000000..f2dee02 --- /dev/null +++ b/resources/views/affitti/contratti/index.blade.php @@ -0,0 +1,46 @@ +@extends('adminlte::page') + +@section('title', 'Contratti Affitti') +@section('content_header') +

Contratti Affitti

+@stop + +@section('content') +
+ Crea Nuovo Contratto + + + + + + + + + + + + + + @foreach($contratti as $contratto) + + + + + + + + + + @endforeach + +
IDNomeDescrizioneImmobileData InizioData FineAzioni
{{ $contratto->id }}{{ $contratto->nome }}{{ $contratto->descrizione }}{{ $contratto->immobile ? $contratto->immobile->indirizzo : 'N/A' }}{{ $contratto->data_inizio }}{{ $contratto->data_fine }} + Visualizza + Modifica +
+ @csrf + @method('DELETE') + +
+
+
+@endsection diff --git a/routes/web.php b/routes/web.php index c34dada..f287399 100644 --- a/routes/web.php +++ b/routes/web.php @@ -263,13 +263,13 @@ Route::middleware([ Route::get('admin/affitti/associaContratto', [App\Http\Controllers\ImmobiliController::class,'associaContratto'])->name('affitti_contratti.associa'); // Cotratti - Route::get('admin/affitti/contratti', [App\Http\Controllers\ContrattiAffittiController::class,'index'])->name('contratti_affitti'); - Route::get('admin/affitti/contratti/create', [App\Http\Controllers\ContrattiAffittiController::class,'create'])->name('contratti_affitti.create'); - Route::post('admin/affitti/contratti', [App\Http\Controllers\ContrattiAffittiController::class,'store'])->name('contratti_affitti.store'); - Route::get('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\ContrattiAffittiController::class,'show'])->name('contratti_affitti.show'); - Route::get('admin/affitti/contratti/{contrattiAffitti}/edit', [App\Http\Controllers\ContrattiAffittiController::class,'edit'])->name('contratti_affitti.edit'); - Route::put('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\ContrattiAffittiController::class,'update'])->name('contratti_affitti.update'); - Route::delete('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\ContrattiAffittiController::class,'destroy'])->name('contratti_affitti'); + Route::get('admin/affitti/contratti', [App\Http\Controllers\CotrattiAffittiController::class,'index'])->name('contratti_affitti'); + Route::get('admin/affitti/contratti/create', [App\Http\Controllers\CotrattiAffittiController::class,'create'])->name('contratti_affitti.create'); + Route::post('admin/affitti/contratti', [App\Http\Controllers\CotrattiAffittiController::class,'store'])->name('contratti_affitti.store'); + Route::get('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\CotrattiAffittiController::class,'show'])->name('contratti_affitti.show'); + Route::get('admin/affitti/contratti/{contrattiAffitti}/edit', [App\Http\Controllers\CotrattiAffittiController::class,'edit'])->name('contratti_affitti.edit'); + Route::put('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\CotrattiAffittiController::class,'update'])->name('contratti_affitti.update'); + Route::delete('admin/affitti/contratti/{contrattiAffitti}', [App\Http\Controllers\CotrattiAffittiController::class,'destroy'])->name('contratti_affitti'); }); // API