bubofamily/app/Http/Controllers/ProgettiController.php

116 lines
3.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Progetti;
use App\Models\User;
use Illuminate\Http\Request;
use App\Models\RigaProgetto;
use App\Models\GenDoc;
use function GuzzleHttp\json_encode;
use Barryvdh\DomPDF\Facade\Pdf;
class ProgettiController extends Controller
{
//
public function listaProgetto()
{
/* $progetti=Progetti::getProgetti();
dd($progetti);*/
return view('progetti.list',[
'progetti'=>Progetti::getProgetti()
]);
}
public function nuovoProgetto()
{
return view('progetti.new',['coordinatori'=>User::getUsers()]);
}
public function getCoordinatori()
{
return json_encode(User::getUsers());
}
public function salvaProgetto(Request $request)
{
Progetti::saveProgetto($request);
return redirect(Route('progetti'));
}
public function deleteProgetto(Request $param) {
Progetti::delProgetto($param['id']);
return redirect(Route('progetti'));
}
public function dettaglioProgetto($id)
{
$progetto_id=$id;
$progetto = Progetti::getProgettoById($progetto_id);
$righe = RigaProgetto::getRigheProgetto($progetto_id);
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
return view('progetti.dettaglio',['dettaglio'=>$progetto, 'righe'=>$righe, 'tot'=>$costo_tot]);
//dd($righe);
}
public function chiudiProgetto(Request $id)
{
Progetti::chiudiProgetto($id['id']);
return redirect(Route('progetti'));
}
public function riapriProgetto(Request $id)
{
Progetti::riapriProgetto($id['id']);
return redirect(Route('progetti'));
}
public function stampaPDFProgetto(Request $id)
{
$progetto_id=$id['id'];
$progetto = Progetti::getProgettoById($progetto_id);
$righe = RigaProgetto::getRigheProgetto($progetto_id);
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
$pdf=Pdf::loadview('progetti.PDF.scheda',['dettaglio'=>$progetto,'righe'=>$righe, 'tot'=>$costo_tot]);
return $pdf->stream();
}
public function documentoProgetto(Request $request)
{
$documenti = GenDoc::listDocument(3,$request->input('entity_id'));
return view('conti.documenti.insert', [
'id'=>$request->input('entity_id'),
'entity'=>$request->input('entity'),
'documenti'=>$documenti
]);
}
public function modificaProgetto(Request $data)
{
// funzione di modifica del progetto (form inserimento modificato in js)
Progetti::where('id', $data['id'])
->update([
'nome' => $data['nome'],
'descrizione' => $data['descrizione'],
//'data_creazione'=>$data['data_creazione'],
'data_inizio'=>$data['data_inizio'],
'data_fine'=>$data['data_fine'],
'fk_user'=>$data['coordinatore'],
'budget'=>$data['budget'],
'stato'=>$data['stato'],
'note' =>$data['note'],
]);
return redirect()->back();
/* dd($data);*/
}
public function getProgettobyId(Request $id)
{
return json_encode(Progetti::getProgettoById($id['id']));
}
}