gestito collegamento a dettaglio

TODO: pagina di view da realizzare attualmente è una brutta copia della lista
This commit is contained in:
Amministratore 2023-05-03 15:21:40 +02:00
parent 159d0fe30d
commit fc5b8fd3ab
5 changed files with 103 additions and 6 deletions

View File

@ -11,6 +11,8 @@ class ProgettiController extends Controller
//
public function listaProgetto()
{
/* $progetti=Progetti::getProgetti();
dd($progetti);*/
return view('progetti.list',[
'progetti'=>Progetti::getProgetti()
]);
@ -32,4 +34,15 @@ class ProgettiController extends Controller
return redirect(Route('progetti'));
}
public function inserisciTask(Request $id)
{
}
public function dettaglioProgetto(Request $id)
{
$progetto = Progetti::getProgettoById($id['id']);
return view('progetti.dettaglio',['dettaglio'=>$progetto]);
}
}

View File

@ -11,11 +11,23 @@ class Progetti extends Model
use HasFactory;
public static function getProgetti() {
return DB::table('progettis')->join('users','progettis.fk_user','=','users.id')->get();
return DB::table('progettis')
->select(
'progettis.id as progetto',
'users.id as userid',
'nome',
'name',
'descrizione',
'data_creazione',
'data_fine',
'budget',
'stato',
'note')
->join('users','progettis.fk_user','=','users.id')->get();
}
public static function getProgettoById($id){
return DB::table('progettis')->where('id','=',$id)->get();
return DB::table('progettis')->join('users','progettis.fk_user','=','users.id')->where('progettis.id','=',$id)->get();
}
public static function saveProgetto($progetto){

View File

@ -0,0 +1,71 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Lista Progetti</h1>
</div>
</div>
<div class="container">
<!-- Content here -->
<div class="row">
<div class="col-xs-12">
<a class="btn btn-primary" href="progetti/new"><i class="fa fa-pencil-square-o fw"></i></a>
</div>
</div>
<div class="row">
<div class="col-xs-10">
<div class="panel panel-default">
<div class="panel-heading">
Dettaglio Progetto
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="tab_progetti">
<thead>
<tr>
<th>Nome</th>
<th>Data Creazione</th>
<th>Stato</th>
<th>Coordinatore</th>
<th>Budget</th>
<th>Azioni</th>
</tr>
</thead>
<tbody>
@foreach($dettaglio ?? '' as $progetto)
<tr>
<td>{{ $progetto->nome; }}</a></td>
<td>{{ $progetto->data_creazione; }}</td>
<td>{{ $progetto->stato; }}</td>
<td>{{ $progetto->name; }}</td>
<td>{{ $progetto->budget; }}</td>
<td>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- /.col-lg-12 -->
@endsection
@section('script')
<script>
$(document).ready(function() {
$('#tab_progetti').DataTable({
responsive: true
});
});
</script>
@endsection

View File

@ -37,13 +37,13 @@
<tbody>
@foreach($progetti ?? '' as $progetto)
<tr>
<td><a href="progetti/detail?id={{ $progetto->id }}">{{ $progetto->nome; }}</a></td>
<td><a href="progetti/detail?id={{ $progetto->progetto }}">{{ $progetto->nome; }}</a></td>
<td>{{ $progetto->data_creazione; }}</td>
<td>{{ $progetto->stato; }}</td>
<td>{{ $progetto->name; }}</td>
<td>{{ $progetto->budget; }}</td>
<td>
<a href="progetti/delete?id={{ $progetto->id }}" class="btn btn-danger">Cancella</a>
<a href="progetti/delete?id={{ $progetto->progetto }}" class="btn btn-danger">Cancella</a>
</td>
</tr>
@endforeach

View File

@ -110,7 +110,8 @@ 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::post('progetti/detail', [ProgettiController::class, 'inserisciTask']);
/// TEST routes
Route::get('fullcalendar', [FullCalenderController::class, 'index']);