From 84c0eaa48bfb5fa713552b6baa4a18fcb0b114fc Mon Sep 17 00:00:00 2001 From: adim Date: Sun, 18 Jun 2023 10:07:19 +0000 Subject: [PATCH 1/5] Aggiornato Readme Aggiornato readme Signed-off-by: adim --- README.md | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index bbca887..bc958c7 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 From 792d1a0580e6f29c4b30cc72324b897e770e9906 Mon Sep 17 00:00:00 2001 From: adim Date: Sun, 18 Jun 2023 10:07:58 +0000 Subject: [PATCH 2/5] Aggiornare 'README.md' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc958c7..270bbf2 100644 --- a/README.md +++ b/README.md @@ -20,4 +20,4 @@ Mariano Benzi ### Vuoi partecipare? Scrivici con le tue proposte, le tue critiche, i tuoi suggerimenti. -AdimGest +AdimGest From 66157c347763e090578f4303aacc626820b6c6cc Mon Sep 17 00:00:00 2001 From: Flavio Barachino Date: Tue, 20 Jun 2023 08:08:47 +0200 Subject: [PATCH 3/5] creazione tabelle models e controller per Rivista Gruppi e Associazioni, generato sistema di assegnazione permessi diretti ad un utente --- .../Controllers/AssociazioneController.php | 10 ++++ app/Http/Controllers/GruppiController.php | 10 ++++ app/Http/Controllers/MovimentiController.php | 8 ++- app/Http/Controllers/RivistaController.php | 10 ++++ app/Http/Controllers/Utenti.php | 51 ++++++++++++---- app/Models/Associazione.php | 11 ++++ app/Models/Gruppi.php | 11 ++++ app/Models/Movimenti.php | 60 ++++++++++++------- app/Models/Rivista.php | 11 ++++ composer.lock | 18 +++--- .../2023_06_08_162605_columns_anagrafica.php | 8 +-- ...023_06_19_084521_create_rivistas_table.php | 31 ++++++++++ ...6_19_084538_create_associaziones_table.php | 31 ++++++++++ ...2023_06_19_094609_create_gruppis_table.php | 31 ++++++++++ resources/views/components/menu.blade.php | 20 ++++++- resources/views/layouts/dashboard.blade.php | 60 ++++++++++++++++--- resources/views/users/assignperm.blade.php | 47 +++++++++++++++ routes/admin.php | 24 +++++++- 18 files changed, 395 insertions(+), 57 deletions(-) create mode 100644 app/Http/Controllers/AssociazioneController.php create mode 100644 app/Http/Controllers/GruppiController.php create mode 100644 app/Http/Controllers/RivistaController.php create mode 100644 app/Models/Associazione.php create mode 100644 app/Models/Gruppi.php create mode 100644 app/Models/Rivista.php create mode 100644 database/migrations/2023_06_19_084521_create_rivistas_table.php create mode 100644 database/migrations/2023_06_19_084538_create_associaziones_table.php create mode 100644 database/migrations/2023_06_19_094609_create_gruppis_table.php create mode 100644 resources/views/users/assignperm.blade.php 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 @@ +$ruolo]); @@ -23,40 +23,69 @@ class Utenti extends Controller $permission=Permission::create(['name'=>$permesso]); return json_encode(Permission::all()->pluck('name')); } - + function userClass() { $user=new User(); return get_class_methods($user); } - + // post del create user function createUser(Request $params){ User::addUser($params); return redirect('/admin/users/new'); } - + // mostra il form della creazione dell'utente function addUser(){ $roles = Role::all(); $users = User::all(); return view('users.create',['ruoli'=>$roles,'users'=>$users]); } - + function listUser(){ $users = User::all(); - return view('users.list',['users'=>$users]); + return view('users.list',['users'=>$users]); } - + function listRoles(){ $roles = Role::all(); return $roles; } - + function deleteUser($id) { User::destroy($id); - + return redirect('/admin/users/new'); } - - + + function givePermissionToUser() + { + $users=User::all(); + $permissions=Permission::all(); + return view('users.assignperm',['users'=>$users,'permissions'=>$permissions]); + } + + function assignPermission(Request $request) + { + //$user=User::getUserbyId($request['user']); + $user=User::findOrFail($request['user']); + foreach($request['permesso'] as $key => $value){ + if($value=='true') + { + $key=str_replace('\'','',$key); + $user->givePermissionTo($key); + // $permission['allowed'][]=$key; + } + else + { + $key=str_replace('\'','',$key); + $user->revokePermissionTo($key); + // $permission['denied'][]=$key; + } + + } + return redirect('/admin/users/givepermission'); + + //return dd($user); + } } diff --git a/app/Models/Associazione.php b/app/Models/Associazione.php new file mode 100644 index 0000000..d3fc4ea --- /dev/null +++ b/app/Models/Associazione.php @@ -0,0 +1,11 @@ +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/components/menu.blade.php b/resources/views/components/menu.blade.php index c1615d6..4c67f85 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/resources/views/users/assignperm.blade.php b/resources/views/users/assignperm.blade.php new file mode 100644 index 0000000..29b6b60 --- /dev/null +++ b/resources/views/users/assignperm.blade.php @@ -0,0 +1,47 @@ +@extends('admin') +@section('content') +
    +
    +

    Assegnazione permessi

    +
    +
    +
    +
    +
    +
    +
    + Nuova assegnazione permessi +
    +
    + +
    + + + + + + + @foreach($permissions as $perm) + + + + + @endforeach +
    PermessoAzione
    {{$perm->name}} + Attiva +   + Disattiva +
    + @csrf + +
    +
    +
    +
    +
    +
    +@endsection diff --git a/routes/admin.php b/routes/admin.php index dde874a..7b48f90 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -128,6 +128,8 @@ Route::group(['middleware'=>['permission:amministrazione']], function(){ Route::post('users/new',[Utenti::class,'createUser']); Route::get('users/roles',[Utenti::class,'listRoles']); Route::get('users/delete/{id}',[Utenti::class,'deleteUser']); + Route::get('users/givepermission',[Utenti::class,'givePermissionToUser']); + Route::post('users/givepermission',[Utenti::class,'assignPermission']); }); // PROGETTI Route::group(['middleware'=>['permission:progetti']], function(){ @@ -142,7 +144,27 @@ Route::group(['middleware'=>['permission:progetti']], function(){ Route::post('progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']); Route::get('progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']); }); - +/// 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']); From fcbe1e1a4e6dc4acc72c59e7d001571631095560 Mon Sep 17 00:00:00 2001 From: Flavio Barachino Date: Tue, 20 Jun 2023 08:18:20 +0200 Subject: [PATCH 4/5] cambiato titolo dell'applicazione --- app/Http/Controllers/Utenti.php | 2 -- resources/views/admin.blade.php | 16 ++++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Utenti.php b/app/Http/Controllers/Utenti.php index 3bb067b..3741cdb 100644 --- a/app/Http/Controllers/Utenti.php +++ b/app/Http/Controllers/Utenti.php @@ -85,7 +85,5 @@ class Utenti extends Controller } return redirect('/admin/users/givepermission'); - - //return dd($user); } } 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 @@ - + From d5f4d5c8272a3cd84955a52cc5f306a87d7b71f6 Mon Sep 17 00:00:00 2001 From: Flavio Barachino Date: Tue, 20 Jun 2023 08:29:13 +0200 Subject: [PATCH 5/5] Creato link al menu per la gestione dei permessi --- resources/views/components/menu.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/components/menu.blade.php b/resources/views/components/menu.blade.php index 4c67f85..2d89f6e 100644 --- a/resources/views/components/menu.blade.php +++ b/resources/views/components/menu.blade.php @@ -72,7 +72,7 @@
  • Gruppi
  • Permessi
  • --> -
  • Assegna Ruoli
  • +
  • Assegna Permessi