<?php

namespace App\Http\Controllers;

use App\Acces;
use App\Sancio;
use Illuminate\Http\Request;
use App\Http\Requests;
use App;
use PDF;

class SancioController extends Controller{
        /**
     * Create a new controllers instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /** mostra la vista sancions
     * @param Request $request
     * @return mixed
     */
    public function consulta(Request $request)
    {
        $nom = $request->input('nombre');;
        $sancions = $this->llistarSancions();
        return view('sancio')->with('sancions',$sancions->paginate(10));
    }

    /** Llista les sancions pendents
     * Obte tots els vehicles a sancionar
     * @return mixed
     */
    public function llistarSancions()
    {
        $acces = new acces();
        $sancions = $acces->getAccesVehicleInfractor();
        return $sancions;
    }

    /**
     * Generar una sanció, guarda a taula sancio
     * @param Request $request
     * @return mixed
     */
    public function postSancionar(Request $request)
    {
        //TODO generar pdf, falta que ajuntament passi formt requerit per Mossos d'Esquadra
        $acces = new acces();
        $id_acces=$request->input('id');
        $dades = $acces->getAccesId($id_acces);
        $sancionat = $acces->marcarSancioAcces($id_acces, TRUE);
        $sancio = new Sancio;
        $sancio->id_acces = $id_acces;
        $sancio->matricula = $dades[0]->matricula;
        $sancio->save();
        $invoice = $id_acces;
        $pdf = $this->generarPdf($sancionat);
        return $pdf->download('acces'.$invoice.'.pdf');
    }

    /** Genera pdf que podra ser descarregat pel client per tramitar sancio
     * @param $sancionat
     * @return mixed
     */
    public function generarPdf($sancionat)
    {
        $pdf = App::make('dompdf.wrapper');
        $pdf->loadHTML('<h1>Ajuntament de Sant Llorenç de Morunys</h1>
            El vehicle amb matricula '.$sancionat[0]->matricula.' ha realitzat un accés no autoritzat al nucli Antic de Sant Llorenç de  Morunys 
            a data i hora: '.$sancionat[0]->data_acces.'. <br>Tot seguit s\'adjunta fotografía de l\'infracció:<br>
            <img class="img-thumbnail" width="600" src="/home/oriol/imatges_test/test2_5_16/'.$sancionat[0]->path_imatge.'" alt="acces">');
        return $pdf;
    }
    /**
     * Marca acces com a lectura erronia de matricula
     * @param Request $request
     * @return mixed
     */
    public function marcarErrorLectura(Request $request)
    {
        $acces = new acces();
        $id_acces=$request->input('id');
        $dades = $acces->getAccesId($id_acces);
        $acces->canviLecturaMatricula($id_acces,False);
        return redirect('/sancions');
    }

    /**
     * Autoritza acces
     * @param Request $request
     * @return mixed
     */
    public function autoritzarAcces(Request $request)
    {
        $acces = new acces();
        $id_acces=$request->input('id');
        $dades = $acces->getAccesId($id_acces);
        $acces->autoritzarAcces($id_acces,True);
        return redirect('/sancions');
    }
}
