HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /var/www/html/aventurasolar.sumar.com.py/app/Http/Controllers/DesafioindividualController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Models\Desafioindividual;
use App\Models\Matriculaindividual;
use App\Models\User;
use Session;
use DB;

class DesafioindividualController extends Controller{

    public function index(){
    	return view('admin.desafioindividual.index');
    }

    public function create(){

    	$usuarios=User::where('estado',1)->get();

    	return view('admin.desafioindividual.create',["usuarios"=>$usuarios]); 
    }

    public function store(Request $request){

    	$encabezado=new Desafioindividual;
        
        $encabezado->titulo=$request->get('titulo');
        $encabezado->descripcion=$request->get('descripcion');
        $encabezado->moneda=$request->get('moneda');
        $encabezado->reconocimiento=$request->get('reconocimiento');
        $encabezado->insignia=$request->get('insignia');
        $encabezado->tipo=$request->get('tipo');
        $encabezado->fecha_limite=$request->get('fecha_limite');
		$encabezado->fecha_inicio=$request->get('fecha_inicio');
        
        if ($encabezado->save()){

        	foreach ($request->usuario_id as $usuario){
		    	$matricula=new Matriculaindividual;
		    	$matricula->desafio_id=$encabezado->id;
		    	$matricula->usuario_id=$usuario;

		    	$matricula->save(); 
		    }

            Session::flash('success', '¡La misión se creo correctamente!');
        }
        
        return Redirect::to('admin/desafioindividual');

    }

    public function edit($id){

		$mision=Desafioindividual::findOrFail($id);

		$matriculados = DB::table('matriculaindividuals as m')
    		->join('users as u','m.usuario_id','u.id')
    		->select('u.id')
    		->where('desafio_id',$id)->get();

		$usuarios = User::where('estado',1)->get();

		return view('admin.desafioindividual.edit',["mision"=>$mision,"usuarios"=>$usuarios,'matriculados'=>$matriculados]);
	}

	public function update(Request $request,$id){

		$encabezado=Desafioindividual::findOrFail($id);
        
        $encabezado->titulo=$request->get('titulo');
        $encabezado->descripcion=$request->get('descripcion');
        $encabezado->moneda=$request->get('moneda');
        $encabezado->reconocimiento=$request->get('reconocimiento');
        $encabezado->insignia=$request->get('insignia');
        $encabezado->tipo=$request->get('tipo');
        $encabezado->fecha_limite=$request->get('fecha_limite');
		$encabezado->fecha_inicio=$request->get('fecha_inicio');
        
        if ($encabezado->update()){

        	$matriculados=Matriculaindividual::where('desafio_id',$id)->get();

        	foreach ($matriculados as $value) {
        		$value->delete();
        	}

        	foreach ($request->usuario_id as $usuario){
		    	$matricula=new Matriculaindividual;
		    	$matricula->desafio_id=$encabezado->id;
		    	$matricula->usuario_id=$usuario;

		    	$matricula->save(); 
		    }

            Session::flash('success', '¡La misión se editó correctamente!');
        }
        
        return Redirect::to('admin/desafioindividual');
	
	}

}