<?php

namespace App\Http\Controllers;
use DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Storage;
use App\Configuracion as Configuracion;
use App\Tesis as Tesis;
use App\Perfil as Perfil;
use App\Http\Controllers\HelperController ;
use menu;
use Auth;

class TesisController extends Controller
{
    public function show_info($msg = null) {
		$configuracion = Configuracion::where('llave', '=', 'limit_date')->first();
		if (strtotime($configuracion['valor']) >  (time()- 5 * 3600) || Auth::user()->isAdmin()) {
			$aspirante_id = Auth::user()->id;
			//Contamos la cantidad de registros de cada tipo de formulario para visualizarlos en las pestañas
			//de la plantilla (main.blade.php)
			$objeto = new HelperController();
			$count = $objeto->menu($aspirante_id);
			$tesis_requieren_soporte = Perfil::join('aspirantes_perfiles', 'perfiles_id', '=', 'id')->where('aspirantes_id', '=',$aspirante_id)->where('necesita_soporte_tesis', '=', 1)->get();

            $all_tesis=Tesis::where('aspirantes_id', '=',$aspirante_id)->get();
            
            $data = array(
				'aspirante_id' => $aspirante_id,
                'tesis' => $all_tesis,
				'msg' => $msg,
				'count' => $count,
				'tesis_requieren_soporte' => $tesis_requieren_soporte
			);
			return view('tesis', $data);
		}
		else{
			$data = array(
				'limit_date' => $configuracion['valor']
			);
			auth()->logout();
			return view('auth/login', $data);
		}
    }

    public function insert() {
        $input = Input::all();
        $id = Auth::user()->id;
		$userCode = Auth::user()->codigo;
		$aleatorio = rand(111111, 999999);
		if (isset($input['adjunto'])){
			$file = Input::file('adjunto');
			$file_name= 'tesis_'. $aleatorio . '.pdf';
			$file->move(public_path() . '/file/' . $userCode . '/tesis/', $file_name);

			$input['ruta_adjunto'] = 'file/' . $userCode . '/tesis/' . $file_name;
			unset($input['adjunto']);
		}
		$input['aspirantes_id'] = $id;
        $tesis = Tesis::create($input);
        if ($tesis->save()) {
            return $this->show_info("Se ingresó la información de la tesis correctamente.");
        }
    }

    public function delete(){
        $input = Input::all();
        $tesis = Tesis::find($input["id"]);

		if ($tesis->ruta_adjunto) {
			Storage::delete($tesis->ruta_adjunto);
		}
        if($tesis->delete()){
            return $this->show_info("Se borró la información de la tesis.");
        }
    }
}
