File: /var/www/html/xfacil.desafio.com.py/app/Http/Controllers/EvidenciaController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Models\Mision;
use App\Models\Evidencia;
use App\Models\Matricula;
use Maatwebsite\Excel\Facades\Excel;
use App\Imports\PuntosImport;
use file;
use Auth;
use DB;
use Session;
class EvidenciaController extends Controller{
public function index(){
return view('admin.evidencias.index');
}
public function create($id){
$mision=Mision::findOrFail($id);
return view('paginas.misiones.create',["mision"=>$mision]);
}
public function edit($id){
$evidencia=Evidencia::findOrFail($id);
$mision=Mision::findOrFail($evidencia->mision_id);
return view('paginas.misiones.edit',["mision"=>$mision,"evidencia"=>$evidencia]);
}
public function evidenciaedit(Request $request) {
$evidencia=Evidencia::findOrFail($request->get('evidencia_id'));
$evidencia->evidencia=$request->get('evidencia');
if($file = $request->file('archivo')) {
$control=0;
$nombre = $file->getClientOriginalName();
while ($control == 0) {
if (is_file( public_path() . '/evidencias/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
$file->move(public_path() . '/evidencias/', $nombre);
$evidencia->archivo=$nombre;
$control=1;
}
}
}
if ($evidencia->save()){
Session::flash('success', '¡La evidencia se edito correctamente!');
}
return Redirect::to('evidencias/create/'.$request->get('mision_id'));
}
public function evidenciacreate(Request $request) {
$matricula = Matricula::where('usuario_id',Auth::id())->first();
$evidencia=new Evidencia;
$evidencia->evidencia=$request->get('evidencia');
if($file = $request->file('archivo')) {
$control=0;
$nombre = $file->getClientOriginalName();
while ($control == 0) {
if (is_file( public_path() . '/evidencias/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
$file->move(public_path() . '/evidencias/', $nombre);
$evidencia->archivo=$nombre;
$control=1;
}
}
}
$evidencia->mision_id=$request->get('mision_id');
$evidencia->usuario_id=Auth::id();
$evidencia->equipo_id=$matricula->equipo_id;
if ($evidencia->save()){
Session::flash('success', '¡La evidencia se creo correctamente!');
}
return Redirect::to('desafios');
}
public function show($id){
$ids=explode("-", $id);
$evidencias=DB::table('evidencias as e')
->join('misions as m','e.mision_id','m.id')
->join('users as u','e.usuario_id','u.id')
->join('equipos as eq','e.equipo_id','eq.id')
->select('e.*','u.name','u.foto')
->where('equipo_id',$ids[1])
->where('mision_id',$ids[0])->get();
return view('admin.evidencias.show',["evidencias"=>$evidencias]);
}
public function puntosimport(Request $request) {
Excel::import(new PuntosImport(), $request->file('file')->store('temp'));
Session::flash('success', '¡Asignaciones importadas correctamente!');
return back();
}
public function destroy($id){
$evidencia=Evidencia::findOrFail($id);
$evidencia->delete();
return back();
}
}