Commit b3381630 authored by Alfonso Rafael Solis Rangel's avatar Alfonso Rafael Solis Rangel
Browse files

Merge branch 'crud_catalagos' into 'main'

Crud catalagos

See merge request !12
parents e68bca25 11c6e8aa
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
<?php

namespace App\Http\Controllers;

use App\Models\cargos;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class CargoController extends Controller
{
    public function index()
    {
        $cargos = cargos::get(['id', 'nombre']);
        return view('adminGen.catalagos.cargos',  ['cargo' => $cargos]);
    }

    public function store(Request $request)
    {
        $validated = $request->validate([
            'nombre' => 'required|max:150',
        ]);

        $cargo = new cargos; 
        $cargo->nombre = $request->nombre;
        $cargo->save();
        return redirect()->route('catalogos.cargos.get')->with('success', 'Cargo creado correctamente.');
    }

    public function update(Request $request, cargos $cargo)
    {
        $validated = $request->validate([
            'id' => 'required|min:1',
            'nombre' => 'required|max:150',
        ]);
        $cargo = cargos::find($request->id); 
        $cargo->nombre = $request->nombre;
        $cargo->save();
        return redirect()->route('catalogos.cargos.get')->with('success', 'Cargo actualizado correctamente.');
    }

    public function destroy($id)
    {
        try {
            $cargo = cargos::findOrFail($id);
            $cargo->delete();
            return redirect()->route('catalogos.cargos.get')->with('success', 'Cargo eliminado correctamente.');
        } catch (\Exception $e) {
            return redirect()->route('catalogos.cargos.get')->withErrors('Error al eliminar el cargo:' . $e->getMessage());
        }
    }
}
+45 −2
Original line number Diff line number Diff line
@@ -2,9 +2,52 @@

namespace App\Http\Controllers;

use App\Models\Caracteristicas;
use Illuminate\Http\Request;
use Carbon\Carbon;

class caracteristicasController extends Controller
class CaracteristicasController extends Controller
{
    //
    public function index()
    {
        $caracteristicas = Caracteristicas::get(['id', 'nombre']);
        return view('adminGen.catalagos.caracteristicas', ['caracteristicas' => $caracteristicas]);
    }

    public function store(Request $request)
    {
        $validated = $request->validate([
            'nombre' => 'required|max:150',
        ]);
    
        $caracteristicas = new Caracteristicas();
        $caracteristicas->nombre = $request->nombre;
        $caracteristicas->created_at = Carbon::now();
        $caracteristicas->updated_at = Carbon::now();
        $caracteristicas->save();
    
        return redirect()->route('catalogos.caracteristicas.get')->with('success', 'Caracteristica creada correctamente.');
    }

    public function update(Request $request, Caracteristicas $caracteristicas)
    {
        $validated = $request->validate([
            'id' => 'required|min:1',
            'nombre' => 'required|max:150',
        ]);

        $caracteristicas = Caracteristicas::find($request->id); 
        $caracteristicas->nombre = $request->nombre;
        $caracteristicas->save();

        return redirect()->route('catalogos.caracteristicas.get')->with('success', 'Caracteristica actualizada correctamente.');
    }

    public function destroy($id)
    {
        $caracteristica = Caracteristicas::findOrFail($id);
        $caracteristica->delete();

        return redirect()->route('catalogos.caracteristicas.get')->with('success', 'Característica eliminada correctamente.');
    }
}
+0 −10
Original line number Diff line number Diff line
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class cargosController extends Controller
{
    //
}
+13 −1
Original line number Diff line number Diff line
@@ -5,7 +5,19 @@
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class caracteristicas extends Model
class Caracteristicas extends Model
{
    use HasFactory;

    protected $primaryKey = 'id';

    protected $fillable = [
        'nombre',
    ];

    public function users() {
        return $this->hasMany(User::class);
    }

    public $timestamps = false;
}
+9 −0
Original line number Diff line number Diff line
@@ -8,4 +8,13 @@
class cargos extends Model
{
    use HasFactory;

    protected $primaryKey = 'id';

    protected $fillable = [
        'nombre',
    ];
    public function users(): HasMany {
        return $this->hasMany(User::class);
        }
}
Loading