|
|
@@ -905,6 +905,35 @@ class SegnalazioneController extends Controller implements HasMiddleware
|
|
905
|
905
|
]);
|
|
906
|
906
|
}
|
|
907
|
907
|
|
|
|
908
|
+ public function admin_rapportino_annotazione(Request $request, $id, $annotazione, SegnalazioneRapportoService $rapporto)
|
|
|
909
|
+ {
|
|
|
910
|
+ $segnalazione = Segnalazione::find($id);
|
|
|
911
|
+ if (! $segnalazione) {
|
|
|
912
|
+ return redirect()->route('admin.segnalazione.index')->with('error', 'Segnalazione non trovata');
|
|
|
913
|
+ }
|
|
|
914
|
+
|
|
|
915
|
+ abort_unless(Segnalazione::authUserMayViewSegnalazione(Auth::user(), $segnalazione->assegnata_a_id, $segnalazione->user_id), 403);
|
|
|
916
|
+ abort_if(Segnalazione::isClienteVista(Auth::user()), 403);
|
|
|
917
|
+
|
|
|
918
|
+ $annotazione = Annotazione::query()
|
|
|
919
|
+ ->where('segnalazione_id', $segnalazione->id)
|
|
|
920
|
+ ->whereKey($annotazione)
|
|
|
921
|
+ ->first();
|
|
|
922
|
+
|
|
|
923
|
+ abort_if(! $annotazione, 404);
|
|
|
924
|
+
|
|
|
925
|
+ $firmato = (bool) $annotazione->has_firma_cliente;
|
|
|
926
|
+ $filename = 'rapportino_'.$segnalazione->id.'_'.$annotazione->id.($firmato ? '_firmato' : '').'_'.Str::slug($segnalazione->titolo).'.pdf';
|
|
|
927
|
+ $binary = $rapporto->generateRapportinoBinary($segnalazione, $annotazione);
|
|
|
928
|
+
|
|
|
929
|
+ return response()->stream(function () use ($binary) {
|
|
|
930
|
+ echo $binary;
|
|
|
931
|
+ }, 200, [
|
|
|
932
|
+ 'Content-Type' => 'application/pdf',
|
|
|
933
|
+ 'Content-Disposition' => 'inline; filename="'.$filename.'"',
|
|
|
934
|
+ ]);
|
|
|
935
|
+ }
|
|
|
936
|
+
|
|
908
|
937
|
public function admin_list(Request $request){
|
|
909
|
938
|
$input = $request->all();
|
|
910
|
939
|
$list = array();
|