Sindbad~EG File Manager

Current Path : /var/www/html/eddcfa.sumar.com.py_old/app/Http/Livewire/
Upload File :
Current File : /var/www/html/eddcfa.sumar.com.py_old/app/Http/Livewire/Usuario.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Empresa;
use App\Models\Matricula;
use App\Models\User;
use Livewire\WithPagination;
use DB;
use Illuminate\Support\Facades\Hash;

class Usuario extends Component{

	public $empresa_id,$name,$email,$password,$usuario_id,$puesto,$ingreso,$ingresocargo,$area;

	use WithPagination;

    protected $paginationTheme = 'bootstrap';
    
    public $search='';

    public $updateMode = false;

    public function render(){

    	$empresa = Empresa::findOrFail($this->empresa_id);
        $usuarios = DB::table('matriculas as m')
        	->join('users as u','m.usuario_id','u.id')
        	->select('u.*','m.id as matricula_id')
        	->where('m.empresa_id',$this->empresa_id)
        	->where('u.name','LIKE','%'.$this->search.'%')
        	->paginate(20);

        return view('livewire.usuario.index',["empresa"=>$empresa,"usuarios"=>$usuarios ]);
    }

    private function resetInputFields(){
        $this->name = '';
        $this->email = '';
        $this->password = '';
        $this->puesto = '';
        $this->ingreso = '';
        $this->ingresocargo = '';
        $this->area = '';
    }

    public function edit($id){

        $this->updateMode = true;
        $usuario = User::where('id',$id)->first();
        $this->name = $usuario->name;
        $this->email = $usuario->email;          
        $this->usuario_id = $usuario->id; 
        $this->puesto = $usuario->puesto; 
        $this->ingreso = $usuario->ingreso;  
        $this->ingresocargo = $usuario->ingresocargo;
        $this->area = $usuario->area;     

    }

    public function cancel(){

        $this->updateMode = false;
        $this->resetInputFields();
    }

    public function update(){
        $validatedDate = $this->validate([
            'name' => 'required',
            'email' => 'required',
        ]);

        if ($this->usuario_id) {
            $usuario = User::find($this->usuario_id);
            if ($this->password) {
                $usuario->update([
                    'name' => $this->name,
                    'email' => $this->email,
                    'password' => Hash::make($this->password),
                    'puesto' => $this->puesto,
                    'ingreso' => $this->ingreso,
                    'area' => $this->area,
                    'ingresocargo' => $this->ingresocargo,
                ]);
            }else{
                $usuario->update([
                    'name' => $this->name,
                    'email' => $this->email,
                    'puesto' => $this->puesto,
                    'ingreso' => $this->ingreso,
                    'area' => $this->area,
                    'ingresocargo' => $this->ingresocargo,
                ]);
            }
            $this->updateMode = false;
            session()->flash('message', 'Usuario actualizado correctamente');
            $this->resetInputFields();

        }
    }

    public function delete($matricula_id){
        if($matricula_id){
            $usuario = Matricula::find($matricula_id);
            $usuario->delete();
            session()->flash('message', 'Usuario eliminado correctamente');}
    }

}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists