From fabf85ffb5ecaae8e9f40e391dd8777bd18f3ef2 Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Fri, 14 Jul 2023 16:01:14 +0200 Subject: [PATCH 1/8] Creazione Tasks --- app/Http/Controllers/TaskController.php | 15 +++++++ app/Models/Task.php | 11 +++++ .../2023_07_14_123253_create_tasks_table.php | 39 +++++++++++++++++ .../migrations/2023_07_14_123350_subtask.php | 42 +++++++++++++++++++ resources/views/components/menu.blade.php | 4 ++ resources/views/tasks/list.blade.php | 15 +++++++ routes/admin.php | 29 +++---------- routes/api.php | 5 ++- 8 files changed, 136 insertions(+), 24 deletions(-) create mode 100644 app/Http/Controllers/TaskController.php create mode 100644 app/Models/Task.php create mode 100644 database/migrations/2023_07_14_123253_create_tasks_table.php create mode 100644 database/migrations/2023_07_14_123350_subtask.php create mode 100644 resources/views/tasks/list.blade.php diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php new file mode 100644 index 0000000..65f393f --- /dev/null +++ b/app/Http/Controllers/TaskController.php @@ -0,0 +1,15 @@ +id(); + $table->timestamps(); + $table->string('titolo',255); + $table->longText('descrizione')->nullable(); + $table->bigInteger('creato_da'); + $table->bigInteger('assegnato_a'); + $table->date('creato_il'); + $table->date('termine_il'); + $table->date('chiuso_il'); + $table->enum('stato', ['Aperto', 'Chiuso'])->nullable()->default('Aperto'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('tasks'); + } +} diff --git a/database/migrations/2023_07_14_123350_subtask.php b/database/migrations/2023_07_14_123350_subtask.php new file mode 100644 index 0000000..3c5eec0 --- /dev/null +++ b/database/migrations/2023_07_14_123350_subtask.php @@ -0,0 +1,42 @@ +id(); + $table->timestamps(); + // $table->bigInteger('tasks_id'); + $table->foreignId('tasks_id')->onDelete('cascade'); + $table->string('titolo',255); + $table->longText('descrizione')->nullable(); + $table->bigInteger('creato_da'); + $table->bigInteger('assegnato_a'); + $table->date('creato_il'); + $table->date('termine_il'); + $table->date('chiuso_il'); + $table->enum('stato', ['Aperto', 'Chiuso'])->nullable()->default('Aperto'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/resources/views/components/menu.blade.php b/resources/views/components/menu.blade.php index ff9bbc0..1c6dccd 100644 --- a/resources/views/components/menu.blade.php +++ b/resources/views/components/menu.blade.php @@ -51,7 +51,11 @@ Progetti @endcan +@can('tasks') +
  • + Attività
  • +@endcan @can('amministrazione')
  • Amministrazione diff --git a/resources/views/tasks/list.blade.php b/resources/views/tasks/list.blade.php new file mode 100644 index 0000000..44dd6b8 --- /dev/null +++ b/resources/views/tasks/list.blade.php @@ -0,0 +1,15 @@ +@extends('admin') +@section('content') +
    +
    +

    Lista Progetti

    +
    +
    +
    + +
    +
    + +
    +
    \ No newline at end of file diff --git a/routes/admin.php b/routes/admin.php index d426b4f..30b83b5 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -123,7 +123,6 @@ 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']); Route::get('users/giverole',[Utenti::class,'giveRoleToUser']); @@ -147,35 +146,19 @@ Route::group(['middleware'=>['permission:progetti']], function(){ Route::get('progetti/print',[ProgettiController::class,'stampaPDFProgetto']); }); -/// 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']); +// TASKS +Route::group(['middleware'=>['permission:tasks']], function(){ + Route::get('tasks', [TaskController::class, 'listaTask'])->name('tasks'); + }); -/// 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'); -}); +// -- ONLY FOR TEST -- TO BE REMOVED // /// TEST ROUTES Route::get('test/fullcalendar', [FullCalenderController::class, 'index']); Route::post('test/fullcalendar', [FullCalenderController::class, 'ajax']); Route::get('test/condominio',[CondominioController::class,'testPdf']); - Route::get('test/err403',[CondominioController::class,'err403']); + Route::get('test/err403',[CondominioController::class,'err403'])->name('errore-403'); Route::get('test/user_role',[CondominioController::class,'user_role']); Route::get('test/userclass',[Utenti::class,'userClass']); diff --git a/routes/api.php b/routes/api.php index 10552b1..89b9f5d 100644 --- a/routes/api.php +++ b/routes/api.php @@ -20,6 +20,9 @@ use App\Http\Controllers\MovimentiController; Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); }); + +Route::group(['middleware'=>['permission:conti']], function(){ Route::get('categories', [CategorieController::class,'apiList']); Route::get('tags', [TagController::class,'apiList']); - Route::get('movements', [MovimentiController::class,'apiList']); \ No newline at end of file + Route::get('movements', [MovimentiController::class,'apiList']); +}); \ No newline at end of file From 0050c3547eb3670b04a934d0722d9430e3646f34 Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Fri, 14 Jul 2023 16:44:10 +0200 Subject: [PATCH 2/8] Modificato route per errore battitura --- routes/admin.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/admin.php b/routes/admin.php index 30b83b5..6170767 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -15,6 +15,7 @@ use App\Http\Controllers\AutoController; use App\Http\Controllers\AnagraficaController; use App\Http\Controllers\Utenti; use App\Http\Controllers\ProgettiController; +use App\Http\Controllers\TaskController; use App\Mail\myTestEmail; /* @@ -148,7 +149,7 @@ Route::group(['middleware'=>['permission:progetti']], function(){ // TASKS Route::group(['middleware'=>['permission:tasks']], function(){ - Route::get('tasks', [TaskController::class, 'listaTask'])->name('tasks'); + Route::get('tasks', [TaskController::class, 'listTask'])->name('tasks'); }); From 0f382d4182e004957a07a5cfa9ded4f04c6e2146 Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Mon, 17 Jul 2023 12:13:28 +0200 Subject: [PATCH 3/8] Modificato view su dashboard inserendo i tasks --- app/Http/Controllers/MovimentiController.php | 5 +++ app/Http/Controllers/TaskController.php | 2 + app/Models/Task.php | 35 +++++++++++++++++ resources/views/layouts/dashboard.blade.php | 41 ++++++++++++++++++++ 4 files changed, 83 insertions(+) diff --git a/app/Http/Controllers/MovimentiController.php b/app/Http/Controllers/MovimentiController.php index da81706..6569ec4 100644 --- a/app/Http/Controllers/MovimentiController.php +++ b/app/Http/Controllers/MovimentiController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Models\Categorie; use App\Models\Movimenti; use App\Models\tag; +use App\Models\Task; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Rap2hpoutre\FastExcel\FastExcel; @@ -41,11 +42,15 @@ class MovimentiController extends Controller $entrate=Movimenti::getEntrate(date('Y')); $uscite=Movimenti::getUscite(date('Y')); $saldo=Movimenti::getSaldoTot(); + // $mieiTasks=Task::getTaskAssignedToUser(Auth::user()->id); + // $TasksAssegnati=Task::getTaskAssignedByUser(Auth::user()->id); return view('layouts.dashboard',[ 'entrate'=>$entrate, 'uscite'=>$uscite, 'saldo'=>$saldo, + 'mieitask' => $mieiTasks, + 'assegnati' => $TasksAssegnati, ]); } diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php index 65f393f..44f3ef6 100644 --- a/app/Http/Controllers/TaskController.php +++ b/app/Http/Controllers/TaskController.php @@ -12,4 +12,6 @@ class TaskController extends Controller { return Task::all(); } + + } diff --git a/app/Models/Task.php b/app/Models/Task.php index 5458207..df3d8ce 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -8,4 +8,39 @@ use Illuminate\Database\Eloquent\Model; class Task extends Model { use HasFactory; + + protected $fillable=['titolo','descrizione','creato_da','assegnato_a','creato_il','termine_il','chiuso_il','stato']; + + public function getAllTasks() + { + return self::all(); + } + + // + public static function getTaskAssignedToUser($userid) + { + return self::where('assegnato_a',$userid)->get(); + } + + // + public static function getTaskAssignedByUser($userid) + { + return self::where('creato_da',$userid)->get(); + } + + public static function saveTask($collection) + { + self::create( + [ + 'titolo' => $collection['titolo'], + 'descrizione'=>$collection['descrizione'], + 'creato_da'=>$collection['creato_da'], + 'assegnato_a'=>$collection['assegnato_a'], + 'creato_il'=>date('Y-m-d'), + 'termine_il'=>$collection['termine_il'], + 'stato'=>'Aperto', + ] + ); + } + } diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index 3b86dbb..76001e3 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -100,7 +100,48 @@
    @endhasanyrole + + +@can('tasks') + +
    +
    +
    +
    + Attività a me assegnate +
    +
    +
      + @foreach($mieitask as $task) +
    • {{ $task->titolo }}
    • + @endforeach +
    +
    + +
    +
    +
    +
    +
    + Attività da me assegnate ad altri +
    +
    +
      + @foreach($assegnati as $assegnato) +
    • {{ $assegnato->titolo }}
    • + @endforeach +
    +
    + +
    +
    +
    +@endcan @endsection @section('script') From 8dff2e0853eb65e6b6fa2e438ed468f7864d81f4 Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Mon, 17 Jul 2023 13:20:06 +0200 Subject: [PATCH 4/8] Corretto problemi precedente pubblicazione --- app/Http/Controllers/MovimentiController.php | 7 +++++-- resources/views/layouts/dashboard.blade.php | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/MovimentiController.php b/app/Http/Controllers/MovimentiController.php index 6569ec4..f5fe619 100644 --- a/app/Http/Controllers/MovimentiController.php +++ b/app/Http/Controllers/MovimentiController.php @@ -6,8 +6,11 @@ use App\Models\Categorie; use App\Models\Movimenti; use App\Models\tag; use App\Models\Task; +// use App\Models\User; +// use App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; use Rap2hpoutre\FastExcel\FastExcel; class MovimentiController extends Controller @@ -42,8 +45,8 @@ class MovimentiController extends Controller $entrate=Movimenti::getEntrate(date('Y')); $uscite=Movimenti::getUscite(date('Y')); $saldo=Movimenti::getSaldoTot(); - // $mieiTasks=Task::getTaskAssignedToUser(Auth::user()->id); - // $TasksAssegnati=Task::getTaskAssignedByUser(Auth::user()->id); + $mieiTasks=Task::getTaskAssignedToUser(Auth::id()); + $TasksAssegnati=Task::getTaskAssignedByUser(Auth::id()); return view('layouts.dashboard',[ 'entrate'=>$entrate, diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index 76001e3..9b69bb0 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -8,7 +8,7 @@
    @hasanyrole('user|admin') -
    +
    @@ -31,7 +31,7 @@
    -
    +
    @@ -55,7 +55,7 @@
    -
    +
    @@ -77,7 +77,7 @@
    -
    +
    From 9f0c93c9215b2e5c709d477e6a8f14d176e25f44 Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Mon, 17 Jul 2023 13:31:46 +0200 Subject: [PATCH 5/8] correzioni varie --- public/js/app/movimenti.js | 8 ++++++-- resources/views/tasks/list.blade.php | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/public/js/app/movimenti.js b/public/js/app/movimenti.js index de6f277..3364fc8 100644 --- a/public/js/app/movimenti.js +++ b/public/js/app/movimenti.js @@ -117,10 +117,14 @@ $(document).on('click', '.open_modal_modifica', function() { }); -/*$.getJSON("/admin/service/taglist", {}, function(data) { +/* + +$.getJSON("/admin/service/taglist", {}, function(data) { $.each(data, function(i, item) { $("select[name='mov_fk_tags']").append( new Option(item.tag_name, item.id) ) }); -});*/ +}); + +*/ diff --git a/resources/views/tasks/list.blade.php b/resources/views/tasks/list.blade.php index 44dd6b8..c0c365c 100644 --- a/resources/views/tasks/list.blade.php +++ b/resources/views/tasks/list.blade.php @@ -2,7 +2,7 @@ @section('content')
    -

    Lista Progetti

    +

    Lista Attività

    @@ -10,6 +10,15 @@
    + class="fa fa-pencil-square-o fw">Nuova Attività
    -
    \ No newline at end of file +
    +
    +
    + +
    +
    +@endsection +@section('script') + @endsection \ No newline at end of file diff --git a/routes/admin.php b/routes/admin.php index ad4050c..b37d4b1 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -150,7 +150,8 @@ Route::group(['middleware'=>['permission:progetti']], function(){ // TASKS Route::group(['middleware'=>['permission:tasks']], function(){ Route::get('tasks', [TaskController::class, 'Task'])->name('tasks'); - + Route::post('task/new',[TaskController::class, 'newTask']); + Route::get('service/getUsers', [Utenti::class,'getUsers']); }); // -- ONLY FOR TEST -- TO BE REMOVED // From 58e9344180ccbbb051517d61f743a982bd591bae Mon Sep 17 00:00:00 2001 From: FlavioBarachino Date: Wed, 19 Jul 2023 11:09:25 +0200 Subject: [PATCH 8/8] Creato pagine Avvisi e sistemato dashboard (creato permesso "Avvisi") --- app/Http/Controllers/AvvisoController.php | 6 +++++ app/Http/Controllers/MovimentiController.php | 8 +++--- app/Models/Avviso.php | 17 ++++++++++++ ...2023_07_18_145041_create_avvisos_table.php | 4 ++- public/js/app/dashboard.js | 2 ++ resources/views/layouts/dashboard.blade.php | 26 +++++++++---------- resources/views/tasks/list.blade.php | 4 +-- routes/admin.php | 5 ++++ 8 files changed, 53 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/AvvisoController.php b/app/Http/Controllers/AvvisoController.php index 645ddbd..13aa29b 100644 --- a/app/Http/Controllers/AvvisoController.php +++ b/app/Http/Controllers/AvvisoController.php @@ -3,8 +3,14 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Models\Avviso; class AvvisoController extends Controller { // + public function saveAvviso(Request $request) + { + Avviso::newAvviso($request); + return redirect()->back(); + } } diff --git a/app/Http/Controllers/MovimentiController.php b/app/Http/Controllers/MovimentiController.php index f5fe619..9b31378 100644 --- a/app/Http/Controllers/MovimentiController.php +++ b/app/Http/Controllers/MovimentiController.php @@ -6,7 +6,7 @@ use App\Models\Categorie; use App\Models\Movimenti; use App\Models\tag; use App\Models\Task; -// use App\Models\User; +use App\Models\Avviso; // use App\Http\Controllers\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -46,14 +46,16 @@ class MovimentiController extends Controller $uscite=Movimenti::getUscite(date('Y')); $saldo=Movimenti::getSaldoTot(); $mieiTasks=Task::getTaskAssignedToUser(Auth::id()); - $TasksAssegnati=Task::getTaskAssignedByUser(Auth::id()); + // $TasksAssegnati=Task::getTaskAssignedByUser(Auth::id()); + $avvisi=Avviso::getAvvisi(); return view('layouts.dashboard',[ 'entrate'=>$entrate, 'uscite'=>$uscite, 'saldo'=>$saldo, 'mieitask' => $mieiTasks, - 'assegnati' => $TasksAssegnati, + // 'assegnati' => $TasksAssegnati, + 'avvisi'=>$avvisi, ]); } diff --git a/app/Models/Avviso.php b/app/Models/Avviso.php index 8b38f0a..652cc9a 100644 --- a/app/Models/Avviso.php +++ b/app/Models/Avviso.php @@ -8,4 +8,21 @@ use Illuminate\Database\Eloquent\Model; class Avviso extends Model { use HasFactory; + + protected $fillable=['avviso','creato_il', 'creato_da', 'urgente']; + + public static function newAvviso($data) + { + self::create([ + 'avviso'=>$data['avviso'], + 'creato_da'=>$data['creato_da'], + 'creato_il'=>date('Y-m-d'), + 'urgente'=>$data['urgente'], + ]); + } + + public static function getAvvisi() + { + return self::all(); + } } diff --git a/database/migrations/2023_07_18_145041_create_avvisos_table.php b/database/migrations/2023_07_18_145041_create_avvisos_table.php index 0f0ec58..fccb97f 100644 --- a/database/migrations/2023_07_18_145041_create_avvisos_table.php +++ b/database/migrations/2023_07_18_145041_create_avvisos_table.php @@ -17,7 +17,9 @@ class CreateAvvisosTable extends Migration $table->id(); $table->timestamps(); $table->longtext('avviso'); - $table->date('creato_il'); + $table->date('creato_il')->nullable()->default(date('Y-m-d')); + $table->bigInteger('creato_da'); + $table->boolean('urgente')->nullable()->default(false); }); } diff --git a/public/js/app/dashboard.js b/public/js/app/dashboard.js index fdc5c97..a016277 100644 --- a/public/js/app/dashboard.js +++ b/public/js/app/dashboard.js @@ -4,10 +4,12 @@ $(document).ready(function() { responsive: true }); // Reload del div + /* $.ajaxSetup({ cache: false }); setInterval(function() { $('#mieitask').load('/admin'); }, 8000); + */ }); diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index a511700..b965aef 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -146,29 +146,29 @@
    @@ -177,5 +177,5 @@ @endsection @section('script') - + @endsection diff --git a/resources/views/tasks/list.blade.php b/resources/views/tasks/list.blade.php index 42b759a..2db016e 100644 --- a/resources/views/tasks/list.blade.php +++ b/resources/views/tasks/list.blade.php @@ -25,7 +25,7 @@
  • - +
    {{ $task->titolo}} @@ -84,7 +84,7 @@