Merge branch 'devel' - Effettuato modifiche nella parte progetti e righe progetto.
This commit is contained in:
commit
b88290c192
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||||||
use App\Models\Progetti;
|
use App\Models\Progetti;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\RigaProgetto;
|
||||||
|
|
||||||
class ProgettiController extends Controller
|
class ProgettiController extends Controller
|
||||||
{
|
{
|
||||||
@ -34,15 +35,19 @@ class ProgettiController extends Controller
|
|||||||
return redirect(Route('progetti'));
|
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)
|
public function dettaglioProgetto(Request $id)
|
||||||
{
|
{
|
||||||
$progetto = Progetti::getProgettoById($id['id']);
|
$progetto_id=$id['id'];
|
||||||
return view('progetti.dettaglio',['dettaglio'=>$progetto]);
|
$progetto = Progetti::getProgettoById($progetto_id);
|
||||||
|
$righe = RigaProgetto::getRigheProgetto($progetto_id);
|
||||||
|
return view('progetti.dettaglio',['dettaglio'=>$progetto, 'righe'=>$righe,]);
|
||||||
|
//dd($righe);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
19
app/Http/Controllers/RigaProgettoController.php
Normal file
19
app/Http/Controllers/RigaProgettoController.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\RigaProgetto;
|
||||||
|
|
||||||
|
class RigaProgettoController extends Controller
|
||||||
|
{
|
||||||
|
//
|
||||||
|
public function deleterow($id_row,$id_prog)
|
||||||
|
{
|
||||||
|
$id_riga = $id_row;
|
||||||
|
$id_progetto = $id_prog;
|
||||||
|
|
||||||
|
RigaProgetto::deleteRow($id_riga);
|
||||||
|
return redirect('/admin/progetti/detail/?id='.$id_progetto);
|
||||||
|
}
|
||||||
|
}
|
@ -27,7 +27,11 @@ class Progetti extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function getProgettoById($id){
|
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){
|
public static function saveProgetto($progetto){
|
||||||
|
33
app/Models/RigaProgetto.php
Normal file
33
app/Models/RigaProgetto.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
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'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function deleteRow($id)
|
||||||
|
{
|
||||||
|
DB::table('riga_progettos')->delete($id);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateRigaProgettosTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
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');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('riga_progettos');
|
||||||
|
}
|
||||||
|
}
|
@ -1,110 +1,188 @@
|
|||||||
@extends('admin')
|
@extends('admin') @section('content')
|
||||||
@section('content')
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h1 class="page-header">Lista Progetti</h1>
|
<h1 class="page-header">Dettaglio Progetto</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- Content here -->
|
<!-- Content here -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<a class="btn btn-primary" href="progetti/new"><i class="fa fa-pencil-square-o fw"></i></a>
|
<a class="btn btn-primary" href="progetti/new"><i
|
||||||
</div>
|
class="fa fa-pencil-square-o fw"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-10">
|
<div class="col-xs-10">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading" id="dettaglio">Dettaglio Progetto</div>
|
||||||
Dettaglio Progetto
|
<div class="panel-body">
|
||||||
</div>
|
@foreach($dettaglio ?? '' as $progetto)
|
||||||
<div class="panel-body">
|
<div class="row">
|
||||||
@foreach($dettaglio ?? '' as $progetto)
|
<div class="col-xs-2">Nome:</div>
|
||||||
<div class="row">
|
<div class="col-xs-8">
|
||||||
<div class="col-xs-4">
|
<b>{{ $progetto->nome; }}</b>
|
||||||
Nome
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-8">
|
|
||||||
<b>{{ $progetto->nome; }}</b>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row" hidable="">
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-2">Descrizione</div>
|
||||||
Descrizione
|
<div class="col-xs-8">
|
||||||
</div>
|
<b>{{ $progetto->descrizione; }}</b>
|
||||||
<div class="col-xs-8">
|
</div>
|
||||||
<b>{{ $progetto->descrizione; }}</b>
|
</div>
|
||||||
</div>
|
<div class="row" hidable="">
|
||||||
</div>
|
<div class="col-xs-2">Data Inizio</div>
|
||||||
<div class="row">
|
<div class="col-xs-3">
|
||||||
<div class="col-xs-3">
|
<b>{{ date('d/m/Y',strtotime($progetto->data_inizio)) }}</b>
|
||||||
Data Inizio
|
</div>
|
||||||
</div>
|
<div class="col-xs-2">Data Termine</div>
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<b>{{ $progetto->data_inizio }}</b>
|
<b>{{ date('d/m/Y',strtotime($progetto->data_fine)) }}</b>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3">
|
</div>
|
||||||
Data Termine
|
<div class="row" hidable="">
|
||||||
</div>
|
<div class="col-xs-2">Stato</div>
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<b>{{ $progetto->data_fine }}</b>
|
<b>{{ $progetto->stato }}</b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-xs-2">Data Creazione</div>
|
||||||
<div class="row">
|
<div class="col-xs-3">
|
||||||
<div class="col-xs-3">
|
<b>{{ date('d/m/Y',strtotime($progetto->data_creazione)) }}</b>
|
||||||
Stato
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3">
|
<div class="row" hidable="">
|
||||||
<b>{{ $progetto->stato }}</b>
|
<div class="col-xs-2">Budget</div>
|
||||||
</div>
|
<div class="col-xs-3">
|
||||||
<div class="col-xs-3">
|
<b>€ {{ $progetto->budget }}</b>
|
||||||
Data Creazione
|
</div>
|
||||||
</div>
|
<div class="col-xs-2">Coordinatore</div>
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<b>{{ $progetto->data_creazione }}</b>
|
<b>{{ $progetto->name }}</b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" hidable="">
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-2">Note</div>
|
||||||
Budget
|
<div class="col-xs-8">
|
||||||
</div>
|
<b>{{ $progetto->note; }}</b>
|
||||||
<div class="col-xs-3">
|
</div>
|
||||||
<b>€ {{ $progetto->budget }}</b>
|
</div>
|
||||||
</div>
|
@endforeach
|
||||||
<div class="col-xs-3">
|
</div>
|
||||||
Coordinatore
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3">
|
</div>
|
||||||
<b>{{ $progetto->name }}</b>
|
|
||||||
</div>
|
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col-xs-10">
|
||||||
<div class="col-xs-4">
|
<div class="panel panel-default">
|
||||||
Note
|
<div class="panel-heading" id="form">Inserisci riga (click
|
||||||
</div>
|
show/hide)</div>
|
||||||
<div class="col-xs-8">
|
<div class="panel-body">
|
||||||
<b>{{ $progetto->note; }}</b>
|
<form method="POST" action="">
|
||||||
</div>
|
<div class="row">
|
||||||
</div>
|
@csrf
|
||||||
@endforeach
|
<div class="col-xs-2">
|
||||||
</div>
|
|
||||||
</div>
|
<!-- Form per task con jquery e aggiunta righe automatica -->
|
||||||
</div>
|
<label for="tdata" class="form-label">data:</label> <input
|
||||||
</div>
|
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>
|
||||||
|
<div class="panel-body">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<table class="table table-striped table-bordered table-hover" id="tab_progetti">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Data</th>
|
||||||
|
<th>Descrizione</th>
|
||||||
|
<th>Ore lavoro</th>
|
||||||
|
<th>Costo</th>
|
||||||
|
<th>Azioni</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($righe as $riga)
|
||||||
|
@if(isset($riga->data))
|
||||||
|
<tr>
|
||||||
|
<td>{{ date('d/m/Y',strtotime($riga->data)) }}</td>
|
||||||
|
<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>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
<tr>
|
||||||
|
<td>non c'è</td>
|
||||||
|
<td>non c'è</td>
|
||||||
|
<td>non c'è</td>
|
||||||
|
<td>non c'è</td>
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- /.col-lg-12 -->
|
||||||
|
|
||||||
<!-- /.col-lg-12 -->
|
@endsection @section('script')
|
||||||
|
<script>
|
||||||
@endsection
|
|
||||||
|
|
||||||
@section('script')
|
|
||||||
<script>
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#tab_progetti').DataTable({
|
$('#tab_progetti').DataTable({
|
||||||
responsive: true
|
responsive: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#form').click(function(){
|
||||||
|
$('form').toggle();
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#dettaglio").click(function(){
|
||||||
|
$('[hidable]').toggle();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
@ -8,6 +8,7 @@ use App\Http\Controllers\ContatoreEnElController;
|
|||||||
use App\Http\Controllers\ContatoreGasController;
|
use App\Http\Controllers\ContatoreGasController;
|
||||||
use App\Http\Controllers\DocumentiController;
|
use App\Http\Controllers\DocumentiController;
|
||||||
use App\Http\Controllers\MovimentiController;
|
use App\Http\Controllers\MovimentiController;
|
||||||
|
use App\Http\Controllers\RigaProgettoController;
|
||||||
use App\Http\Controllers\TagController;
|
use App\Http\Controllers\TagController;
|
||||||
use App\Http\Controllers\FullCalenderController;
|
use App\Http\Controllers\FullCalenderController;
|
||||||
use App\Http\Controllers\AutoController;
|
use App\Http\Controllers\AutoController;
|
||||||
@ -110,7 +111,8 @@ Route::get('/', [MovimentiController::class,'dashboard']);
|
|||||||
Route::post('progetti/new', [ProgettiController::class, 'salvaProgetto']);
|
Route::post('progetti/new', [ProgettiController::class, 'salvaProgetto']);
|
||||||
Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
|
Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
|
||||||
Route::get('progetti/delete',[ProgettiController::class, 'deleteProgetto']);
|
Route::get('progetti/delete',[ProgettiController::class, 'deleteProgetto']);
|
||||||
Route::get('progetti/detail', [ProgettiController::class, 'dettaglioProgetto']);
|
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', [ProgettiController::class, 'inserisciTask']);
|
Route::post('progetti/detail', [ProgettiController::class, 'inserisciTask']);
|
||||||
|
|
||||||
/// TEST routes
|
/// TEST routes
|
||||||
|
Loading…
Reference in New Issue
Block a user