BUB-19 Realizzato lista e inserimento nuovo progetto

This commit is contained in:
Amministratore 2023-04-12 17:11:03 +02:00
parent 6d759ffacd
commit c8f244700b
7 changed files with 141 additions and 2 deletions

View File

@ -2,9 +2,31 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Progetti;
use App\Models\User;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class ProgettiController extends Controller class ProgettiController extends Controller
{ {
// //
public function listaProgetto()
{
return view('progetti.list',[
'progetti'=>Progetti::getProgetti()
]);
}
public function nuovoProgetto()
{
return view('progetti.new',['coordinatori'=>User::getUsers()]);
}
public function salvaProgetto(Request $request)
{
Progetti::saveProgetto($request);
return view('progetti.list',[
'progetti'=>Progetti::getProgetti()
]);
}
} }

View File

@ -25,7 +25,7 @@ class Progetti extends Model
'data_creazione'=>date('Y-m-d'), 'data_creazione'=>date('Y-m-d'),
'data_inizio'=>$progetto['data_inizio'], 'data_inizio'=>$progetto['data_inizio'],
'data_fine'=>$progetto['data_fine'], 'data_fine'=>$progetto['data_fine'],
'coordinatore'=>$progetto['coordinatore'], 'fk_user'=>$progetto['coordinatore'],
'budget'=>$progetto['budget'], 'budget'=>$progetto['budget'],
'stato'=>$progetto['stato'], 'stato'=>$progetto['stato'],
'note'=>$progetto['note'] 'note'=>$progetto['note']

View File

@ -64,6 +64,10 @@ class User extends Authenticatable
} }
public static function getUserById($id) public static function getUserById($id)
{
return DB::table('users')->where('id','=',$id)->get();
}
public static function getUsers()
{ {
return DB::table('users')->orderBy('name')->get(); return DB::table('users')->orderBy('name')->get();
} }

View File

@ -78,7 +78,20 @@
</li> </li>
</ul> </ul>
</li> </li>
<li>
<a href="#"><i class="fa fa-list fa-fw"></i> Progetti <span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<li>
<a href="{{ route('progetti'); }}"><i class="fa fa-list fa-fw"></i>Lista</a>
</li>
<li>
<a href="{{ route('nuovoProgetto'); }}"><i class="fa fa-plus fa-fw"></i>Nuovo progetto</a>
</li>
</ul>
</li>
<li> <li>
<a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span class="fa arrow"></span></a> <a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span class="fa arrow"></span></a>
<ul class="nav nav-second-level"> <ul class="nav nav-second-level">

View File

@ -39,7 +39,7 @@
<td><a href="progetto/detail?id={{ $progetto->id }}">{{ $progetto->nome; }}</a></td> <td><a href="progetto/detail?id={{ $progetto->id }}">{{ $progetto->nome; }}</a></td>
<td>{{ $progetto->data_creazione; }}</td> <td>{{ $progetto->data_creazione; }}</td>
<td>{{ $progetto->stato; }}</td> <td>{{ $progetto->stato; }}</td>
<td>{{ $progetto->coordinatore; }}</td> <td>{{ $progetto->fk_user; }}</td>
<td>{{ $progetto->budget; }}</td> <td>{{ $progetto->budget; }}</td>
</tr> </tr>
@endforeach @endforeach

View File

@ -0,0 +1,94 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Progetto</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Nuovo progetto
</div>
<div class="panel-body">
<form action="" method="POST">
@csrf
<div class="row">
<div class="col-xs-6">
<label for="nome" class="form-label">Nome</label>
<input type="text" class="form-control" id="nome" name="nome" />
</div>
<div class="col-xs-6">
<label for="coordinatore" class="form-label">Coordinatore</label>
<select name="coordinatore" class="form-control selectpicker" id="coordinatore" data-live-search="true" data-live-search-placeholder="Cerca">
@foreach($coordinatori as $coordinatore)
<option value="{{ $coordinatore->id; }}">{{ $coordinatore->name }}</option>
@endforeach
</select>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label for="descrizione" class="form-label">Descrizione</label>
<textarea class="form-control" id="descrizione" name="descrizione"></textarea>
</div>
</div>
<div class="row">
<div class="col-xs-5">
<label for="budget" class="form-label">Budget previsto</label>
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-eur"></i>
</span>
<input type="number" step="0.01" min="-999999" max="999999" class="form-control" id="budget" size="50" name="budget" aria-describedby="Budget">
</div>
</div>
<!-- <div id="importo" class="form-text">inserire l'importo (se spesa far precedere da il simbolo "-")</div>-->
<div class="col-xs-7">
<label for=stato class="form-label">Tag</label>
<select name="stato" class="form-control" id="stato">
<option value="aperto">Aperto</option>
<option value="bloccato">Bloccato</option>
<option value="chiuso">chiuso</option>
</select>
</div>
</div>
<div class="row">
<div class="col-xs-6">
<label for="data_inizio" class="form-label">Data Inizio</label>
<input type="date" class="form-control" id="data_inizio" name="data_inizio" />
</div>
<div class="col-xs-6">
<label for="data_fine" class="form-label">Data Fine</label>
<input type="date" class="form-control" id="data_fine" name="data_fine" />
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label for="note" class="form-label">Note</label>
<textarea class="form-control" id="note" name="note"></textarea>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script>
$(document).ready(function() {
$('#listamovimenti').DataTable({
responsive: true
});
});
</script>
@endsection

View File

@ -13,6 +13,7 @@ use App\Http\Controllers\FullCalenderController;
use App\Http\Controllers\AutoController; use App\Http\Controllers\AutoController;
use App\Http\Controllers\AnagraficaController; use App\Http\Controllers\AnagraficaController;
use App\Http\Controllers\Utenti; use App\Http\Controllers\Utenti;
use App\Http\Controllers\ProgettiController;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Web Routes | Web Routes
@ -93,6 +94,7 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('contatti/addOther', [AnagraficaController::class, 'insOtherContact']); Route::get('contatti/addOther', [AnagraficaController::class, 'insOtherContact']);
Route::post('contatti/addOther', [AnagraficaController::class, 'saveOtherContact']); Route::post('contatti/addOther', [AnagraficaController::class, 'saveOtherContact']);
// Gruppi e permessi
Route::get('group/new', [Utenti::class, 'nuovoGruppo']); Route::get('group/new', [Utenti::class, 'nuovoGruppo']);
Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']); Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']);
Route::get('permesso/new', [Utenti::class, 'nuovoPermesso']); Route::get('permesso/new', [Utenti::class, 'nuovoPermesso']);
@ -100,6 +102,10 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']); Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']);
Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']); Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']);
// Progetti
Route::get('progetti', [ProgettiController::class, 'listaProgetto'])->name('progetti');
Route::post('progetti/new', [ProgettiController::class, 'salvaProgetto']);
Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
/// TEST routes /// TEST routes
Route::get('fullcalendar', [FullCalenderController::class, 'index']); Route::get('fullcalendar', [FullCalenderController::class, 'index']);
Route::post('fullcalendar', [FullCalenderController::class, 'ajax']); Route::post('fullcalendar', [FullCalenderController::class, 'ajax']);