From 10d5766975e413139d43a61ce2a10ba8a3511db2 Mon Sep 17 00:00:00 2001 From: Flavio Barachino Date: Tue, 9 May 2023 21:11:23 +0200 Subject: [PATCH] lavori sulla parte dei progetti. --- app/Http/Controllers/ProgettiController.php | 13 ++++--- app/Models/Progetti.php | 6 +++- app/Models/RigaProgetto.php | 17 +++++++++ ..._03_164304_create_riga_progettos_table.php | 6 ++++ resources/views/progetti/dettaglio.blade.php | 36 ++++++++++++------- routes/admin.php | 2 +- 6 files changed, 62 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/ProgettiController.php b/app/Http/Controllers/ProgettiController.php index 0dde7fe..176ad13 100644 --- a/app/Http/Controllers/ProgettiController.php +++ b/app/Http/Controllers/ProgettiController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Models\Progetti; use App\Models\User; use Illuminate\Http\Request; +use App\Models\RigaProgetto; class ProgettiController extends Controller { @@ -34,15 +35,19 @@ class ProgettiController extends Controller return redirect(Route('progetti')); } - public function inserisciTask(Request $id) + public function inserisciTask(Request $args) { - + RigaProgetto::saveRiga($args); + return redirect(Route('detail',['id'=>$args['fk_id_progetto']])); } public function dettaglioProgetto(Request $id) { - $progetto = Progetti::getProgettoById($id['id']); - return view('progetti.dettaglio',['dettaglio'=>$progetto]); + $progetto_id=$id['id']; + $progetto = Progetti::getProgettoById($progetto_id); + $righe = RigaProgetto::getRigheProgetto($progetto_id); + return view('progetti.dettaglio',['dettaglio'=>$progetto, 'righe'=>$righe,]); + //dd($righe); } } diff --git a/app/Models/Progetti.php b/app/Models/Progetti.php index d21e545..7d4564a 100644 --- a/app/Models/Progetti.php +++ b/app/Models/Progetti.php @@ -27,7 +27,11 @@ class Progetti extends Model } public static function getProgettoById($id){ - return DB::table('progettis')->join('users','progettis.fk_user','=','users.id')->where('progettis.id','=',$id)->get(); + return DB::table('progettis')-> + join('users','progettis.fk_user','=','users.id')-> + select('users.id as userid', 'users.name as name', 'progettis.*')-> + where('progettis.id','=',$id)-> + get(); } public static function saveProgetto($progetto){ diff --git a/app/Models/RigaProgetto.php b/app/Models/RigaProgetto.php index 6d49d50..afa16a0 100644 --- a/app/Models/RigaProgetto.php +++ b/app/Models/RigaProgetto.php @@ -4,8 +4,25 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\DB; class RigaProgetto extends Model { use HasFactory; + + public static function getRigheProgetto($progetto_id) + { + return DB::table('riga_progettos')->where('fk_id_progetto','=',$progetto_id)->get(); + } + + public static function saveRiga($args) + { + DB::table('riga_progettos')->insert([ + 'fk_id_progetto'=>$args['fk_id_progetto'], + 'data'=>$args['data'], + 'descrizione'=>$args['descrizione'], + 'prezzo'=>$args['prezzo'], + 'ore'=>$args['ore'], + ]); + } } diff --git a/database/migrations/2023_05_03_164304_create_riga_progettos_table.php b/database/migrations/2023_05_03_164304_create_riga_progettos_table.php index e92b7d5..36067a1 100644 --- a/database/migrations/2023_05_03_164304_create_riga_progettos_table.php +++ b/database/migrations/2023_05_03_164304_create_riga_progettos_table.php @@ -16,6 +16,12 @@ class CreateRigaProgettosTable extends Migration Schema::create('riga_progettos', function (Blueprint $table) { $table->id(); $table->timestamps(); + $table->date('data'); + $table->longText('descrizione'); + $table->decimal('prezzo',10,2)->nullable(); + $table->decimal('ore',10,2)->nullable(); + $table->unsignedBigInteger('fk_id_progetto'); + $table->foreign('fk_id_progetto')->references('id')->on('progettis'); }); } diff --git a/resources/views/progetti/dettaglio.blade.php b/resources/views/progetti/dettaglio.blade.php index d7da7df..a211062 100644 --- a/resources/views/progetti/dettaglio.blade.php +++ b/resources/views/progetti/dettaglio.blade.php @@ -81,14 +81,14 @@
Inserisci riga (click show/hide)
-
+
@csrf
@@ -96,7 +96,7 @@ + type="text" name="descrizione" class="form-control" id="desc">
@@ -108,10 +108,11 @@
- +
+
@@ -128,8 +129,9 @@
Elementi e costi del progetto
- + +
+
@@ -140,19 +142,29 @@ @foreach($righe as $riga) + @if(isset($riga->data)) - + + @else + + + + + + + @endif @endforeach - +
Data
{{ date('d/m/Y',strtotime($riga->data)) }}{{ date('d/m/Y',strtotime($riga->data)) }} {{ $riga->descrizione }} {{ $riga->ore }} {{ $riga->prezzo }}
non c'ènon c'ènon c'ènon c'è
+
- < + @endsection @section('script') @@ -161,13 +173,13 @@ $('#tab_progetti').DataTable({ responsive: true }); - + $('#form').click(function(){ - $('form').slideToggle(500); + $('form').toggle(); }); $("#dettaglio").click(function(){ - $("[hidable]").slideToggle(500); + $('[hidable]').toggle(); }); }); diff --git a/routes/admin.php b/routes/admin.php index bba09c9..d7f5c9c 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -110,7 +110,7 @@ Route::get('/', [MovimentiController::class,'dashboard']); Route::post('progetti/new', [ProgettiController::class, 'salvaProgetto']); Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto'); Route::get('progetti/delete',[ProgettiController::class, 'deleteProgetto']); - Route::get('progetti/detail', [ProgettiController::class, 'dettaglioProgetto']); + Route::get('progetti/detail', [ProgettiController::class, 'dettaglioProgetto'])->name('detail'); Route::post('progetti/detail', [ProgettiController::class, 'inserisciTask']); /// TEST routes