Compare commits

..

No commits in common. "e842da1e1d69995b6498d1cc7fd89ae3a08755e5" and "bc769008b39cdc65196afe610b91f7036333a277" have entirely different histories.

42 changed files with 171 additions and 4554 deletions

View File

@ -1,65 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\AnagraficaInquilini;
use Illuminate\Http\Request;
class AnagraficaInquiliniController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(AnagraficaInquilini $anagraficaInquilini)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(AnagraficaInquilini $anagraficaInquilini)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, AnagraficaInquilini $anagraficaInquilini)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(AnagraficaInquilini $anagraficaInquilini)
{
//
}
}

View File

@ -1,95 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\CotrattiAffitti;
use Illuminate\Http\Request;
use Barryvdh\DomPDF\Facade\Pdf;
class CotrattiAffittiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
return view('affitti.contratti.index',[
'contratti' => 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)
{
//
$data = $request->validate([
'immobile_id' => 'required|exists:immobilis,id',
'tipo_contratto_id' => 'required|exists:tipo_contrattos,id',
'data_inizio' => 'nullable|date',
'data_fine' => 'nullable|date',
'tacito_rinnovo' => 'nullable|boolean',
'canone_mensile' => 'nullable|string|max:255',
'deposito_cauzionale' => 'nullable|string|max:255',
'spese_condominiali' => 'nullable|string|max:255',
'iva' => 'nullable|string|max:255',
'registrazione' => 'nullable|string|max:255',
'note' => 'nullable|string|max:1000',
]);
CotrattiAffitti::create($data);
return redirect()->route('contratti_affitti');
}
/**
* 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)
{
//
}
public function renderPdf(CotrattiAffitti $cotrattiAffitti)
{
//
$contratto=CotrattiAffitti::find($cotrattiAffitti->id);
$pdf = PDF::loadView('affitti.contratti.pdf', compact('contratto'));
return $pdf->download('contratto.pdf');
}
}

View File

@ -1,117 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\Immobili;
use Illuminate\Http\Request;
class ImmobiliController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
return view('affitti.immobili.index',[
'immobili' => Immobili::all()
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
return view('affitti.immobili.create');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
$data = $request->validate([
'indirizzo' => 'nullable|string|max:255',
'citta' => 'nullable|string|max:255',
'cap' => 'nullable|string|max:20',
'provincia' => 'nullable|string|max:255',
'nazione' => 'nullable|string|max:255',
'descrizione' => 'nullable|string|max:1000',
'categoria' => 'nullable|string|max:255',
'tipologia' => 'nullable|string|max:255',
'stato' => 'nullable|string|max:255',
'classe_energetica' => 'nullable|string|max:50',
'superficie' => 'nullable|string|max:50',
'vani' => 'nullable|string|max:50',
'bagni' => 'nullable|string|max:50',
'camere' => 'nullable|string|max:50',
'piano' => 'nullable|string|max:50',
'ascensore' => 'nullable|string|max:50',
'riscaldamento' => 'nullable|string|max:50',
'condizionatore' => 'nullable|string|max:50',
'giardino' => 'nullable|string|max:50',
'posto_auto' => 'nullable|string|max:50',
'garage' => 'nullable|string|max:50',
'balcone' => 'nullable|string|max:50',
'terrazzo' => 'nullable|string|max:50',
'cantina' => 'nullable|string|max:50',
'arredamento' => 'nullable|string|max:50',
'spese_condominiali' => 'nullable|string|max:100',
'anno_costruzione' => 'nullable|string|max:4',
'prezzo' => 'nullable|string|max:100',
'disponibilita' => 'nullable|string|max:255',
'note' => 'nullable|string|max:2000',
'fibra-ottica' => 'nullable|string|max:50',
'internet' => 'nullable|string|max:50',
]);
Immobili::create($data);
return redirect()->route('immobili')->with('success', 'Immobile creato con successo.');
}
/**
* Display the specified resource.
*/
public function show(Immobili $immobili)
{
//
$immobile=Immobili::find($immobili->id);
return view('affitti.immobili.show',compact('immobile'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit(Immobili $immobili)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Immobili $immobili)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Immobili $immobili)
{
//
$immobile=Immobili::find($immobili->id);
$immobile->delete();
return redirect()->route('immobili')->with('success', 'Immobile eliminato con successo.');
}
public function associaContratto(Immobili $immobili)
{
$immobile=Immobili::find($immobili);
return view('affitti.immobili.assegna-contratto',[compact('immobile'),'id'=>$immobili]);
}
}

View File

@ -119,9 +119,8 @@ class MovimentiController extends Controller
'Categoria'=>$movimento->Categoria,
'Tag'=>$movimento->Tag,
'Descrizione'=>$movimento->Descrizione,
'Importo_dare'=>$movimento->Importo_dare,
'Importo_avere'=>$movimento->Importo_avere,
// 'Conto'=>$movimento->Conto,
'Importo'=>$movimento->Importo,
'Conto'=>$movimento->Conto,
];
}
return (new FastExcel($lista))->download('movimenti_al_'.date('d-m-Y').'.xls');
@ -242,12 +241,20 @@ class MovimentiController extends Controller
->where('mov_fk_categoria', '=', $id)
->sum('mov_importo_avere');
// $movrow=DB::table('movimentis')
// ->whereMonth('mov_data','=',$i)
// ->whereYear('mov_data','=',$anno)
// ->where('mov_fk_categoria','=',$id)
// ->sum('mov_importo_dare')
// ->sum('mov_importo_avere');
$movrow = $importo_avere - $importo_dare;
$coll[]=$movrow;
$collx[]=$movrow;
}
//TEST
// dd($movrow);
// /TEST
$totale[]=array_sum($collx);
unset($collx);
}
@ -274,7 +281,7 @@ class MovimentiController extends Controller
$intestazione=['Categoria','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
$categorie=DB::table('categories')->orderBy('cat_name')->get();
/*foreach ($categorie as $categoria)
foreach ($categorie as $categoria)
{
$id=$categoria->id;
$ncategoria=$categoria->cat_name;
@ -291,34 +298,6 @@ class MovimentiController extends Controller
$row[]=array_combine($intestazione,array_merge(array($ncategoria),$coll));
unset($coll);
}*/
foreach ($categorie as $categoria)
{
$id=$categoria->id;
$ncategoria=$categoria->cat_name;
for ($i=1;$i<=12;$i++)
{
$importo_dare = DB::table('movimentis')
->whereMonth('mov_data', '=', $i)
->whereYear('mov_data', '=', $anno)
->where('mov_fk_categoria', '=', $id)
->sum('mov_importo_dare');
$importo_avere = DB::table('movimentis')
->whereMonth('mov_data', '=', $i)
->whereYear('mov_data', '=', $anno)
->where('mov_fk_categoria', '=', $id)
->sum('mov_importo_avere');
$movrow = $importo_avere - $importo_dare;
$coll[]=$movrow;
$collx[]=$movrow;
}
$totale[]=array_sum($collx);
$row[]=array_combine($intestazione,array_merge(array($ncategoria),$collx));
unset($collx);
}
return (new FastExcel($row))->download('report_al_'.date('d-m-Y').'.xls');
}
@ -351,7 +330,7 @@ class MovimentiController extends Controller
}
}
/* public function importEC_ING(Request $request)
public function importEC_ING(Request $request)
{
if ($request->hasFile('filename'))
{
@ -364,9 +343,9 @@ class MovimentiController extends Controller
return 'Nessun File trovato';
}
}*/
}
/* public function importEC_CR(Request $request)
public function importEC_CR(Request $request)
{
if ($request->hasFile('filename'))
{
@ -379,7 +358,7 @@ class MovimentiController extends Controller
return 'Nessun File trovato';
}
}*/
}
public function importGenericCsv(Request $request)
{

View File

@ -1,67 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\TipoContratto;
use Illuminate\Http\Request;
class TipoContrattoController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
// Tipo di contratto non ha una vista di indice definita
return view('tipo_contrattos.index');
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
return view('tipo_contrattos.create');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(TipoContratto $tipoContratto)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(TipoContratto $tipoContratto)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, TipoContratto $tipoContratto)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(TipoContratto $tipoContratto)
{
//
}
}

View File

@ -1,10 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class AnagraficaInquilini extends Model
{
//
}

View File

@ -1,14 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CotrattiAffitti extends Model
{
//
public function immobile()
{
return $this->belongsTo(Immobili::class, 'immobile_id');
}
}

View File

@ -12,33 +12,28 @@ class GenDoc extends Model
{
use HasFactory;
// DocumentiGenerali
public static function saveDocument($data){
// $filename = $data->file('filename')->store(self::getEntityFolder($data['entity']));
$file=$data->file('filename');
$filename = $file->hashName();
$path=self::getEntityFolder($data['entity'])."/";
$upload = Storage::put($path.$filename,$file);
$filename=$data->file('filename')->store(self::getEntityFolder($data['entity']));
DB::table('gen_docs')
->insert([
'entity'=>$data['entity'],
'entity_id'=>($data['entity_id'] ?? 1 ),
'entity_id'=>($data['entity_id'] ?? 0 ),
'descrizione'=>$data['descrizione'],
'filename'=>$path.$filename,
'filename'=>$filename,
]);
}
public static function listDocument($entity,$entity_id = 1)
public static function listDocument($entity,$entity_id = 0)
{
// Ritorna la lista dei documenti in base all'entità e al rispettivo id
return DB::table('gen_docs')->where('entity','=',$entity)->where('entity_id','=',$entity_id)->get();
//nuova funzione
return DB::table('gen_docs')->where('entity','=',$entity)->where('entity_id','=',$entity_id)->get(); //nuova funzione
// return DB::table('documentis')->where('movimenti_id','=', $entity_id)->get();
}
public static function countDocument($entity,$entity_id = 1){
public static function countDocument($entity,$entity_id = 0){
// Conta i documenti inseriti per la determinata entità e id
$quanti=DB::table('gen_docs')
->where('entity','=',$entity)

View File

@ -1,45 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Immobili extends Model
{
//
protected $table = 'immobilis';
protected $fillable = [
'indirizzo',
'citta',
'cap',
'provincia',
'nazione',
'descrizione',
'categoria',
'tipologia',
'stato',
'classe_energetica',
'superficie',
'vani',
'bagni',
'camere',
'piano',
'ascensore',
'riscaldamento',
'condizionatore',
'giardino',
'posto_auto',
'garage',
'balcone',
'terrazzo',
'cantina',
'arredamento',
'spese_condominiali',
'anno_costruzione',
'prezzo',
'disponibilita',
'note',
'fibra-ottica',
'internet',
];
}

View File

@ -32,7 +32,6 @@ class Movimenti extends Model
'import_hash',
];
/*
public static $query= 'SELECT
a.id,
a.mov_data,
@ -45,7 +44,6 @@ class Movimenti extends Model
FROM movimentis as a
JOIN tags as t ON a.mov_fk_tags=t.id
JOIN categories as c ON a.mov_fk_categoria=c.id';
*/
public function ContoDa()
{
@ -81,16 +79,11 @@ public function ContoA()
}
public static function getSaldo($date) {
$dare=DB::table('movimentis')->whereYear('mov_data','=',$date)->sum('mov_importo_dare');
$avere=DB::table('movimentis')->whereYear('mov_data','=',$date)->sum('mov_importo_avere');
return $dare-$avere;
return DB::table('movimentis')->whereYear('mov_data','=',$date)->sum('mov_importo');
}
public static function getSaldoTot() {
$importo_dare = DB::table('movimentis')->sum('mov_importo_dare');
$importo_avere = DB::table('movimentis')->sum('mov_importo_avere');
return $mov_importo=$importo_avere-$importo_dare;
return DB::table('movimentis')->sum('mov_importo');
}
public static function insSpesa( $request) {
@ -99,11 +92,11 @@ public function ContoA()
'mov_data'=>$request->mov_data,
'mov_fk_categoria'=>$request->mov_fk_categoria,
'mov_descrizione'=>$request->mov_descrizione,
'mov_importo_dare'=>$request->mov_importo,
'mov_importo'=>'-'.$request->mov_importo,
'mov_fk_tags'=>$request->mov_fk_tags,
'mov_inserito_da'=>$request->userid,
'conto_id_da'=>$request->conto_id_da,
'conto_id_a'=>$request->conto_id_a,
'conto_id'=>$request->conto_id,
// 'conto_id_da'=>$request->conto_id_da,
// 'conto_id_a'=>$request->conto_id_a,
]);
@ -134,12 +127,10 @@ public function ContoA()
'mov_data'=>$request['mov_data'],
'mov_fk_categoria'=>$request['mov_fk_categoria'],
'mov_descrizione'=>$request['mov_descrizione'],
'mov_importo_avere'=>$request['mov_importo'],
'mov_importo'=>$request['mov_importo'],
'mov_fk_tags'=>$request['mov_fk_tags'],
'mov_inserito_da'=>$request['userid'],
//'conto_id'=>$request->conto_id,
'conto_id_da'=>$request->conto_id_da,
'conto_id_a'=>$request->conto_id_a,
'conto_id'=>$request->conto_id,
]);
}
@ -147,22 +138,17 @@ public function ContoA()
return DB::table('movimentis')
->join('categories','movimentis.mov_fk_categoria','=','categories.id')
->join('tags','movimentis.mov_fk_tags','=','tags.id')
->selectRaw('
mov_data AS Data,
cat_name AS Categoria,
tag_name AS Tag,
mov_descrizione AS Descrizione,
mov_importo_dare AS Importo_dare,
mov_importo_avere AS Importo_avere')
->join('contos','movimentis.conto_id','=','contos.id')
->selectRaw('mov_data AS Data,cat_name AS Categoria,tag_name AS Tag,NomeConto AS Conto, mov_descrizione AS Descrizione,mov_importo AS Importo')
->orderBy('Data','asc')
->get();
}
public static function reportSpesa($year,$month) {
return DB::table('movimentis')
->selectRaw('ABS(Sum(movimentis.mov_importo_dare)) as resoconto, categories.cat_name,categories.id')
->selectRaw('ABS(Sum(movimentis.mov_importo)) as resoconto, categories.cat_name,categories.id')
->join('categories','movimentis.mov_fk_categoria','=','categories.id')
// ->where('mov_importo_','<',0)
->where('mov_importo','<',0)
->whereYear('mov_data',$year)
->whereMonth('mov_data',$month)
->groupBy('cat_name','categories.id')
@ -171,9 +157,9 @@ public function ContoA()
public static function reportEntrate($year,$month) {
return DB::table('movimentis')
->selectRaw('ABS(Sum(movimentis.mov_importo_avere)) as resoconto, categories.cat_name,categories.id')
->selectRaw('ABS(Sum(movimentis.mov_importo)) as resoconto, categories.cat_name,categories.id')
->join('categories','movimentis.mov_fk_categoria','=','categories.id')
//->where('mov_importo','>',0)
->where('mov_importo','>',0)
->whereYear('mov_data',$year)
->whereMonth('mov_data',$month)
->groupBy('cat_name','categories.id')
@ -210,6 +196,22 @@ public function ContoA()
public static function listByCatMonth($month,$cat,$year) {
// $expression= DB::raw('SELECT
// a.id,
// a.mov_data,
// a.mov_importo_dare,
// a.mov_importo_avere,
// a.mov_descrizione,
// c.cat_name,
// t.tag_name,
// (SELECT Count(entity_id) as quanti FROM gen_docs WHERE entity=0 AND entity_id = a.id) as quanti
// FROM movimentis as a
// JOIN tags as t ON a.mov_fk_tags=t.id
// JOIN categories as c ON a.mov_fk_categoria=c.id
// WHERE Month(a.mov_data)='.$month.' AND Year(a.mov_data)='.$year.' AND a.mov_fk_categoria='.$cat
// );
// $query = $expression->getValue(DB::connection()->getQueryGrammar());
// return DB::select($query);
return self::with(['Tags', 'Categorie'])
->whereMonth('mov_data', $month)
->whereYear('mov_data', $year)
@ -219,6 +221,21 @@ public function ContoA()
public static function listByCategory($cat) {
// $expression=DB::raw(' SELECT a.id,
// a.mov_data,
// a.mov_importo_dare,
// a.mov_importo_avere,
// a.mov_descrizione,
// c.cat_name,
// t.tag_name,
// (SELECT Count(entity_id) as quanti FROM gen_docs WHERE entity=0 AND entity_id = a.id) as quanti
// FROM movimentis as a
// JOIN tags as t ON a.mov_fk_tags=t.id
// JOIN categories as c ON a.mov_fk_categoria=c.id
// WHERE a.mov_fk_categoria = '.$cat );
// $query = $expression->getValue(DB::connection()->getQueryGrammar());
// return DB::select($query);
return self::with(['Tags', 'Categorie'])
->where('mov_fk_categoria', $cat)
->get();
@ -408,7 +425,7 @@ public function ContoA()
// Ritorna gli anni presenti nei movimenti
public static function getYearsFromMovimenti()
{
if (env('DB_CONNECTION')!='sqlite') {
if (env('DB_CONNECTION')=='mysql') {
return self::selectRaw('DISTINCT YEAR(mov_data) as anno')
->orderBy('anno', 'desc')
->get();
@ -460,10 +477,4 @@ public function ContoA()
return $importo;
}
public static function getDocumentiByMovimento($id)
{
$documenti = \App\Models\GenDoc::where('entity_id','=',$id)->count();
return $documenti;
}
}

View File

@ -1,10 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class TipoContratto extends Model
{
//
}

View File

@ -3,7 +3,6 @@
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\URL;
class AppServiceProvider extends ServiceProvider
{
@ -21,6 +20,5 @@ class AppServiceProvider extends ServiceProvider
public function boot(): void
{
//
URL::forceScheme('https');
}
}

View File

@ -7,7 +7,6 @@
"license": "MIT",
"require": {
"php": "^8.2",
"barryvdh/laravel-dompdf": "^3.1",
"dompdf/dompdf": "^3.1",
"jeroennoten/laravel-adminlte": "*",
"laravel/framework": "^12.0",

83
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "b9191d246ae95843fd5b0ec2a810cfc7",
"content-hash": "ddebac8f1beada895d0d5ce36fc77d5a",
"packages": [
{
"name": "almasaeed2010/adminlte",
@ -49,83 +49,6 @@
},
"time": "2022-02-07T20:33:09+00:00"
},
{
"name": "barryvdh/laravel-dompdf",
"version": "v3.1.1",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-dompdf.git",
"reference": "8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d",
"reference": "8e71b99fc53bb8eb77f316c3c452dd74ab7cb25d",
"shasum": ""
},
"require": {
"dompdf/dompdf": "^3.0",
"illuminate/support": "^9|^10|^11|^12",
"php": "^8.1"
},
"require-dev": {
"larastan/larastan": "^2.7|^3.0",
"orchestra/testbench": "^7|^8|^9|^10",
"phpro/grumphp": "^2.5",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"laravel": {
"aliases": {
"PDF": "Barryvdh\\DomPDF\\Facade\\Pdf",
"Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf"
},
"providers": [
"Barryvdh\\DomPDF\\ServiceProvider"
]
},
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"psr-4": {
"Barryvdh\\DomPDF\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "A DOMPDF Wrapper for Laravel",
"keywords": [
"dompdf",
"laravel",
"pdf"
],
"support": {
"issues": "https://github.com/barryvdh/laravel-dompdf/issues",
"source": "https://github.com/barryvdh/laravel-dompdf/tree/v3.1.1"
},
"funding": [
{
"url": "https://fruitcake.nl",
"type": "custom"
},
{
"url": "https://github.com/barryvdh",
"type": "github"
}
],
"time": "2025-02-13T15:07:54+00:00"
},
{
"name": "brick/math",
"version": "0.13.1",
@ -9340,12 +9263,12 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.2"
},
"platform-dev": [],
"platform-dev": {},
"plugin-api-version": "2.6.0"
}

View File

@ -375,14 +375,14 @@ return [
'text' => 'Esporta tutti i movimenti',
'route' => 'export',
],
/*[
[
'text' => 'Importa Estratto conto ING',
'route' => 'importING',
],
[
'text' => 'Importa Estratto conto Cassa Rurale',
'route' => 'importCR',
],*/
],
[
'text' => 'Importa Generic CSV',
'route' => 'importGen',
@ -428,42 +428,7 @@ return [
'icon' => 'fas fa-fw fa-car',
'can' => ['automobili'],
],
[ 'text' => 'Affitti',
'url' => '#',
'icon' => 'fas fa-fw fa-home',
'submenu' => [
[
'text' => 'Immobili',
'url' => 'admin/affitti/immobili',
'icon' => 'fas fa-fw fa-wine-bottle',
'can' => ['affitti'],
],
[
'text' => 'Contratti di locazione',
'url' => 'admin/affitti/contratti',
'icon' => 'fas fa-fw fa-tags',
'can' => ['affitti'],
],
[
'text' => 'Scadenze',
'url' => 'admin/affitti/scadenze',
'icon' => 'fas fa-fw fa-wallet',
'can' => ['affitti'],
],
[
'text' => 'Spese condominiali',
'url' => 'admin/affitti/spese',
'icon' => 'fas fa-fw fa-tags',
'can' => ['affitti'],
],
[
'text' => 'Ripartizione spese',
'url' => 'admin/affitti/ripartizioni',
'icon' => 'fas fa-fw fa-wallet',
'can' => ['affitti'],
],
],
],
['header' => 'GESTIONE PIM',
'can' => ['contatti','tasks','appuntamenti','meetingroom'],
],

View File

@ -13,7 +13,7 @@ return [
|
*/
'default' => env('FILESYSTEM_DISK', 'public'),
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,123 +0,0 @@
INSERT INTO categories VALUES(1,NULL,NULL,'Da Selezionare',1,1);
INSERT INTO categories VALUES(2,NULL,NULL,'Stipendio',1,0);
INSERT INTO categories VALUES(3,NULL,NULL,'Automobili',0,1);
INSERT INTO categories VALUES(4,NULL,NULL,'Alimentari',0,1);
INSERT INTO categories VALUES(5,NULL,NULL,'Utenze',0,1);
INSERT INTO categories VALUES(6,NULL,NULL,'Acquisti Online',0,1);
INSERT INTO categories VALUES(7,NULL,NULL,'Vizi',0,1);
INSERT INTO categories VALUES(8,NULL,NULL,'Ristoranti',0,1);
INSERT INTO categories VALUES(9,NULL,NULL,'Caffè',0,1);
INSERT INTO categories VALUES(10,NULL,NULL,'Assegno Unico',1,0);
INSERT INTO categories VALUES(11,NULL,NULL,'Affitto',1,0);
INSERT INTO categories VALUES(12,NULL,NULL,'Condominio',0,1);
INSERT INTO categories VALUES(13,NULL,NULL,'Casalinghi',0,1);
INSERT INTO categories VALUES(14,NULL,NULL,'Beneficenza / offerte',0,1);
INSERT INTO categories VALUES(15,NULL,NULL,'Divertimento / cultura',0,1);
INSERT INTO categories VALUES(16,NULL,NULL,'Farmacie/sanità',0,1);
INSERT INTO categories VALUES(17,NULL,NULL,'Prelievo contanti',0,1);
INSERT INTO categories VALUES(18,NULL,NULL,'Giroconto',1,1);
INSERT INTO categories VALUES(19,NULL,NULL,'Abbigliamento',0,1);
INSERT INTO categories VALUES(20,NULL,NULL,'Spese Bancarie',0,1);
INSERT INTO categories VALUES(21,NULL,NULL,'Vacanze',0,1);
INSERT INTO categories VALUES(22,'2025-09-05 09:39:44','2025-09-05 09:39:44','Rimborsi',0,0);
INSERT INTO categories VALUES(23,'2025-09-05 10:02:48','2025-09-05 10:02:48','RIcarica Satispay',0,1);
INSERT INTO categories VALUES(24,'2025-09-05 13:51:53','2025-09-05 13:51:53','Benessere e bellezza',0,0);
INSERT INTO import_rules VALUES(1,'2025-08-07 05:55:04','2025-08-07 05:55:04','Dolomiti Energia',5,'Utenze Dolomiti Energia',1,NULL);
INSERT INTO import_rules VALUES(2,'2025-08-07 06:23:20','2025-08-07 06:23:20','Google',7,'Giochi playstore',1,NULL);
INSERT INTO import_rules VALUES(3,'2025-08-07 06:23:41','2025-08-07 06:23:41','AMZN',6,'Acquisti Online',1,NULL);
INSERT INTO import_rules VALUES(4,'2025-08-07 06:24:09','2025-08-07 06:24:09','tabaccheria',7,'Tabacchi',1,NULL);
INSERT INTO import_rules VALUES(5,'2025-08-07 06:28:09','2025-08-07 06:28:09','STIPENDIO',2,'Stipendio',1,NULL);
INSERT INTO import_rules VALUES(6,'2025-08-07 06:44:39','2025-08-07 06:44:39','ILIAD',5,'ILIAD Utenze',1,NULL);
INSERT INTO import_rules VALUES(7,'2025-08-07 06:45:07','2025-08-07 06:45:07','Aruba',5,'Aruba - Utenze',1,NULL);
INSERT INTO import_rules VALUES(8,'2025-08-07 06:45:42','2025-08-07 06:45:42','panorama',8,'Panorama - Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(9,'2025-08-07 06:46:09','2025-08-07 06:46:09','hope valley',8,'Hope Valley Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(10,'2025-08-07 06:46:41','2025-08-07 06:46:41','PayPal',6,'PayPal acquisti online',1,NULL);
INSERT INTO import_rules VALUES(11,'2025-08-07 06:47:18','2025-08-07 06:47:18','Assegno unico',10,'Assegno unico',1,NULL);
INSERT INTO import_rules VALUES(12,'2025-08-07 06:47:43','2025-08-07 06:47:43','Eurobrico',13,'Eurobrico casalinghi',1,NULL);
INSERT INTO import_rules VALUES(13,'2025-08-07 06:48:09','2025-08-07 06:48:09','telethon',14,'Telethon offerte/beneficenza',1,NULL);
INSERT INTO import_rules VALUES(14,'2025-08-07 06:48:43','2025-08-07 06:48:43','audible',15,'audible divertimento/cultura',1,NULL);
INSERT INTO import_rules VALUES(15,'2025-08-07 06:49:19','2025-08-07 06:49:19','Amazon.it',6,'Amazon.it Acquisti online',1,NULL);
INSERT INTO import_rules VALUES(16,'2025-08-07 06:50:13','2025-08-07 06:50:13','carlogomme',3,'Carlogomme - Automobile',1,NULL);
INSERT INTO import_rules VALUES(17,'2025-08-07 06:50:57','2025-08-07 06:50:57','farmacia',16,'Farmacie - farmacia/sanità',1,NULL);
INSERT INTO import_rules VALUES(18,'2025-08-07 06:51:19','2025-08-07 06:51:19','orvea',4,'supermercati',1,NULL);
INSERT INTO import_rules VALUES(19,'2025-08-07 06:51:42','2025-08-07 06:51:42','aldi',4,'Alimentari Aldi',1,NULL);
INSERT INTO import_rules VALUES(20,'2025-08-07 06:52:00','2025-08-07 06:52:00','coop',4,'Coop',1,NULL);
INSERT INTO import_rules VALUES(21,'2025-08-07 06:52:23','2025-08-07 06:52:23','Poli',4,'Poli Alimentari',1,NULL);
INSERT INTO import_rules VALUES(22,'2025-08-07 06:53:41','2025-08-07 06:53:41','telepedaggio',3,'telepedaggio automobili',1,NULL);
INSERT INTO import_rules VALUES(23,'2025-08-07 06:54:05','2025-08-07 06:54:05','castini',11,'Castini - Affitto',1,NULL);
INSERT INTO import_rules VALUES(24,'2025-08-07 09:09:52','2025-08-07 09:09:52','ENERGY',3,'Rifornimento Automobili',1,NULL);
INSERT INTO import_rules VALUES(25,'2025-08-07 09:10:14','2025-08-07 09:10:14','ENI',3,'Eni Rifornimento',1,NULL);
INSERT INTO import_rules VALUES(26,'2025-08-07 09:10:33','2025-08-07 09:10:33','Petroli',3,'Nord petroli',1,NULL);
INSERT INTO import_rules VALUES(27,'2025-08-07 09:12:26','2025-08-07 09:12:26','Amazon',6,'Amazon',1,NULL);
INSERT INTO import_rules VALUES(28,'2025-08-07 09:12:46','2025-08-07 09:12:46','decathlon',6,'Decathlon',1,NULL);
INSERT INTO import_rules VALUES(29,'2025-09-05 08:30:10','2025-09-05 08:30:10','Riva dei Pini',21,'Vacanze presso Riva dei Pini',1,NULL);
INSERT INTO import_rules VALUES(30,'2025-09-05 09:41:02','2025-09-05 09:41:02','RIMBORSO FONDO SANITARIO SANIFONDS',22,'Rimborsi da fondo Sanitario',1,NULL);
INSERT INTO import_rules VALUES(31,'2025-09-05 09:47:24','2025-09-05 09:47:24','Prelievo carta del',17,'Prelievo in contanti',1,NULL);
INSERT INTO import_rules VALUES(32,'2025-09-05 11:23:40','2025-09-05 11:23:40','ristorante',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(33,'2025-09-05 11:23:58','2025-09-05 11:23:58','pizzeria',8,'Pizzeria',1,NULL);
INSERT INTO import_rules VALUES(34,'2025-09-05 11:24:51','2025-09-05 11:24:51','tamaoil',3,'Rifornimento',1,NULL);
INSERT INTO import_rules VALUES(35,'2025-09-05 11:25:14','2025-09-05 11:25:14','ospedale',16,'Ospedali',1,NULL);
INSERT INTO import_rules VALUES(36,'2025-09-05 11:25:34','2025-09-05 11:25:34','residence',21,'Residence',1,NULL);
INSERT INTO import_rules VALUES(37,'2025-09-05 11:25:57','2025-09-05 11:25:57','Ascolta la natura',21,'Vacanze',1,NULL);
INSERT INTO import_rules VALUES(38,'2025-09-05 11:40:36','2025-09-05 11:40:36','Satispay',23,'Ricariche Satispay',1,NULL);
INSERT INTO import_rules VALUES(39,'2025-09-05 12:49:04','2025-09-05 12:49:04','FINSTRAL',2,'Stipendio Flavio',1,NULL);
INSERT INTO import_rules VALUES(40,'2025-09-05 13:35:27','2025-09-05 13:35:27','grillo',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(41,'2025-09-05 13:35:50','2025-09-05 13:35:50','papillon',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(42,'2025-09-05 13:36:18','2025-09-05 13:36:18','giardini di mavi',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(43,'2025-09-05 13:36:33','2025-09-05 13:36:33','food',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(44,'2025-09-05 13:37:41','2025-09-05 13:37:41','rimborso',22,'Rimborsi',1,NULL);
INSERT INTO import_rules VALUES(45,'2025-09-05 13:38:06','2025-09-05 13:38:06','giroconto',18,'Giroconto',1,NULL);
INSERT INTO import_rules VALUES(46,'2025-09-05 13:38:31','2025-09-05 13:38:31','parrocchia',14,'Parrocchia',1,NULL);
INSERT INTO import_rules VALUES(47,'2025-09-05 13:39:46','2025-09-05 13:39:46','CONDOMINIO',12,'CONDOMINIO',1,NULL);
INSERT INTO import_rules VALUES(48,'2025-09-05 13:40:24','2025-09-05 13:40:24','CADDY',13,'CADDY',1,NULL);
INSERT INTO import_rules VALUES(49,'2025-09-05 13:49:34','2025-09-05 13:49:34','eurospin',4,'Supermercati',1,NULL);
INSERT INTO import_rules VALUES(50,'2025-09-05 13:50:11','2025-09-05 13:50:11','CIRCOLO TENNIS BORGO',21,'Vacanze GIulio',1,NULL);
INSERT INTO import_rules VALUES(51,'2025-09-05 13:50:38','2025-09-05 13:50:38','FEDERAZIONE PROVINCIALE',4,'Alimentari',1,NULL);
INSERT INTO import_rules VALUES(52,'2025-09-05 13:51:07','2025-09-05 13:51:07','SCI CLUB VAL CAMPELLE',15,'Sport Giulio',1,NULL);
INSERT INTO import_rules VALUES(53,'2025-09-05 13:52:54','2025-09-05 13:52:54','ARTE'' DA SILVIA',24,'Benessere',1,NULL);
INSERT INTO import_rules VALUES(54,'2025-09-05 13:53:17','2025-09-05 13:53:17','ASL AZIENDA',16,'salute',1,NULL);
INSERT INTO import_rules VALUES(55,'2025-09-05 13:53:32','2025-09-05 13:53:32','CASEIFICIO',4,'CASEIFICIO',1,NULL);
INSERT INTO import_rules VALUES(56,'2025-09-05 13:53:57','2025-09-05 13:53:57','bauexpert',13,'casalinghi',1,NULL);
INSERT INTO import_rules VALUES(57,'2025-09-05 13:54:27','2025-09-05 13:54:27','Commissioni',20,'Commissioni',1,NULL);
INSERT INTO import_rules VALUES(58,'2025-09-05 13:54:47','2025-09-05 13:54:47','Imposte',20,'Imposte',1,NULL);
INSERT INTO import_rules VALUES(59,'2025-09-05 13:55:06','2025-09-05 13:55:06','L''IMMAGINE DI MICHELI',24,'L''IMMAGINE DI MICHELI',1,NULL);
INSERT INTO import_rules VALUES(60,'2025-09-05 13:55:22','2025-09-05 13:55:22','CAD BORGO',13,'CAD BORGO',1,NULL);
INSERT INTO import_rules VALUES(61,'2025-09-05 13:55:52','2025-09-05 13:55:52','FOTO OTTICA TRINTINAGLIA',13,'FOTO OTTICA TRINTINAGLIA',1,NULL);
INSERT INTO import_rules VALUES(62,'2025-09-05 13:56:10','2025-09-05 13:56:10','TENGFA',13,'TENGFA',1,NULL);
INSERT INTO import_rules VALUES(63,'2025-09-05 13:56:31','2025-09-05 13:56:31','VULCANO',19,'VULCANO',1,NULL);
INSERT INTO import_rules VALUES(64,'2025-09-05 13:56:50','2025-09-05 13:56:50','Associazione Ecomuseo',21,'Associazione Ecomuseo',1,NULL);
INSERT INTO import_rules VALUES(65,'2025-09-05 13:57:16','2025-09-05 13:57:16','CARZAIA360',15,'CARZAIA360',1,NULL);
INSERT INTO import_rules VALUES(66,'2025-09-05 13:57:36','2025-09-05 13:57:36','STUDIO DENTISTICO',16,'STUDIO DENTISTICO',1,NULL);
INSERT INTO import_rules VALUES(67,'2025-09-25 18:04:05','2025-09-25 18:04:05','Canone mensile Carta di Credito',20,'Spese per carta di credito',1,NULL);
INSERT INTO import_rules VALUES(68,'2025-09-25 18:06:20','2025-09-25 18:06:20','Gardaland',15,'Gardaland e parchi giochi',1,NULL);
INSERT INTO import_rules VALUES(69,'2025-09-25 18:07:28','2025-09-25 18:07:28','TRENTO SUD',3,'Casello Trento Sud',1,NULL);
INSERT INTO import_rules VALUES(70,'2025-09-25 18:08:22','2025-09-25 18:08:22','BARAONDA',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(71,'2025-09-25 18:09:08','2025-09-25 18:09:08','TAMOIL',3,'Distributore',1,NULL);
INSERT INTO import_rules VALUES(72,'2025-09-25 18:10:35','2025-09-25 18:10:35','CASELLO AUT.',3,'Autostrade',1,NULL);
INSERT INTO import_rules VALUES(73,'2025-09-25 18:11:27','2025-09-25 18:11:27','ASPIT',3,'Pedaggi autostradali',1,NULL);
INSERT INTO import_rules VALUES(74,'2025-09-25 18:12:18','2025-09-25 18:12:18','CONAD',4,'Conad',1,NULL);
INSERT INTO import_rules VALUES(75,'2025-09-25 18:13:01','2025-09-25 18:13:01','CAPPELLO LORENZO & C.',13,'Elettricità',1,NULL);
INSERT INTO import_rules VALUES(76,'2025-09-25 18:14:45','2025-09-25 18:14:45','OTTICA',16,'OTTIC',1,NULL);
INSERT INTO import_rules VALUES(77,'2025-09-25 18:16:06','2025-09-25 18:16:06','OSTERIA',8,'Osterie e ristoranti',1,NULL);
INSERT INTO import_rules VALUES(78,'2025-09-25 18:17:31','2025-09-25 18:17:31','RARINANTES VALSUGANA',15,'Piscina',1,NULL);
INSERT INTO import_rules VALUES(79,'2025-09-25 18:22:54','2025-09-25 18:22:54','TEX MEX',8,'TexMex',1,NULL);
INSERT INTO import_rules VALUES(80,'2025-09-25 18:23:36','2025-09-25 18:23:36',' SPV SPA',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(82,'2025-09-25 18:27:37','2025-09-25 18:27:37','BRICK SHOW SRL',15,'MOSTRA di MATTONCINI LEGO - VENEZIA',1,NULL);
INSERT INTO import_rules VALUES(83,'2025-09-25 18:29:12','2025-09-25 18:29:12','MAGAZZINI GABRIELLI',4,'SUpermercato Girasole Fermo',1,NULL);
INSERT INTO import_rules VALUES(84,'2025-09-25 18:30:01','2025-09-25 18:30:01','BSPDV VALDASTICO',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(85,'2025-09-25 18:30:57','2025-09-25 18:30:57','GELATERIA',8,'Gelaterie Bar',1,NULL);
INSERT INTO import_rules VALUES(86,'2025-09-25 18:31:50','2025-09-25 18:31:50','ARAGOSTA CAPRICCIOSA',8,'Ristorante Lido di Fermo',1,NULL);
INSERT INTO import_rules VALUES(87,'2025-09-25 18:33:10','2025-09-25 18:33:10','SUPERSTRADA PEDEMONTAN',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(88,'2025-09-25 18:34:18','2025-09-25 18:34:18','SUPER.TOSANO',4,'Supermercato TOSANO',1,NULL);
INSERT INTO import_rules VALUES(89,'2025-09-25 18:35:02','2025-09-25 18:35:02','LA PINETA',8,'Ristorante Marche',1,NULL);
INSERT INTO import_rules VALUES(90,'2025-09-25 18:35:45','2025-09-25 18:35:45','IPMATIC',3,'Distributore',1,NULL);
INSERT INTO import_rules VALUES(91,'2025-09-25 18:36:43','2025-09-25 18:36:43','TRENTO NORD',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(92,'2025-09-25 18:37:33','2025-09-25 18:37:33','PARCHEGGIO',3,'Parcheggi',1,NULL);
INSERT INTO import_rules VALUES(93,'2025-09-25 18:38:30','2025-09-25 18:38:30','Marienklinik',16,'Clinica',1,NULL);
INSERT INTO import_rules VALUES(94,'2025-09-25 19:04:27','2025-09-25 19:04:27','RIFIUTI',5,'Rifiuti',1,NULL);
INSERT INTO import_rules VALUES(95,'2025-09-25 19:05:26','2025-09-25 19:05:26','LAVALSUGANA SRL',3,'Patente',1,NULL);
INSERT INTO import_rules VALUES(96,'2025-09-25 19:06:11','2025-09-25 19:06:11','ASS.COORD.TEATR.TRENTI',15,'Teatro',1,NULL);
INSERT INTO import_rules VALUES(97,'2025-09-25 19:07:12','2025-09-25 19:07:12','Floricoltura Capello M',13,'GIardinaggio',1,NULL);
INSERT INTO import_rules VALUES(98,'2025-09-25 19:13:16','2025-09-25 19:13:16','SAV SCORTE AGRARIE SRL',13,'Giardinaggio',1,NULL);
INSERT INTO import_rules VALUES(99,'2025-09-25 19:14:32','2025-09-25 19:14:32','AUTOGRILL',8,'Autogrill',1,NULL);
INSERT INTO import_rules VALUES(100,'2025-09-25 19:15:44','2025-09-25 19:15:44','BAR ',8,'Bar/Ristoranti',1,NULL);

View File

@ -20,8 +20,8 @@ class CreateMovimentisTable extends Migration
$table->unsignedBigInteger('mov_fk_categoria');
$table->foreign('mov_fk_categoria')->references('id')->on('categories');
$table->longText('mov_descrizione');
$table->decimal('mov_importo_dare',8,2)->nullable()->default(0.00);
$table->decimal('mov_importo_avere',8,2)->nullable()->default(0.00);
$table->decimal('mov_importo_dare',8,2)->nullable();
$table->decimal('mov_importo_avere',8,2)->nullable();
$table->unsignedBigInteger('mov_inserito_da');
$table->foreign('mov_inserito_da')->references('id')->on('users');
$table->unsignedBigInteger('mov_fk_tags');

View File

@ -1,66 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('immobilis', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('nome')->unique();
$table->string('indirizzo')->nullable();
$table->string('civico')->nullable();
$table->string('citta')->nullable();
$table->string('cap')->nullable();
$table->string('provincia')->nullable();
$table->string('nazione')->nullable();
$table->string('descrizione')->nullable();
$table->string('categoria')->nullable();
$table->string('tipologia')->nullable();
$table->string('stato')->nullable();
$table->string('classe_energetica')->nullable();
$table->string('superficie')->nullable();
$table->string('vani')->nullable();
$table->string('bagni')->nullable();
$table->string('camere')->nullable();
$table->string('piano')->nullable();
$table->string('ascensore')->nullable();
$table->string('riscaldamento')->nullable();
$table->string('condizionatore')->nullable();
$table->string('giardino')->nullable();
$table->string('posto_auto')->nullable();
$table->string('garage')->nullable();
$table->string('balcone')->nullable();
$table->string('terrazzo')->nullable();
$table->string('cantina')->nullable();
$table->string('arredamento')->nullable();
$table->string('spese_condominiali')->nullable();
$table->string('anno_costruzione')->nullable();
$table->string('prezzo')->nullable();
$table->string('disponibilita')->nullable();
$table->string('note')->nullable();
$table->string('fibra-ottica')->nullable();
$table->string('internet')->nullable();
$table->string('catasto_n')->nullable();
$table->string('cat_foglio')->nullable();
$table->string('cat_particella')->nullable();
$table->string('cat_sub')->nullable();
$table->string('cat_cat')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('immobilis');
}
};

View File

@ -1,38 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('cotratti_affittis', function (Blueprint $table) {
$table->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');
}
};

View File

@ -1,30 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('tipo_contrattos', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('nome')->nullable();
$table->string('descrizione')->nullable();
$table->longText('template')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('tipo_contrattos');
}
};

View File

@ -1,31 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
//
Schema::create('cotratto_inquilino', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->foreignId('contratto_id');
$table->foreignId('inquilino_id');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
//
Schema::dropIfExists('cotratto_inquilino');
}
};

View File

@ -1,27 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('anagrafica_inquilinis', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('anagrafica_inquilinis');
}
};

View File

@ -14,35 +14,39 @@ class CategorieSeeder extends Seeder
*/
public function run()
{
// Inserisce le categorie necessarie in un'unica chiamata
DB::table('categories')->insert([
['cat_name' => 'Da Selezionare', 'cat_uscita' => 1, 'cat_entrata' => 1],
['cat_name' => 'Stipendio', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Automobili', 'cat_uscita' => 1, 'cat_entrata' => 0],
['cat_name' => 'Alimentari', 'cat_uscita' => 1, 'cat_entrata' => 0],
['cat_name' => 'Utenze', 'cat_uscita' => 1, 'cat_entrata' => 0],
['cat_name' => 'Acquisti Online', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Vizi', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Ristoranti', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Caffè', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Assegno Unico', 'cat_uscita' => 1, 'cat_entrata' => 0],
['cat_name' => 'Affitto', 'cat_uscita' => 1, 'cat_entrata' => 0],
['cat_name' => 'Condominio', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Casalinghi', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Beneficenza / offerte', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Divertimento / cultura', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Farmacie/sanità', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Prelievo contanti', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Giroconto', 'cat_uscita' => 1, 'cat_entrata' => 1],
['cat_name' => 'Abbigliamento', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Spese Bancarie', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Vacanze', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Rimborsi', 'cat_uscita' => 0, 'cat_entrata' => 0],
['cat_name' => 'RIcarica Satispay', 'cat_uscita' => 0, 'cat_entrata' => 1],
['cat_name' => 'Benessere e bellezza', 'cat_uscita' => 0, 'cat_entrata' => 0],
]);
// Inserisce le categorie necessarie
DB::table('categories')->insert(
[
'cat_name'=>'Da Selezionare',
'cat_uscita'=>1,
'cat_entrata'=>1,
]
);
DB::table('categories')->insert(
[
'cat_name'=>'Stipendio',
'cat_uscita'=>0,
'cat_entrata'=>1]
);
DB::table('categories')->insert(
[
'cat_name'=>'Automobili',
'cat_uscita'=>1,
'cat_entrata'=>0]
);
DB::table('categories')->insert(
[
'cat_name'=>'Alimentari',
'cat_uscita'=>1,
'cat_entrata'=>0,
]
);
DB::table('categories')->insert(
[
'cat_name'=>'Utenze',
'cat_uscita'=>1,
'cat_entrata'=>0,
]
);
}
}

View File

@ -1,100 +0,0 @@
Use database;
INSERT INTO import_rules VALUES(1,'2025-08-07 05:55:04','2025-08-07 05:55:04','Dolomiti Energia',5,'Utenze Dolomiti Energia',1,NULL);
INSERT INTO import_rules VALUES(2,'2025-08-07 06:23:20','2025-08-07 06:23:20','Google',7,'Giochi playstore',1,NULL);
INSERT INTO import_rules VALUES(3,'2025-08-07 06:23:41','2025-08-07 06:23:41','AMZN',6,'Acquisti Online',1,NULL);
INSERT INTO import_rules VALUES(4,'2025-08-07 06:24:09','2025-08-07 06:24:09','tabaccheria',7,'Tabacchi',1,NULL);
INSERT INTO import_rules VALUES(5,'2025-08-07 06:28:09','2025-08-07 06:28:09','STIPENDIO',2,'Stipendio',1,NULL);
INSERT INTO import_rules VALUES(6,'2025-08-07 06:44:39','2025-08-07 06:44:39','ILIAD',5,'ILIAD Utenze',1,NULL);
INSERT INTO import_rules VALUES(7,'2025-08-07 06:45:07','2025-08-07 06:45:07','Aruba',5,'Aruba - Utenze',1,NULL);
INSERT INTO import_rules VALUES(8,'2025-08-07 06:45:42','2025-08-07 06:45:42','panorama',8,'Panorama - Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(9,'2025-08-07 06:46:09','2025-08-07 06:46:09','hope valley',8,'Hope Valley Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(10,'2025-08-07 06:46:41','2025-08-07 06:46:41','PayPal',6,'PayPal acquisti online',1,NULL);
INSERT INTO import_rules VALUES(11,'2025-08-07 06:47:18','2025-08-07 06:47:18','Assegno unico',10,'Assegno unico',1,NULL);
INSERT INTO import_rules VALUES(12,'2025-08-07 06:47:43','2025-08-07 06:47:43','Eurobrico',13,'Eurobrico casalinghi',1,NULL);
INSERT INTO import_rules VALUES(13,'2025-08-07 06:48:09','2025-08-07 06:48:09','telethon',14,'Telethon offerte/beneficenza',1,NULL);
INSERT INTO import_rules VALUES(14,'2025-08-07 06:48:43','2025-08-07 06:48:43','audible',15,'audible divertimento/cultura',1,NULL);
INSERT INTO import_rules VALUES(15,'2025-08-07 06:49:19','2025-08-07 06:49:19','Amazon.it',6,'Amazon.it Acquisti online',1,NULL);
INSERT INTO import_rules VALUES(16,'2025-08-07 06:50:13','2025-08-07 06:50:13','carlogomme',3,'Carlogomme - Automobile',1,NULL);
INSERT INTO import_rules VALUES(17,'2025-08-07 06:50:57','2025-08-07 06:50:57','farmacia',16,'Farmacie - farmacia/sanità',1,NULL);
INSERT INTO import_rules VALUES(18,'2025-08-07 06:51:19','2025-08-07 06:51:19','orvea',4,'supermercati',1,NULL);
INSERT INTO import_rules VALUES(19,'2025-08-07 06:51:42','2025-08-07 06:51:42','aldi',4,'Alimentari Aldi',1,NULL);
INSERT INTO import_rules VALUES(20,'2025-08-07 06:52:00','2025-08-07 06:52:00','coop',4,'Coop',1,NULL);
INSERT INTO import_rules VALUES(21,'2025-08-07 06:52:23','2025-08-07 06:52:23','Poli',4,'Poli Alimentari',1,NULL);
INSERT INTO import_rules VALUES(22,'2025-08-07 06:53:41','2025-08-07 06:53:41','telepedaggio',3,'telepedaggio automobili',1,NULL);
INSERT INTO import_rules VALUES(23,'2025-08-07 06:54:05','2025-08-07 06:54:05','castini',11,'Castini - Affitto',1,NULL);
INSERT INTO import_rules VALUES(24,'2025-08-07 09:09:52','2025-08-07 09:09:52','ENERGY',3,'Rifornimento Automobili',1,NULL);
INSERT INTO import_rules VALUES(25,'2025-08-07 09:10:14','2025-08-07 09:10:14','ENI',3,'Eni Rifornimento',1,NULL);
INSERT INTO import_rules VALUES(26,'2025-08-07 09:10:33','2025-08-07 09:10:33','Petroli',3,'Nord petroli',1,NULL);
INSERT INTO import_rules VALUES(27,'2025-08-07 09:12:26','2025-08-07 09:12:26','Amazon',6,'Amazon',1,NULL);
INSERT INTO import_rules VALUES(28,'2025-08-07 09:12:46','2025-08-07 09:12:46','decathlon',6,'Decathlon',1,NULL);
INSERT INTO import_rules VALUES(29,'2025-09-05 08:30:10','2025-09-05 08:30:10','Riva dei Pini',21,'Vacanze presso Riva dei Pini',1,NULL);
INSERT INTO import_rules VALUES(30,'2025-09-05 09:41:02','2025-09-05 09:41:02','RIMBORSO FONDO SANITARIO SANIFONDS',22,'Rimborsi da fondo Sanitario',1,NULL);
INSERT INTO import_rules VALUES(31,'2025-09-05 09:47:24','2025-09-05 09:47:24','Prelievo carta del',17,'Prelievo in contanti',1,NULL);
INSERT INTO import_rules VALUES(32,'2025-09-05 11:23:40','2025-09-05 11:23:40','ristorante',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(33,'2025-09-05 11:23:58','2025-09-05 11:23:58','pizzeria',8,'Pizzeria',1,NULL);
INSERT INTO import_rules VALUES(34,'2025-09-05 11:24:51','2025-09-05 11:24:51','tamaoil',3,'Rifornimento',1,NULL);
INSERT INTO import_rules VALUES(35,'2025-09-05 11:25:14','2025-09-05 11:25:14','ospedale',16,'Ospedali',1,NULL);
INSERT INTO import_rules VALUES(36,'2025-09-05 11:25:34','2025-09-05 11:25:34','residence',21,'Residence',1,NULL);
INSERT INTO import_rules VALUES(37,'2025-09-05 11:25:57','2025-09-05 11:25:57','Ascolta la natura',21,'Vacanze',1,NULL);
INSERT INTO import_rules VALUES(38,'2025-09-05 11:40:36','2025-09-05 11:40:36','Satispay',23,'Ricariche Satispay',1,NULL);
INSERT INTO import_rules VALUES(39,'2025-09-05 12:49:04','2025-09-05 12:49:04','FINSTRAL',2,'Stipendio Flavio',1,NULL);
INSERT INTO import_rules VALUES(40,'2025-09-05 13:35:27','2025-09-05 13:35:27','grillo',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(41,'2025-09-05 13:35:50','2025-09-05 13:35:50','papillon',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(42,'2025-09-05 13:36:18','2025-09-05 13:36:18','giardini di mavi',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(43,'2025-09-05 13:36:33','2025-09-05 13:36:33','food',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(44,'2025-09-05 13:37:41','2025-09-05 13:37:41','rimborso',22,'Rimborsi',1,NULL);
INSERT INTO import_rules VALUES(45,'2025-09-05 13:38:06','2025-09-05 13:38:06','giroconto',18,'Giroconto',1,NULL);
INSERT INTO import_rules VALUES(46,'2025-09-05 13:38:31','2025-09-05 13:38:31','parrocchia',14,'Parrocchia',1,NULL);
INSERT INTO import_rules VALUES(47,'2025-09-05 13:39:46','2025-09-05 13:39:46','CONDOMINIO',12,'CONDOMINIO',1,NULL);
INSERT INTO import_rules VALUES(48,'2025-09-05 13:40:24','2025-09-05 13:40:24','CADDY',13,'CADDY',1,NULL);
INSERT INTO import_rules VALUES(49,'2025-09-05 13:49:34','2025-09-05 13:49:34','eurospin',4,'Supermercati',1,NULL);
INSERT INTO import_rules VALUES(50,'2025-09-05 13:50:11','2025-09-05 13:50:11','CIRCOLO TENNIS BORGO',21,'Vacanze GIulio',1,NULL);
INSERT INTO import_rules VALUES(51,'2025-09-05 13:50:38','2025-09-05 13:50:38','FEDERAZIONE PROVINCIALE',4,'Alimentari',1,NULL);
INSERT INTO import_rules VALUES(52,'2025-09-05 13:51:07','2025-09-05 13:51:07','SCI CLUB VAL CAMPELLE',15,'Sport Giulio',1,NULL);
INSERT INTO import_rules VALUES(53,'2025-09-05 13:52:54','2025-09-05 13:52:54','ARTE'' DA SILVIA',24,'Benessere',1,NULL);
INSERT INTO import_rules VALUES(54,'2025-09-05 13:53:17','2025-09-05 13:53:17','ASL AZIENDA',16,'salute',1,NULL);
INSERT INTO import_rules VALUES(55,'2025-09-05 13:53:32','2025-09-05 13:53:32','CASEIFICIO',4,'CASEIFICIO',1,NULL);
INSERT INTO import_rules VALUES(56,'2025-09-05 13:53:57','2025-09-05 13:53:57','bauexpert',13,'casalinghi',1,NULL);
INSERT INTO import_rules VALUES(57,'2025-09-05 13:54:27','2025-09-05 13:54:27','Commissioni',20,'Commissioni',1,NULL);
INSERT INTO import_rules VALUES(58,'2025-09-05 13:54:47','2025-09-05 13:54:47','Imposte',20,'Imposte',1,NULL);
INSERT INTO import_rules VALUES(59,'2025-09-05 13:55:06','2025-09-05 13:55:06','L''IMMAGINE DI MICHELI',24,'L''IMMAGINE DI MICHELI',1,NULL);
INSERT INTO import_rules VALUES(60,'2025-09-05 13:55:22','2025-09-05 13:55:22','CAD BORGO',13,'CAD BORGO',1,NULL);
INSERT INTO import_rules VALUES(61,'2025-09-05 13:55:52','2025-09-05 13:55:52','FOTO OTTICA TRINTINAGLIA',13,'FOTO OTTICA TRINTINAGLIA',1,NULL);
INSERT INTO import_rules VALUES(62,'2025-09-05 13:56:10','2025-09-05 13:56:10','TENGFA',13,'TENGFA',1,NULL);
INSERT INTO import_rules VALUES(63,'2025-09-05 13:56:31','2025-09-05 13:56:31','VULCANO',19,'VULCANO',1,NULL);
INSERT INTO import_rules VALUES(64,'2025-09-05 13:56:50','2025-09-05 13:56:50','Associazione Ecomuseo',21,'Associazione Ecomuseo',1,NULL);
INSERT INTO import_rules VALUES(65,'2025-09-05 13:57:16','2025-09-05 13:57:16','CARZAIA360',15,'CARZAIA360',1,NULL);
INSERT INTO import_rules VALUES(66,'2025-09-05 13:57:36','2025-09-05 13:57:36','STUDIO DENTISTICO',16,'STUDIO DENTISTICO',1,NULL);
INSERT INTO import_rules VALUES(67,'2025-09-25 18:04:05','2025-09-25 18:04:05','Canone mensile Carta di Credito',20,'Spese per carta di credito',1,NULL);
INSERT INTO import_rules VALUES(68,'2025-09-25 18:06:20','2025-09-25 18:06:20','Gardaland',15,'Gardaland e parchi giochi',1,NULL);
INSERT INTO import_rules VALUES(69,'2025-09-25 18:07:28','2025-09-25 18:07:28','TRENTO SUD',3,'Casello Trento Sud',1,NULL);
INSERT INTO import_rules VALUES(70,'2025-09-25 18:08:22','2025-09-25 18:08:22','BARAONDA',8,'Ristoranti',1,NULL);
INSERT INTO import_rules VALUES(71,'2025-09-25 18:09:08','2025-09-25 18:09:08','TAMOIL',3,'Distributore',1,NULL);
INSERT INTO import_rules VALUES(72,'2025-09-25 18:10:35','2025-09-25 18:10:35','CASELLO AUT.',3,'Autostrade',1,NULL);
INSERT INTO import_rules VALUES(73,'2025-09-25 18:11:27','2025-09-25 18:11:27','ASPIT',3,'Pedaggi autostradali',1,NULL);
INSERT INTO import_rules VALUES(74,'2025-09-25 18:12:18','2025-09-25 18:12:18','CONAD',4,'Conad',1,NULL);
INSERT INTO import_rules VALUES(75,'2025-09-25 18:13:01','2025-09-25 18:13:01','CAPPELLO LORENZO & C.',13,'Elettricità',1,NULL);
INSERT INTO import_rules VALUES(76,'2025-09-25 18:14:45','2025-09-25 18:14:45','OTTICA',16,'OTTIC',1,NULL);
INSERT INTO import_rules VALUES(77,'2025-09-25 18:16:06','2025-09-25 18:16:06','OSTERIA',8,'Osterie e ristoranti',1,NULL);
INSERT INTO import_rules VALUES(78,'2025-09-25 18:17:31','2025-09-25 18:17:31','RARINANTES VALSUGANA',15,'Piscina',1,NULL);
INSERT INTO import_rules VALUES(79,'2025-09-25 18:22:54','2025-09-25 18:22:54','TEX MEX',8,'TexMex',1,NULL);
INSERT INTO import_rules VALUES(80,'2025-09-25 18:23:36','2025-09-25 18:23:36',' SPV SPA',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(82,'2025-09-25 18:27:37','2025-09-25 18:27:37','BRICK SHOW SRL',15,'MOSTRA di MATTONCINI LEGO - VENEZIA',1,NULL);
INSERT INTO import_rules VALUES(83,'2025-09-25 18:29:12','2025-09-25 18:29:12','MAGAZZINI GABRIELLI',4,'SUpermercato Girasole Fermo',1,NULL);
INSERT INTO import_rules VALUES(84,'2025-09-25 18:30:01','2025-09-25 18:30:01','BSPDV VALDASTICO',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(85,'2025-09-25 18:30:57','2025-09-25 18:30:57','GELATERIA',8,'Gelaterie Bar',1,NULL);
INSERT INTO import_rules VALUES(86,'2025-09-25 18:31:50','2025-09-25 18:31:50','ARAGOSTA CAPRICCIOSA',8,'Ristorante Lido di Fermo',1,NULL);
INSERT INTO import_rules VALUES(87,'2025-09-25 18:33:10','2025-09-25 18:33:10','SUPERSTRADA PEDEMONTAN',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(88,'2025-09-25 18:34:18','2025-09-25 18:34:18','SUPER.TOSANO',4,'Supermercato TOSANO',1,NULL);
INSERT INTO import_rules VALUES(89,'2025-09-25 18:35:02','2025-09-25 18:35:02','LA PINETA',8,'Ristorante Marche',1,NULL);
INSERT INTO import_rules VALUES(90,'2025-09-25 18:35:45','2025-09-25 18:35:45','IPMATIC',3,'Distributore',1,NULL);
INSERT INTO import_rules VALUES(91,'2025-09-25 18:36:43','2025-09-25 18:36:43','TRENTO NORD',3,'Pedaggi',1,NULL);
INSERT INTO import_rules VALUES(92,'2025-09-25 18:37:33','2025-09-25 18:37:33','PARCHEGGIO',3,'Parcheggi',1,NULL);
INSERT INTO import_rules VALUES(93,'2025-09-25 18:38:30','2025-09-25 18:38:30','Marienklinik',16,'Clinica',1,NULL);
INSERT INTO import_rules VALUES(94,'2025-09-25 19:04:27','2025-09-25 19:04:27','RIFIUTI',5,'Rifiuti',1,NULL);
INSERT INTO import_rules VALUES(95,'2025-09-25 19:05:26','2025-09-25 19:05:26','LAVALSUGANA SRL',3,'Patente',1,NULL);
INSERT INTO import_rules VALUES(96,'2025-09-25 19:06:11','2025-09-25 19:06:11','ASS.COORD.TEATR.TRENTI',15,'Teatro',1,NULL);
INSERT INTO import_rules VALUES(97,'2025-09-25 19:07:12','2025-09-25 19:07:12','Floricoltura Capello M',13,'GIardinaggio',1,NULL);
INSERT INTO import_rules VALUES(98,'2025-09-25 19:13:16','2025-09-25 19:13:16','SAV SCORTE AGRARIE SRL',13,'Giardinaggio',1,NULL);
INSERT INTO import_rules VALUES(99,'2025-09-25 19:14:32','2025-09-25 19:14:32','AUTOGRILL',8,'Autogrill',1,NULL);
INSERT INTO import_rules VALUES(100,'2025-09-25 19:15:44','2025-09-25 19:15:44','BAR ',8,'Bar/Ristoranti',1,NULL);

View File

@ -43,19 +43,18 @@ function openModal(tipo, actionUrl, catUrl, tagUrl, contoUrl, modalTitle) {
$('#form').attr('action', actionUrl);
fillSelect(catUrl, "select[name='mov_fk_categoria']");
fillSelect(tagUrl, "select[name='mov_fk_tags']");
fillSelect(contoUrl, "select[name='conto_id_a']");
fillSelect(contoUrl, "select[name='conto_id_da']");
fillSelect(contoUrl, "select[name='conto_id']");
}
$(document).on('click', '.open_modal_spesa', function() {
openModal('spesa', '/admin/movimenti/spesa', '/admin/service/catlistSpesa', '/admin/service/taglist', '/admin/service/contolist', 'Nuovo movimento in uscita');
//$('#importo').attr('name', 'mov_importo');
$('#importo').attr('name', 'mov_importo_dare');
});
$(document).on('click', '.open_modal_entrata', function() {
openModal('entrata', '/admin/movimenti/entrata', '/admin/service/catlistEntrata', '/admin/service/taglist', '/admin/service/contolist', 'Nuovo movimento in entrata');
//$('#importo').attr('name', 'mov_importo');
$('#importo').attr('name', 'mov_importo_avere');
});
@ -65,8 +64,7 @@ $(document).on('click', '.open_modal_modifica', function() {
resetForm('#form', data[0].mov_data.substring(0, 10));
fillSelect('/admin/service/catlist', "select[name='mov_fk_categoria']", data[0].cat_name);
fillSelect('/admin/service/taglist', "select[name='mov_fk_tags']", data[0].tag_name);
fillSelect('/admin/service/contolist', "select[name='conto_id_da']", data[0].nomeConto);
fillSelect('/admin/service/contolist', "select[name='conto_id_a']", data[0].nomeConto);
fillSelect('/admin/service/contolist', "select[name='conto_id']", data[0].nomeConto);
$('#descrizione').val(data[0].mov_descrizione);
// Imposta importo e name in base a DARE/AVERE

View File

@ -1,128 +0,0 @@
<div class="row"> <div class="col">CONTRATTO DI LOCAZIONE AD USO ABITATIVO
A CANONE CONCORDATO O CONVENZIONATO</div></div>
<div class="row"> <div class="col">Il sig. {{ $proprietario->cognome }} {{ $proprietario->nome }}, nato a {{ $proprietario->nato_a }} il {{ $proprietario->nato_il }} (codice fiscale {{ $proprietario->codice_fiscale}}), residente in {{ $proprietario->residente_in}} via {{ $proprietario->res_indirizzo }} n. {{ $proprietario->res_civico }}, di seguito denominato locatore,
</div></div>
<div class="row"> <div class="col">CONCEDE IN LOCAZIONE</div></div>
@foreach($inquilini as $inquilino)<div class="row"> <div class="col">
al sig. {{ $inquilino->cognome }} {{ $inquilino->nome }}, nato a {{ $inquilino->nato_a }} il {{ $inquilino->nato_il }} (codice fiscale {{ $inquilino->codice_fiscale }}), residente in {{ $inquilino->residente_in }}, via {{ $inquilino->res_indirizzo }} n. {{ $inquilino->res_civico}},
</div>
</div>
@endforeach
<div class="row"> <div class="col">di seguito denominato/i conduttore, che accetta, l'unità immobiliare sita nel Comune di {{ $immobile->citta }} alla via {{ $immobile->indirizzo }} n. {{ $immobile->civico}}, piano {{ $immobile->piano }}, distinta al catasto al n. {{ $immobile->catasto_n }}, di proprietà esclusiva del locatore.
</div></div>
<div class="row"> <div class="col">A seguito di quanto sopra premesso, che costituisce parte integrante e sostanziale del presente contratto, le parti convengono e stipulano quanto segue:
</div></div>
<div class="row"> <div class="col">1. Oggetto
</div></div>
<div class="row"> <div class="col">Il Sig. {{ $proprietario->cognome }} {{ $proprietario->nome }} concede in locazione ad uso di civile abitazione al Sig. @foreach($inquilini as $inquilino) {{ $inquilino->cognome }} {{ $inquilino->nome }}, che accetta/no, limmobile sito al piano {{ $immobile->piano }}. del fabbricato in {{ $immobile->citta }}. via {{ $immobile->indirizzo }}. n. {{ $immobile->civico }}, di mq {{ $immobile->mq }}, composto di n. {{ $immobile->vani }} vani, distinto al Catasto Fabbricati al Foglio {{ $immobile->cat_foglio }}, Particella {{ $immobile->cat_particella }}, Sub. {{ $immobile->cat_sub }}, Cat. {{ $immobile->cat_cat }}.
</div></div>
<div class="row"> <div class="col">2. Durata e rinnovo
</div></div>
<div class="row"> <div class="col">Il contratto è stipulato per la durata di anni 3 (tre) dal {{ $contratto->data_inizio }} al {{ $contratto->data_fine }} e si intenderà rinnovato automaticamente alle medesime condizioni contrattuali per ulteriori 2 (due) anni, salvo che le parti concordino il rinnovo per ulteriori 3 (tre) anni a nuove condizioni contrattuali, ovvero, salvo espressa rinuncia di una delle parti al rinnovo contrattuale da comunicarsi allaltra parte almeno 6 (sei) mesi prima della scadenza tramite lettera raccomandata.
</div></div>
<div class="row"> <div class="col">3. Canone di locazione e modalità di pagamento
</div></div>
<div class="row"> <div class="col">Il canone di locazione è calcolato sulla base dei parametri stabiliti nellaccordo dellAssociazione1 . ed è fissato in ... (...) mensili.
</div></div>
<div class="row"> <div class="col">Il canone dovrà essere corrisposto entro il {{ $contratto->giorno }} di ciascun mese, a mezzo {{ $contratto->pagamento_mezzo }}.
</div></div>
<div class="row"> <div class="col">4. Cedolare secca
</div></div>
<div class="row"> <div class="col">In forza dell'articolo 3 del D.Lgs 14/03/2011 n. 23, per la durata del presente contratto e salvo revoca scritta che si riserva di esercitare in qualsiasi momento, il locatore dichiara di esercitare l'opzione per il sistema denominato "cedolare secca", restando pertanto esonerato dall'obbligo di inviare al conduttore la prevista comunicazione mediante lettera raccomandata.
</div></div>
<div class="row"> <div class="col">Negli anni di decorrenza del contratto, inoltre, il locatore rinuncia espressamente all'applicazione degli aggiornamenti del canone di cui sopra, inclusa la variazione accertata dallISTAT.
</div></div>
<div class="row"> <div class="col">5. Inadempimento del conduttore
</div></div>
<div class="row"> <div class="col">Il mancato puntuale pagamento del canone, ovvero, il mancato puntuale pagamento degli oneri accessori, oltre venti giorni dalla data di scadenza, quando limporto non pagato supera quello di . mensilità del canone, costituirà motivo di risoluzione del contratto.
</div></div>
<div class="row"> <div class="col">6. Sublocazione
</div></div>
<div class="row"> <div class="col">E fatto divieto al conduttore di sublocare o concedere in comodato o consentire a terzi luso sotto qualsiasi forma contrattuale, in tutto o in parte, dellimmobile locato, pena la risoluzione del contratto.
</div></div>
<div class="row"> <div class="col">7. Consegna e stato dellimmobile locato
</div></div>
<div class="row"> <div class="col">Il conduttore dichiara di aver visitato limmobile oggetto del presente contratto e di averlo trovato in buono stato e adatto alluso convenuto.
</div></div>
<div class="row"> <div class="col">Il conduttore si impegna a riconsegnare lunità immobiliare locata nello stato medesimo in cui lha ricevuta salvo il deperimento duso, pena il risarcimento del danno.
</div></div>
<div class="row"> <div class="col">A tal fine, si allega verbale di constatazione delle condizioni dellimmobile e di inventario che costituiscono parte integrante del presente contratto (all. Modello n. _____ e n. ______).
</div></div>
<div class="row"> <div class="col">8. Facoltà di accesso
</div></div>
<div class="row"> <div class="col">Il locatore ha facoltà di accedere allimmobile locato per giustificati motivi.
</div></div>
<div class="row"> <div class="col">Salvo espressa dispensa fornita dal conduttore, laccesso dovrà avvenire alla presenza di costui o di persona da esso delegata.
</div></div>
<div class="row"> <div class="col">Escluso il caso in cui sia indispensabile laccesso immediato, al conduttore dovrà essere fornito un preavviso di almeno 3 giorni.
</div></div>
<div class="row"> <div class="col">9. Attestazione di prestazione energetica
</div></div>
<div class="row"> <div class="col">Il conduttore atto di aver ricevuto le informazioni e la documentazione in ordine alla certificazione energetica dell'unità immobiliare in questione, eseguita da .... in data .... in conformità a quanto disposto dal D. Lgs. 3 marzo 2011, n. 28 art. 13.
</div></div>
<div class="row"> <div class="col">10. Rapporti di vicinato (nel caso di condominio)
</div></div>
<div class="row"> <div class="col">Il conduttore si impegna a rispettare le norme del regolamento condominiale dello stabile che dichiara di ben conoscere, e ad osservare ogni altra norma legittimamente emanata.
</div></div>
<div class="row"> <div class="col">È in ogni caso vietato al conduttore compiere atti e/o tenere comportamenti che possano recare molestia agli altri abitanti dello stabile.
</div></div>
<div class="row"> <div class="col">11. Modifiche o innovazioni
</div></div>
<div class="row"> <div class="col">Il conduttore non potrà apportare alcuna modifica, innovazione, miglioria o addizione ai locali locati ed alla loro destinazione, o agli impianti esistenti, senza il preventivo consenso scritto del Locatore.
</div></div>
<div class="row"> <div class="col">12. Deposito cauzionale
</div></div>
<div class="row"> <div class="col">A garanzia delle obbligazioni tutte che assume con il presente contratto, il conduttore rilascia al locatore la somma di . (), pari a 3 (tre) mensilità del canone, non imputabile in conto pigioni.
</div></div>
<div class="row"> <div class="col">Il deposito cauzionale come sopra costituito sarà restituito al termine della locazione, previa verifica dello stato dellunità immobiliare e dellosservanza di ogni obbligazione contrattuale.
</div></div>
<div class="row"> <div class="col">13. Oneri delle parti
</div></div>
<div class="row"> <div class="col">Le spese di ordinaria amministrazione, incluse le spese condominiali, sono integralmente a carico del conduttore, restando a carico del locatore le spese di straordinaria amministrazione.
</div></div>
<div class="row"> <div class="col">Lopzione di cui allart. 4 (Cedolare secca) comporta il venir meno dellobbligo di versamento delle imposte di registro e di bollo relative al presente contratto, comprese quelle dovute sulla risoluzione e sulle proroghe del contratto stesso.
</div></div>
<div class="row"> <div class="col">14. Variazioni condizioni contrattuali
</div></div>
<div class="row"> <div class="col">Il presente contratto potrà essere modificato soltanto mediante atto scritto.
</div></div>
<div class="row"> <div class="col">15. Autorizzazione al trattamento dei dati personali
</div></div>
<div class="row"> <div class="col">Il locatore ed il conduttore si autorizzano reciprocamente a comunicare a terzi i propri dati personali in relazione ad adempimenti connessi col rapporto di locazione, ai sensi del D. Lgs. n. 196/2003.
</div></div>
<div class="row"> <div class="col"> 16. Commissione di Conciliazione
</div></div>
<div class="row"> <div class="col">Per ogni controversia che sorga in merito all'interpretazione ed esecuzione del presente contratto ciascuna parte può richiedere, prima di adire l'Autorità giudiziaria, che si pronunci una Commissione di conciliazione stragiudiziale che deve decidere non oltre sessanta giorni dalla data della richiesta.
</div></div>
<div class="row"> <div class="col">La Commissione di conciliazione, di cui allarticolo 6 del decreto del Ministro delle infrastrutture e dei trasporti di concerto con il Ministro delleconomia e delle finanze, emanato ai sensi dellarticolo 4, comma 2, della legge 431/98, è composta al massimo da tre membri di cui due scelti fra appartenenti alle rispettive organizzazioni firmatarie dell'Accordo territoriale sulla base delle designazioni, rispettivamente, del locatore e del conduttore ed un terzo - che svolge funzioni di presidente - sulla base della scelta operata dai due componenti come sopra designati qualora gli stessi ritengano di nominarlo.
</div></div>
<div class="row"> <div class="col">La richiesta di intervento della Commissione non determina la sospensione delle obbligazioni contrattuali.
</div></div>
<div class="row"> <div class="col">Per quanto non previsto dal presente contratto le parti fanno espresso rinvio alle disposizioni del codice civile, alle norme vigenti ed agli usi locali.
</div></div>
<div class="row"><div class="col">Luogo e data</div></div>
<div class="row">
<div class="col">Il locatore</div>
<div class="col">Il conduttore</div>
</div>

View File

@ -1,70 +0,0 @@
@extends('adminlte::page')
@section('title', 'Crea Contratti')
@section('content_header')
<h1>Crea Contratto di Locazione</h1>
@stop
@section('content')
<div class="container">
@if ($errors->any())
<div class="alert alert-danger" dismissible>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" action="{{ route('contratti_affitti.store') }}">
@csrf
<div class="form-group">
<label for="immobile_id">Immobile</label>
<select name="immobile_id" id="immobile_id" class="form-control">
@foreach($immobili as $immobile)
<option value="{{ $immobile->id }}">{{ $immobile->indirizzo }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="tipo_contratto_id">Tipo Contratto</label>
<input type="number" name="tipo_contratto_id" id="tipo_contratto_id" class="form-control">
</div>
<div class="form-group">
<label for="data_inizio">Data Inizio</label>
<input type="date" name="data_inizio" id="data_inizio" class="form-control">
</div>
<div class="form-group">
<label for="data_fine">Data Fine</label>
<input type="date" name="data_fine" id="data_fine" class="form-control">
</div>
<div class="form-group">
<label for="tacito_rinnovo">Tacito Rinnovo</label>
<input type="number" name="tacito_rinnovo" id="tacito_rinnovo" class="form-control" min="0" max="1">
</div>
<div class="form-group">
<label for="canone_mensile">Canone Mensile</label>
<input type="text" name="canone_mensile" id="canone_mensile" class="form-control">
</div>
<div class="form-group">
<label for="deposito_cauzionale">Deposito Cauzionale</label>
<input type="text" name="deposito_cauzionale" id="deposito_cauzionale" class="form-control">
</div>
<div class="form-group">
<label for="spese_condominiali">Spese Condominiali</label>
<input type="text" name="spese_condominiali" id="spese_condominiali" class="form-control">
</div>
<div class="form-group">
<label for="iva">IVA</label>
<input type="text" name="iva" id="iva" class="form-control">
</div>
<div class="form-group">
<label for="registrazione">Registrazione</label>
<input type="text" name="registrazione" id="registrazione" class="form-control">
</div>
<div class="form-group">
<label for="note">Note</label>
<input type="text" name="note" id="note" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Salva</button>
</form>
</div>
@stop

View File

@ -1,46 +0,0 @@
@extends('adminlte::page')
@section('title', 'Contratti Affitti')
@section('content_header')
<h1>Contratti Affitti</h1>
@stop
@section('content')
<div class="container">
<a href="{{ route('contratti_affitti.create') }}" class="btn btn-primary mb-3">Crea Nuovo Contratto</a>
<table class="table table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Nome</th>
<th>Descrizione</th>
<th>Immobile</th>
<th>Data Inizio</th>
<th>Data Fine</th>
<th>Azioni</th>
</tr>
</thead>
<tbody>
@foreach($contratti as $contratto)
<tr>
<td>{{ $contratto->id }}</td>
<td>{{ $contratto->nome }}</td>
<td>{{ $contratto->descrizione }}</td>
<td>{{ $contratto->immobile ? $contratto->immobile->indirizzo : 'N/A' }}</td>
<td>{{ $contratto->data_inizio }}</td>
<td>{{ $contratto->data_fine }}</td>
<td>
<a href="{{ route('contratti_affitti.show', $contratto->id) }}" class="btn btn-info btn-sm">Visualizza</a>
<a href="{{ route('contratti_affitti.edit', $contratto->id) }}" class="btn btn-warning btn-sm">Modifica</a>
<form action="{{ route('contratti_affitti.destroy', $contratto->id) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Sei sicuro di voler eliminare questo contratto?')">Elimina</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection

View File

@ -1,25 +0,0 @@
@extends('adminlte::page')
@section('title', 'Assegna Contratto')
@section('content_header')
<h1>Assegna Contratto</h1>
@stop
@section('content')
<div class="container">
<h1>Assegna Contratto all'Immobile</h1>
<form action="{{ route('immobili.assegnaContratto', $id) }}" method="POST">
@csrf
<div class="mb-3">
<label for="contratto_id" class="form-label">Seleziona Contratto</label>
<select name="contratto_id" id="contratto_id" class="form-select" required>
<option value="">-- Seleziona --</option>
@foreach($contratti as $contratto)
<option value="{{ $contratto->id }}">{{ $contratto->nome }}</option>
@endforeach
</select>
</div>
<button type="submit" class="btn btn-primary">Assegna Contratto</button>
</form>
</div>
@endsection

View File

@ -1,45 +0,0 @@
@extends('adminlte::page')
@section('title', 'Crea Immobile')
@section('content_header')
<h1>Crea Nuovo Immobile</h1>
@stop
@section('content')
<form method="POST" action="{{ route('immobili.store') }}">
@csrf
<div class="form-group"><label for="indirizzo">Indirizzo</label><input type="text" name="indirizzo" id="indirizzo" class="form-control"></div>
<div class="form-group"><label for="citta">Città</label><input type="text" name="citta" id="citta" class="form-control"></div>
<div class="form-group"><label for="cap">CAP</label><input type="text" name="cap" id="cap" class="form-control"></div>
<div class="form-group"><label for="provincia">Provincia</label><input type="text" name="provincia" id="provincia" class="form-control"></div>
<div class="form-group"><label for="nazione">Nazione</label><input type="text" name="nazione" id="nazione" class="form-control"></div>
<div class="form-group"><label for="descrizione">Descrizione</label><input type="text" name="descrizione" id="descrizione" class="form-control"></div>
<div class="form-group"><label for="categoria">Categoria</label><input type="text" name="categoria" id="categoria" class="form-control"></div>
<div class="form-group"><label for="tipologia">Tipologia</label><input type="text" name="tipologia" id="tipologia" class="form-control"></div>
<div class="form-group"><label for="stato">Stato</label><input type="text" name="stato" id="stato" class="form-control"></div>
<div class="form-group"><label for="classe_energetica">Classe Energetica</label><input type="text" name="classe_energetica" id="classe_energetica" class="form-control"></div>
<div class="form-group"><label for="superficie">Superficie</label><input type="text" name="superficie" id="superficie" class="form-control"></div>
<div class="form-group"><label for="vani">Vani</label><input type="text" name="vani" id="vani" class="form-control"></div>
<div class="form-group"><label for="bagni">Bagni</label><input type="text" name="bagni" id="bagni" class="form-control"></div>
<div class="form-group"><label for="camere">Camere</label><input type="text" name="camere" id="camere" class="form-control"></div>
<div class="form-group"><label for="piano">Piano</label><input type="text" name="piano" id="piano" class="form-control"></div>
<div class="form-group"><label for="ascensore">Ascensore</label><input type="text" name="ascensore" id="ascensore" class="form-control"></div>
<div class="form-group"><label for="riscaldamento">Riscaldamento</label><input type="text" name="riscaldamento" id="riscaldamento" class="form-control"></div>
<div class="form-group"><label for="condizionatore">Condizionatore</label><input type="text" name="condizionatore" id="condizionatore" class="form-control"></div>
<div class="form-group"><label for="giardino">Giardino</label><input type="text" name="giardino" id="giardino" class="form-control"></div>
<div class="form-group"><label for="posto_auto">Posto Auto</label><input type="text" name="posto_auto" id="posto_auto" class="form-control"></div>
<div class="form-group"><label for="garage">Garage</label><input type="text" name="garage" id="garage" class="form-control"></div>
<div class="form-group"><label for="balcone">Balcone</label><input type="text" name="balcone" id="balcone" class="form-control"></div>
<div class="form-group"><label for="terrazzo">Terrazzo</label><input type="text" name="terrazzo" id="terrazzo" class="form-control"></div>
<div class="form-group"><label for="cantina">Cantina</label><input type="text" name="cantina" id="cantina" class="form-control"></div>
<div class="form-group"><label for="arredamento">Arredamento</label><input type="text" name="arredamento" id="arredamento" class="form-control"></div>
<div class="form-group"><label for="spese_condominiali">Spese Condominiali</label><input type="text" name="spese_condominiali" id="spese_condominiali" class="form-control"></div>
<div class="form-group"><label for="anno_costruzione">Anno Costruzione</label><input type="text" name="anno_costruzione" id="anno_costruzione" class="form-control"></div>
<div class="form-group"><label for="prezzo">Prezzo</label><input type="text" name="prezzo" id="prezzo" class="form-control"></div>
<div class="form-group"><label for="disponibilita">Disponibilità</label><input type="text" name="disponibilita" id="disponibilita" class="form-control"></div>
<div class="form-group"><label for="note">Note</label><input type="text" name="note" id="note" class="form-control"></div>
<div class="form-group"><label for="fibra-ottica">Fibra Ottica</label><input type="text" name="fibra-ottica" id="fibra-ottica" class="form-control"></div>
<div class="form-group"><label for="internet">Internet</label><input type="text" name="internet" id="internet" class="form-control"></div>
<button type="submit" class="btn btn-primary">Salva</button>
</form>
@stop

View File

@ -1,44 +0,0 @@
@extends('adminlte::page')
@section('title', 'Immobili')
@section('content_header')
<h1>Immobili</h1>
@stop
@section('content')
<p>Elenco immobili</p>
<a href="{{ route('immobili.create') }}" class="btn btn-primary mb-3">Nuovo Immobile</a>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>ID</th>
<th>Indirizzo</th>
<th>Città</th>
<th>Stato</th>
<th>Azioni</th>
</tr>
</thead>
<tbody>
@foreach($immobili as $immobile)
<tr>
<td>{{ $immobile->id }}</td>
<td>{{ $immobile->indirizzo }}</td>
<td>{{ $immobile->citta }}</td>
<td>{{ $immobile->stato }}</td>
<td>
<a href="{{ route('immobili.show', $immobile->id) }}" class="btn btn-info btn-sm">Visualizza</a>
<a href="{{ route('immobili.edit', $immobile->id) }}" class="btn btn-warning btn-sm">Modifica</a>
<form action="{{ route('immobili.destroy', $immobile->id) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Sei sicuro di voler eliminare questo immobile?')">Elimina</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
@stop

View File

@ -1,39 +0,0 @@
@extends('adminlte::page')
@section('title', 'Dettagli Immobile')
@section('content_header')
<h1>Dettagli Immobile</h1>
@stop
@section('content')
<div class="container">
<!-- Navbar superiore -->
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
<div class="container-fluid">
<span class="navbar-brand">Gestione Immobile</span>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="{{ route('affitti_contratti.associa',$immobile->id) }}">Associa Contratto</a>
</li>
<!-- Aggiungi altri collegamenti qui -->
</ul>
</div>
</div>
</nav>
<!-- Informazioni Immobile -->
<div class="card">
<div class="card-header">
<h4>Informazioni Immobile</h4>
</div>
<div class="card-body">
<p><strong>Indirizzo:</strong> {{ $immobile->indirizzo }}</p>
<p><strong>Tipologia:</strong> {{ $immobile->tipologia }}</p>
<p><strong>Superficie:</strong> {{ $immobile->superficie }} </p>
<!-- Aggiungi altre informazioni rilevanti -->
</div>
</div>
</div>
@endsection

View File

@ -10,9 +10,7 @@
var data = google.visualization.arrayToDataTable([
['Categoria', 'resoconto'],
@foreach($dataSpesa as $dato)
@if($dato->resoconto !='')
['{{ $dato->cat_name }}', {{ $dato->resoconto }}],
@endif
@endforeach
]);
@ -34,9 +32,7 @@
var data = google.visualization.arrayToDataTable([
['Categoria', 'resoconto'],
@foreach($dataEntrate as $dato)
@if($dato->resoconto !='')
['{{ $dato->cat_name }}', {{ $dato->resoconto }}],
@endif
@endforeach
]);

View File

@ -51,7 +51,7 @@
@foreach($documenti as $documento)
<tr>
<td><a href="{{ asset('storage/'.$documento->filename) }}"><i class="fas fa-fw fa-file"></i>&nbsp;{{ $documento->descrizione }}</a></td>
<td><a href="/storage/tenant{{tenant('id')}}/{{ $documento->filename }}"><i class="fas fa-fw fa-file"></i>&nbsp;{{ $documento->descrizione }}</a></td>
<td>
<a class="btn btn-primary" href="/admin/doc_update?id={{ $documento->id }}">Edit</a>&nbsp;

View File

@ -55,9 +55,9 @@
<td>
<button class="btn btn-warning btn-detail open_modal_modifica" value="{{ $movimento->id }}"><i class="fa-solid fa-pencil"></i></button>&nbsp;
<a class="btn btn-danger" href="/admin/movimenti/delete?id={{ $movimento->id }}"><i class="fa-solid fa-trash-can"></i></a>&nbsp;
<a class="btn btn-warning" href="/admin/movimenti/docs?entity=1&entity_id={{ $movimento->id }}"><i class="fa-solid fa-file-arrow-up"></i></a>&nbsp;
<a class="btn btn-warning" href="/admin/movimenti/docs?entity=0&entity_id={{ $movimento->id }}"><i class="fa-solid fa-file-arrow-up"></i></a>&nbsp;
<!-- Definisce quanti documenti sono presenti per il record -->
( {{ \App\Models\Movimenti::getDocumentiByMovimento($movimento->id) ?? '' }} )
( {{ $movimento->quanti ?? '' }} )
</td>
</tr>
@endforeach
@ -118,17 +118,12 @@
<span class="input-group-addon"> <i class="fa fa-eur"></i></span>
<input type="number" step="0.01" min="-999999"
max="999999" class="form-control" id="importo" size="50"
name="mov_importo" aria-describedby="importo">
name="mov_importo_dare" aria-describedby="importo">
</div>
</div>
<div class="col-xs-7">
<label for="conto_id_a" class="form-label">a Conto</label> <select
name="conto_id_a" class="form-control select2" id="conto_id_a" data-live-search="true"
data-live-search-placeholder="Conto operazione"></select>
</div>
<div class="col-xs-7">
<label for="conto_id_da" class="form-label">da Conto</label> <select
name="conto_id_da" class="form-control select2" id="conto_id_da" data-live-search="true"
<label for="conto_id" class="form-label">Conto</label> <select
name="conto_id" class="form-control select2" id="conto_id" data-live-search="true"
data-live-search-placeholder="Conto operazione"></select>
</div>
<div class="col-xs-7">

View File

@ -41,7 +41,7 @@
<span class="input-group-addon">
<i class="fa fa-eur"></i>
</span>
<input type="number" step="0.01" min="-999999" max="999999" class="form-control" id="importo" size="50" name="importo" aria-describedby="importo">
<input type="number" step="0.01" min="-999999" max="999999" class="form-control" id="importo" size="50" name="mov_importo" aria-describedby="importo">
</div>
</div>
<!-- <div id="importo" class="form-text">inserire l'importo (se spesa far precedere da il simbolo "-")</div>-->

View File

@ -25,12 +25,11 @@
</thead>
<tbody>
@foreach( $dataSpesa as $dato )
@if($dato->resoconto !='')
<tr>
<td><a href="/admin/movimenti/report/movimenti_categoria?cat={{ $dato->id }}&month={{ $_GET['Month'] ?? date('m')}}&year={{ date('Y') }}">{{ $dato->cat_name }}</a> </td>
<td>{{ $dato->resoconto }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>
@ -56,12 +55,11 @@
</thead>
<tbody>
@foreach( $dataEntrate as $dato )
@if($dato->resoconto !='')
<tr>
<td><a href="/admin/movimenti/report/movimenti_categoria?cat={{ $dato->id }}&month={{ $_GET['Month'] ?? date('m')}}&year={{ date('Y')}}">{{ $dato->cat_name }}</a> </td>
<td>{{ $dato->resoconto }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>

View File

@ -47,7 +47,7 @@
<span class="info-box-icon"><i class="far fa-thumbs-down"></i></span>
<div class="info-box-content">
<span class="info-box-text">Saldo anno {{ date('Y') }}</span>
<span class="info-box-number">{{ $entrate - $uscite }}</span>
<span class="info-box-number">{{ $entrate + $uscite }}</span>
<!--<div class="progress">
<div class="progress-bar" style="width: 70%"></div>
</div>-->

View File

@ -59,7 +59,10 @@ Route::middleware([
'web',
'auth',
])->group(function () {
/*Route::get('admin', function () {
dd(\App\Models\User::all());
return 'This is your multi-tenant application. The id of the current tenant is ' . tenant('id');
});*/
Route::get('admin/', [MovimentiController::class,'dashboard']);
Route::get('changepassword',function(){return view('auth.change-password');})->name('changePassword');
Route::post('changepassword', [Utenti::class,'changePassword']);
@ -249,28 +252,7 @@ Route::middleware([
Route::get('admin/meeting', function() { return view('meetings.meeting'); })->name('meeting');
});
// AFFITTI
Route::group(['middleware'=>['permission:affitti']], function(){
Route::get('admin/affitti/immobili', [App\Http\Controllers\ImmobiliController::class,'index'])->name('immobili');
Route::get('admin/affitti/immobili/create', [App\Http\Controllers\ImmobiliController::class,'create'])->name('immobili.create');
Route::post('admin/affitti/immobili', [App\Http\Controllers\ImmobiliController::class,'store'])->name('immobili.store');
Route::get('admin/affitti/immobili/{immobili}', [App\Http\Controllers\ImmobiliController::class,'show'])->name('immobili.show');
Route::get('admin/affitti/immobili/{immobili}/edit', [App\Http\Controllers\ImmobiliController::class,'edit'])->name('immobili.edit');
Route::put('admin/affitti/immobili/{immobili}', [App\Http\Controllers\ImmobiliController::class,'update'])->name('immobili.update');
Route::delete('admin/affitti/immobili/{immobili}', [App\Http\Controllers\ImmobiliController::class,'destroy'])->name('immobili.destroy');
//navbar
Route::get('admin/affitti/associaContratto', [App\Http\Controllers\ImmobiliController::class,'associaContratto'])->name('affitti_contratti.associa');
// Cotratti
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
});