diff --git a/README.md b/README.md index bbca887..270bbf2 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,23 @@ -# Gestionale di Famiglia -Piccolo sistema di gestione famigliare. +# Gestionale Per le associazioni +Piccolo sistema di gestione. Al momento sono presenti: - Gestione delle Entrate e uscite con possibilità di inserimento delle foto degli scontrini ed eventuali documenti in PDF. - Possibilità di importare gli estratti conto da un file excel o csv. - - Un sistema di gestione delle letture dei contatori per il GAS e per l'Energia elettrica - - Un sistema di gestione delle autovetture e relative operazioni effettuate su di esse. + - Un sistema di gestione delle letture dei contatori per il GAS e per l'Energia elettrica [Da rivedere] + - Un sistema di gestione delle autovetture e relative operazioni effettuate su di esse. [Da rivedere] - Una rubrica telefonica e degli indirizzi - - Una gestione dei progetti (ancora in sviluppo) - - Una gestione degli utenti e dei gruppi e relativi permessi. + - Una gestione dei progetti (ancora in sviluppo) [Da rivedere] + - Una gestione degli utenti e dei gruppi e relativi permessi. [Da rivedere] *Sviluppato in php, mysql, jquery su framework Laravel*. - -## Installazione - - clonare il repository - - copiare il file ```.env.example``` in ```.env``` - - inserire le informazioni del database (username,password,dbname) - - lanciare ``` composer install ``` - - lanciare ``` php artisan migrate --seed``` - - di default si crea l'utente ``` admin ``` con password ```admin ``` per accedere la prima volta. - - ## Sviluppatori (attualmente) Flavio Barachino +## Consulenza e richiesta +Mariano Benzi + ### Vuoi partecipare? -Scrivimi con le tue proposte, le tue critiche, i tuoi suggerimenti. +Scrivici con le tue proposte, le tue critiche, i tuoi suggerimenti. +AdimGest diff --git a/app/Http/Controllers/AssociazioneController.php b/app/Http/Controllers/AssociazioneController.php new file mode 100644 index 0000000..74819b8 --- /dev/null +++ b/app/Http/Controllers/AssociazioneController.php @@ -0,0 +1,10 @@ +$bilancio, + 'entrate'=>$entrate, + 'uscite'=>$uscite, 'saldo'=>$saldo, ]); } diff --git a/app/Http/Controllers/RivistaController.php b/app/Http/Controllers/RivistaController.php new file mode 100644 index 0000000..1396925 --- /dev/null +++ b/app/Http/Controllers/RivistaController.php @@ -0,0 +1,10 @@ +groupBy('movimentis.id','mov_data','mov_descrizione','mov_importo','cat_name','tag_name') ->get(); } - + public static function getSaldo($date) { return DB::table('movimentis')->whereYear('mov_data','=',$date)->sum('mov_importo'); } - + public static function getSaldoTot() { return DB::table('movimentis')->sum('mov_importo'); } - + public static function insSpesa($request) { DB::table('movimentis')->insert( [ @@ -40,7 +40,7 @@ class Movimenti extends Model 'mov_inserito_da'=>$request['userid'], ]); } - + public static function insEntrata($request) { DB::table('movimentis')->insert( [ @@ -52,7 +52,7 @@ class Movimenti extends Model 'mov_inserito_da'=>$request['userid'], ]); } - + public static function export() { return DB::table('movimentis') ->join('categories','movimentis.mov_fk_categoria','=','categories.id') @@ -61,7 +61,7 @@ class Movimenti extends Model ->orderBy('Data','asc') ->get(); } - + public static function reportSpesa($year,$month) { return DB::table('movimentis') ->selectRaw('ABS(Sum(movimentis.mov_importo)) as resoconto, categories.cat_name,categories.id') @@ -72,7 +72,7 @@ class Movimenti extends Model ->groupBy('cat_name','categories.id') ->get(); } - + public static function reportEntrate($year,$month) { return DB::table('movimentis') ->selectRaw('ABS(Sum(movimentis.mov_importo)) as resoconto, categories.cat_name,categories.id') @@ -83,7 +83,7 @@ class Movimenti extends Model ->groupBy('cat_name','categories.id') ->get(); } - + public static function getMovimentoById($id) { return DB::table('movimentis') ->join('categories','movimentis.mov_fk_categoria','=','categories.id') @@ -91,7 +91,7 @@ class Movimenti extends Model ->where('movimentis.id','=',$id) ->get(); } - + public static function updateMovimenti($request) { DB::table('movimentis') ->where('id','=', $request['id']) @@ -104,13 +104,13 @@ class Movimenti extends Model 'mov_inserito_da'=>$request['userid'], ]); } - + public static function deleteMovimento($id) { DB::table('movimentis') ->where('id','=', $id) ->delete(); } - + public static function listByCatMonth($month,$cat,$year) { return DB::table('movimentis') ->join('categories','movimentis.mov_fk_categoria','=','categories.id') @@ -123,7 +123,7 @@ class Movimenti extends Model ->groupBy('movimentis.id','mov_data','mov_descrizione','mov_importo','cat_name','tag_name') ->get(); } - + public static function listByCategory($cat) { return DB::table('movimentis') ->join('categories','movimentis.mov_fk_categoria','=','categories.id') @@ -134,7 +134,7 @@ class Movimenti extends Model ->groupBy('movimentis.id','mov_data','mov_descrizione','mov_importo','cat_name','tag_name') ->get(); } - + public static function getByTag($tag) { return DB::table('movimentis') ->where('mov_fk_tags','=',$tag) @@ -151,7 +151,7 @@ class Movimenti extends Model $inputPath='/var/www/html/bubofamily/public/storage/'.$filename; $outputPath='/var/www/html/bubofamily/public/'.$filename; rename($inputPath,$outputPath); - + $collection = (new FastExcel)->import($filename, function ($line){ if($line['Data valuta']) { @@ -166,13 +166,13 @@ class Movimenti extends Model } }); } - + public static function importEstrattoCR($filename) { $inputPath='/var/www/html/bubofamily/public/storage/'.$filename; $outputPath='/var/www/html/bubofamily/public/'.$filename.'.csv'; rename($inputPath,$outputPath); - + $collection = (new FastExcel)->configureCsv(';')->import($filename.'.csv', function ($line){ if($line['VALUTA']) { @@ -202,18 +202,18 @@ class Movimenti extends Model } }); } - + public static function getYearsFromMovimenti() { $anni=DB::table('movimentis')->select(DB::raw('DISTINCT YEAR(mov_data) as anno'))->get(); // dd($anni); // for test purposes return $anni; } - - + + private static function dateFormat($type,$string) { - + if($type) { $string=$string->format('Y-m-d'); @@ -226,4 +226,24 @@ class Movimenti extends Model } } + public static function getEntrate($year) + { + $entrate_anno=DB::table('movimentis') + ->where('mov_importo','>',0) + ->whereYear('mov_data', '=' , $year) + ->sum('mov_importo'); + //->get(); + return $entrate_anno; + } + + public static function getUscite($year) + { + $uscite_anno=DB::table('movimentis') + ->where('mov_importo','<',0) + ->whereYear('mov_data', '=' , $year) + ->sum('mov_importo'); + //->get(); + return ($uscite_anno); + } + } diff --git a/app/Models/Rivista.php b/app/Models/Rivista.php new file mode 100644 index 0000000..1e22ce2 --- /dev/null +++ b/app/Models/Rivista.php @@ -0,0 +1,11 @@ +longText('ang_indirizzo'); + /*Schema::table('anagraficas', function (Blueprint $table) { + /* // + // $table->longText('ang_indirizzo'); $table->string('ang_CAP'); $table->string('ang_Citta'); $table->string('ang_Provincia'); $table->string('ang_telefono'); - }); + });*/ } /** diff --git a/database/migrations/2023_06_19_084521_create_rivistas_table.php b/database/migrations/2023_06_19_084521_create_rivistas_table.php new file mode 100644 index 0000000..c2d30fc --- /dev/null +++ b/database/migrations/2023_06_19_084521_create_rivistas_table.php @@ -0,0 +1,31 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('rivistas'); + } +} diff --git a/database/migrations/2023_06_19_084538_create_associaziones_table.php b/database/migrations/2023_06_19_084538_create_associaziones_table.php new file mode 100644 index 0000000..8019dc7 --- /dev/null +++ b/database/migrations/2023_06_19_084538_create_associaziones_table.php @@ -0,0 +1,31 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('associaziones'); + } +} diff --git a/database/migrations/2023_06_19_094609_create_gruppis_table.php b/database/migrations/2023_06_19_094609_create_gruppis_table.php new file mode 100644 index 0000000..25e59c1 --- /dev/null +++ b/database/migrations/2023_06_19_094609_create_gruppis_table.php @@ -0,0 +1,31 @@ +id(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('gruppis'); + } +} diff --git a/resources/views/admin.blade.php b/resources/views/admin.blade.php index 327fe2f..efc8361 100644 --- a/resources/views/admin.blade.php +++ b/resources/views/admin.blade.php @@ -7,7 +7,7 @@ - BuBo Family - made with <3 - + {{env('APP_NAME')}} @@ -20,13 +20,13 @@ - - - @@ -71,7 +71,7 @@ @@ -98,7 +98,7 @@ @section('content') Contenuto @show - + @@ -115,7 +115,7 @@ - + diff --git a/resources/views/components/menu.blade.php b/resources/views/components/menu.blade.php index 8dd0bb4..7d63906 100644 --- a/resources/views/components/menu.blade.php +++ b/resources/views/components/menu.blade.php @@ -49,7 +49,21 @@ @endcan @can('progetti')
  • Progetti
  • -@endcan @can('amministrazione') + +@endcan +@can('gruppi') +
  • + Gruppi
  • +@endcan +@can('rivista') +
  • + Rivista
  • +@endcan +@can('associazione') +
  • + Associazione
  • +@endcan +@can('amministrazione')
  • Amministrazione
  • @endcan diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index 766ec72..3b86dbb 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -9,15 +9,15 @@ @hasanyrole('user|admin')
    -
    +
    - +
    -
    {{ $bilancio }}
    -
    Bilancio attuale anno {{ date('Y') }}
    +
    {{ $entrate }}
    +
    Entrate attuale anno {{ date('Y') }}
    @@ -30,9 +30,55 @@
    + +
    +
    +
    +
    +
    + +
    +
    +
    {{ $uscite }}
    +
    Uscite attuale anno {{ date('Y') }}
    +
    +
    +
    + + + +
    +
    +
    -
    +
    +
    +
    +
    + +
    +
    +
    {{ $entrate + $uscite }}
    +
    Saldo attuale nell'anno
    +
    +
    +
    + + + +
    +
    +
    +
    @@ -52,11 +98,11 @@
    -
    +
    @endhasanyrole
    @endsection @section('script') -@endsection \ No newline at end of file +@endsection diff --git a/routes/admin.php b/routes/admin.php index 375864f..95b6cdd 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -148,7 +148,27 @@ Route::group(['middleware'=>['permission:progetti']], function(){ }); - +/// RIVISTA +Route::group(['middleware'=>['permission:rivista']], function(){ + Route::get('rivista',[RivistaController::class,'rivistaHome'])->name('rivista'); + Route::get('rivista/pubblica',[RivistaController::class,'rivistaDigCarica']); + Route::post('rivista/pubblica',[RivistaController::class,'rivistaDigPubblica']); + Route::get('rivista/abbonati',[RivistaController::class,'rivistaAbbonati']); + Route::get('rivista/abbonamenti',[RivistaController::class,'rivistaAbbonamenti']); + Route::get('rivista/abbonamenti/rinnovo',[RivistaController::class,'rivistaAbbonamentiRinnovo']); + Route::get('rivista/abbonamenti/nuovo',[RivistaController::class,'rivistaAbbonamentiNuovo']); + Route::get('rivista/abbonamenti/scadenza',[RivistaController::class,'rivistaAbbonamentiScadono']); + Route::get('rivista/new',[RivistaController::class,'rivistaNuova']); + Route::get('rivista/archivio',[RivistaController::class,'rivistaArchivio']); +}); +/// ASSOCIAZIONE +Route::group(['middleware'=>['permission:associazione']], function(){ + Route::get('associazione',[AssociazioneController::class,'assocHome'])->name('associazione'); +}); +/// GRUPPI +Route::group(['middleware'=>['permission:gruppi']], function(){ + Route::get('gruppi',[GruppiController::class,'gruppiHome'])->name('gruppi'); +}); /// TEST ROUTES Route::get('test/fullcalendar', [FullCalenderController::class, 'index']);