aggiunto funzionalità modale ai popup di inserimento. TODO: rivedere impostazione grafica dell'aggiunta della riga
This commit is contained in:
parent
f673953377
commit
709e415273
@ -6,6 +6,7 @@ use App\Models\Progetti;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\RigaProgetto;
|
||||
use function GuzzleHttp\json_encode;
|
||||
|
||||
class ProgettiController extends Controller
|
||||
{
|
||||
@ -24,6 +25,11 @@ class ProgettiController extends Controller
|
||||
return view('progetti.new',['coordinatori'=>User::getUsers()]);
|
||||
}
|
||||
|
||||
public function getCoordinatori()
|
||||
{
|
||||
return json_encode(User::getUsers());
|
||||
}
|
||||
|
||||
public function salvaProgetto(Request $request)
|
||||
{
|
||||
Progetti::saveProgetto($request);
|
||||
@ -36,9 +42,9 @@ class ProgettiController extends Controller
|
||||
}
|
||||
|
||||
|
||||
public function dettaglioProgetto(Request $id)
|
||||
public function dettaglioProgetto($id)
|
||||
{
|
||||
$progetto_id=$id['id'];
|
||||
$progetto_id=$id;
|
||||
$progetto = Progetti::getProgettoById($progetto_id);
|
||||
$righe = RigaProgetto::getRigheProgetto($progetto_id);
|
||||
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
|
||||
|
@ -8,14 +8,14 @@ use App\Models\RigaProgetto;
|
||||
class RigaProgettoController extends Controller
|
||||
{
|
||||
//
|
||||
public function deleterow($id_row,$id_prog)
|
||||
public function deleterow($id_row,$id)
|
||||
{
|
||||
$id_riga = $id_row;
|
||||
$id_progetto = $id_prog;
|
||||
//$id_progetto = $id_prog;
|
||||
|
||||
RigaProgetto::deleteRow($id_riga);
|
||||
// Ritorna alla pagina dei dettagli del progetto
|
||||
return redirect('/admin/progetti/detail/?id='.$id_progetto);
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
public function editRiga($id)
|
||||
@ -26,17 +26,17 @@ class RigaProgettoController extends Controller
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function updateRiga(Request $data)
|
||||
public function updateRiga(Request $data,$id)
|
||||
{
|
||||
RigaProgetto::updateRiga($data);
|
||||
$id_progetto=$data['fk_id_progetto'];
|
||||
return redirect('/admin/progetti/detail/?id='.$id_progetto);
|
||||
// $id_progetto=$data['fk_id_progetto'];
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
public function inserisciRiga(Request $args)
|
||||
public function inserisciRiga(Request $args,$id)
|
||||
{
|
||||
RigaProgetto::saveRiga($args);
|
||||
return redirect(Route('detail',['id'=>$args['fk_id_progetto']]));
|
||||
RigaProgetto::saveRiga($args,$id);
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,10 +15,10 @@ class RigaProgetto extends Model
|
||||
return DB::table('riga_progettos')->where('fk_id_progetto','=',$progetto_id)->orderBy('data')->get();
|
||||
}
|
||||
|
||||
public static function saveRiga($args)
|
||||
public static function saveRiga($args,$id)
|
||||
{
|
||||
DB::table('riga_progettos')->insert([
|
||||
'fk_id_progetto'=>$args['fk_id_progetto'],
|
||||
'fk_id_progetto'=>$id,
|
||||
'data'=>$args['data'],
|
||||
'descrizione'=>$args['descrizione'],
|
||||
'prezzo'=>$args['prezzo'],
|
||||
|
@ -6,12 +6,7 @@
|
||||
</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">
|
||||
@ -87,59 +82,15 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" id="form">Inserisci riga (click
|
||||
show/hide)</div>
|
||||
<div class="panel-body">
|
||||
<form method="POST" action="">
|
||||
<div class="row">
|
||||
@csrf
|
||||
<div class="col-xs-2">
|
||||
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<label for="tdata" class="form-label">data:</label> <input
|
||||
type="date" name="data" class="form-control" id="data"
|
||||
value="{{ date('Y-m-d') }}">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-5">
|
||||
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<label for="desc" class="form-label">descrizione:</label> <input
|
||||
type="text" name="descrizione" class="form-control" id="desc">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<label for="ore" class="form-label">ore lavoro:</label>
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<input type="text" name="ore" class="form-control" id="ore">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<label for="ore" class="form-label">prezzo:</label>
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<input type="text" name="prezzo" class="form-control" id="ore">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="hidden" name="fk_id_progetto" value="{{ $progetto->id }}">
|
||||
<input type="submit" name="Submit" class="form-control">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" id="form">Elementi e costi del progetto</div>
|
||||
<div class="row p-3">
|
||||
<button class="btn btn-primary open_modal_addRow">Nuova riga</button>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="row">
|
||||
<table class="table table-striped table-bordered table-hover" id="tab_progetti">
|
||||
<thead>
|
||||
@ -159,7 +110,7 @@
|
||||
<td>{{ $riga->descrizione }}</td>
|
||||
<td>{{ $riga->ore }}</td>
|
||||
<td>{{ $riga->prezzo }}</td>
|
||||
<td><a href="delete_row/{{ $riga->id }}/return/{{ $progetto->id }}" class="btn btn-danger">X</a>
|
||||
<td><a href="/admin/progetti/delete_row/{{ $riga->id }}/return/{{ $progetto->id }}" class="btn btn-danger">X</a>
|
||||
|
||||
<button class="btn btn-warning btn-detail open_modal" value="{{$riga->id}}">Edit</button>
|
||||
</td>
|
||||
@ -243,39 +194,56 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- MODAL END -->
|
||||
|
||||
<!-- MODAL NEW ROW -->
|
||||
<div class="modal fade" id="myModal_addRow" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="panel-heading" id="form">Aggiungi Riga</div>
|
||||
|
||||
<form method="POST" action="">
|
||||
<div class="row">
|
||||
@csrf
|
||||
<div class="col-xs-2">
|
||||
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<label for="tdata" class="form-label">data:</label> <input
|
||||
type="date" name="data" class="form-control" id="data"
|
||||
value="{{ date('Y-m-d') }}">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-5">
|
||||
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<label for="desc" class="form-label">descrizione:</label> <input
|
||||
type="text" name="descrizione" class="form-control" id="desc">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<label for="ore" class="form-label">ore lavoro:</label>
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<input type="text" name="ore" class="form-control" id="ore">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<label for="ore" class="form-label">prezzo:</label>
|
||||
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||
<input type="text" name="prezzo" class="form-control" id="ore">
|
||||
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<!-- <input type="hidden" name="fk_id_progetto" value="">-->
|
||||
<input type="submit" name="Submit" class="form-control">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<!-- /MODAL RIGA -->
|
||||
|
||||
|
||||
<!-- /.col-lg-12 -->
|
||||
|
||||
@endsection @section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#tab_progetti').DataTable({
|
||||
responsive: true
|
||||
});
|
||||
|
||||
$('#form').click(function(){
|
||||
$('form').toggle();
|
||||
});
|
||||
|
||||
$("#dettaglio").click(function(){
|
||||
$('[hidable]').toggle();
|
||||
});
|
||||
|
||||
$(document).on('click','.open_modal',function(){
|
||||
var url = "detail/edit";
|
||||
var riga_id= $(this).val();
|
||||
$.get(url + '/' + riga_id, function (data) {
|
||||
//success data
|
||||
console.log(data);
|
||||
console.log(data[0].descrizione);
|
||||
$('#data_u').val(data[0].data);
|
||||
$('#desc_u').val(data[0].descrizione);
|
||||
$('#ore_u').val(data[0].ore);
|
||||
$('#prezzo_u').val(data[0].prezzo);
|
||||
$('#id_progetto_u').val(data[0].fk_id_progetto);
|
||||
$('#idriga').val(data[0].id);
|
||||
$('#myModal').modal('show');
|
||||
})
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="/js/app/rigaProgetti.js"></script>
|
||||
@endsection
|
@ -1,28 +1,27 @@
|
||||
@extends('admin')
|
||||
@section('content')
|
||||
@extends('admin') @section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">Lista Progetti</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<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>
|
||||
<button class="btn btn-primary open_modal_new"><i
|
||||
class="fa fa-pencil-square-o fw"></i>Nuovo Progetto</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Lista dei progetti
|
||||
</div>
|
||||
<div class="panel-heading">Lista dei progetti</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered table-hover" id="tab_progetti">
|
||||
<table class="table table-striped table-bordered table-hover"
|
||||
id="tab_progetti">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
@ -37,14 +36,14 @@
|
||||
<tbody>
|
||||
@foreach($progetti ?? '' as $progetto)
|
||||
<tr>
|
||||
<td><a href="progetti/detail?id={{ $progetto->progetto }}">{{ $progetto->nome; }}</a></td>
|
||||
<td><a href="progetti/detail/{{ $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->progetto }}" class="btn btn-danger">Cancella</a>
|
||||
</td>
|
||||
<td><a href="progetti/delete?id={{ $progetto->progetto }}"
|
||||
class="btn btn-danger">Cancella</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -53,19 +52,94 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- /.col-lg-12 -->
|
||||
<!-- MODAL -->
|
||||
<div class="modal fade" id="myModal_new" tabindex="-1" role="dialog"
|
||||
aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<form action="" method="POST" id="form_new">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Nuovo Progetto</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#tab_progetti').DataTable({
|
||||
responsive: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@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>
|
||||
<!-- TODO: Da vedere funzione di select in js -->
|
||||
<select name="coordinatore" class="form-control selectpicker"
|
||||
id="coordinatore" data-live-search="true"
|
||||
data-live-search-placeholder="Cerca">
|
||||
</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>
|
||||
<div class="modal-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button type="submit" class="btn btn-primary">Aggiungi</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- /MODAL -->
|
||||
@endsection @section('script')
|
||||
<script src="/js/app/progetti.js"></script>
|
||||
@endsection
|
@ -115,10 +115,11 @@ Route::get('/', [MovimentiController::class,'dashboard']);
|
||||
Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
|
||||
Route::get('progetti/delete',[ProgettiController::class, 'deleteProgetto']);
|
||||
Route::get('progetti/delete_row/{id_row}/return/{id_prog}',[RigaProgettoController::class, 'deleterow']);
|
||||
Route::get('progetti/detail', [ProgettiController::class, 'dettaglioProgetto'])->name('detail');
|
||||
Route::post('progetti/detail', [RigaProgettoController::class, 'inserisciRiga']);
|
||||
Route::get('progetti/detail/{id}', [ProgettiController::class, 'dettaglioProgetto'])->name('detail');
|
||||
Route::post('progetti/detail/{id}', [RigaProgettoController::class, 'inserisciRiga']);
|
||||
Route::get('progetti/detail/edit/{id}', [RigaProgettoController::class, 'editRiga']);
|
||||
Route::post('progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']);
|
||||
Route::get('progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']);
|
||||
/// TEST routes
|
||||
Route::get('fullcalendar', [FullCalenderController::class, 'index']);
|
||||
Route::post('fullcalendar', [FullCalenderController::class, 'ajax']);
|
||||
|
Loading…
Reference in New Issue
Block a user