Skip to content
This repository has been archived by the owner on Apr 14, 2023. It is now read-only.

Commit

Permalink
Especialidad acabado y validado
Browse files Browse the repository at this point in the history
  • Loading branch information
Marc15975 committed Dec 11, 2022
1 parent a16e561 commit 1011b86
Show file tree
Hide file tree
Showing 6 changed files with 137 additions and 60 deletions.
33 changes: 28 additions & 5 deletions app/Http/Controllers/EspecialidadController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

use Illuminate\Http\Request;
use App\Models\Especialidad;
use App\Http\Requests\StoreEspecialidadRequest;
use App\Http\Requests\EditEspecialidadRequest;

class EspecialidadController extends Controller
{
Expand All @@ -19,34 +21,55 @@ public function index()
public function create()
{
//
return view('admin.Especialidades.create');
}


public function store(Request $request)
public function store(StoreEspecialidadRequest $request)
{
//
$Especialidad=request()->except('_token');

Especialidad::create($Especialidad);

return redirect('/especialidad');
}


public function show($id)
public function show($id_especialidad)
{
//
$Especialidad= Especialidad::find($id_especialidad);
return View ('admin.Especialidades.show',compact('Especialidad'));
}


public function edit($id)
public function edit($id_especialidad)
{
//
$Especialidad= Especialidad::find($id_especialidad);
return View ('admin.Especialidades.edit',compact('Especialidad'));
}

public function update(Request $request, $id)
public function update(EditEspecialidadRequest $request, $id_especialidad)
{
//
$input = $request->all();

$Especialidad = Especialidad::find($id_especialidad);

$Especialidad->update($input);

//Redirecionas para no bugear el jalar de datos con reddirect para recargar la vista totalmente
return redirect('/especialidad');
}


public function destroy($id)
public function destroy($id_especialidad)
{
//
Especialidad::destroy($id_especialidad);

return redirect('/especialidad');
}
}
38 changes: 38 additions & 0 deletions app/Http/Requests/EditEspecialidadRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class EditEspecialidadRequest extends FormRequest
{

public function authorize()
{
return true;
}

public function rules()
{

return [
'nombre_especialidad' => 'required|string|min:5|max:40|unique:especialidades,nombre_especialidad,'.$this->id_especialidad . '",id_especialidad',
'descripcion_especialidad' => 'required|string|min:5|max:40',

];
}
public function messages()
{
return [
'nombre_especialidad.required' => 'Es neceserio que este campo este llenado',
'nombre_especialidad.min' => 'El nombre minimamente debe tener mas de 5 caracteres',
'nombre_especialidad.max' => 'El nombre no debe superar los 40 caracteres',
'nombre_especialidad.unique' => 'El nombre debe ser unico',

'descripcion_especialidad.required' => 'Es neceserio que este campo este llenado',
'descripcion_especialidad.min' => 'La dirrecion minimamente debe tener mas de 5 caracteres',
'descripcion_especialidad.max' => 'La dirrecion no debe superar los 40caracteres',

];
}
}
41 changes: 41 additions & 0 deletions app/Http/Requests/StoreEspecialidadRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreEspecialidadRequest extends FormRequest
{

public function authorize()
{
return true;
}
// {$this->post->id}


public function rules()
{
return [
'nombre_especialidad' => 'required|string|min:5|max:40|unique:especialidades,nombre_especialidad',
'descripcion_especialidad' => 'required|string|min:5|max:40',

];
}
public function messages()
{
return [
'nombre_especialidad.required' => 'Es neceserio que este campo este llenado',
'nombre_especialidad.min' => 'El nombre minimamente debe tener mas de 5 caracteres',
'nombre_especialidad.max' => 'El nombre no debe superar los 40 caracteres',
'nombre_especialidad.unique' => 'El nombre debe ser unico',

'descripcion_especialidad.required' => 'Es neceserio que este campo este llenado',
'descripcion_especialidad.min' => 'La dirrecion minimamente debe tener mas de 5 caracteres',
'descripcion_especialidad.max' => 'La dirrecion no debe superar los 40caracteres',

];
}
}


30 changes: 9 additions & 21 deletions resources/views/admin/Especialidades/create.blade.php
Original file line number Diff line number Diff line change
@@ -1,39 +1,27 @@
<x-layouts.app>
<div class="card">
<div class="card-header">Registro de Sedes</div>
<div class="card-header">Registro de especialidades</div>
<div class="card-body">

<form action="{{ url('sedes') }}" class="was-validated" method="post">
<form action="{{ url('especialidad') }}" class="was-validated" method="post">
{!! csrf_field() !!}
<label>Nombre sede</label></br>
<input type="text" name="nombre_sede" id="nombre_sede" class="form-control" required>
@error('nombre_sede')
<label>Nombre de la especialidad</label></br>
<input type="text" name="nombre_especialidad" id="nombre_especialidad" class="form-control" required>
@error('nombre_especialidad')
<li class="text-danger">{{$message}}</li>
@enderror

</br>
<label>Direccion de sede</label></br>
<input type="text" name="direccion_sede" id="direccion_sede" class="form-control" required>
@error('direccion_sede')
<label>Descripcion de la especialidad</label></br>
<input type="text" name="descripcion_especialidad" id="descripcion_especialidad" class="form-control" required>
@error('descripcion_especialidad')
<li class="text-danger">{{$message}}</li>
@enderror

</br>
<label>Telefono de la Sede</label></br>
<input type="text" name="telefono_sede" id="telefono_sede" pattern="[0-9]{1,10}" oninput="this.value = this.value.replace(/[^0-9.]+/g, '').slice(0,8) ;" class="form-control" required>
@error('telefono_sede')
<li class="text-danger">{{$message}}</li>
@enderror</br>

<label>Ciudad Sede</label></br>
<select class="form-select" name="ciudad_sede" id="ciudad_sede" required aria-label="Default select example">
<option selected value="">Selecione la ciudad</option>
<option value="La Paz">La Paz</option>
<option value="Santa Cruz">Santa cruz</option>
<option value="Cochabamba">Cochabamba</option>
</select>

<input type="submit" value="Save" class="btn btn-success"></br>
<input type="submit" value="Registrar la especialidad" class="btn btn-success"></br>
</form>

</div>
Expand Down
31 changes: 9 additions & 22 deletions resources/views/admin/Especialidades/edit.blade.php
Original file line number Diff line number Diff line change
@@ -1,41 +1,28 @@
<x-layouts.app>

<div class="card">
<div class="card-header">Editar Sede</div>
<div class="card-header">Actualizar Especialidad</div>
<div class="card-body">

<form action="{{ url('sedes/' .$Sede->id_sede) }}" class="was-validated" method="post">
<form action="{{ url('especialidad/' .$Especialidad->id_especialidad) }}" class="was-validated" method="post">
{!! csrf_field() !!}
@method("PATCH")
<input type="hidden" name="Id_Sede" id="Id_Sede" value="{{$Sede->id_sede}}" />
<input type="hidden" name="id_especialidad" id="id_especialidad" value="{{$Especialidad->id_especialidad}}" />

<label>Name</label></br>
<input type="text" required name="nombre_sede" id="nombre_sede" value="{{$Sede->nombre_sede}}" class="form-control">
@error('nombre_sede')
<label>Nombre Especialidad</label></br>
<input type="text" required name="nombre_especialidad" id="nombre_especialidad" value="{{$Especialidad->nombre_especialidad}}" class="form-control">
@error('nombre_especialidad')
<li class="text-danger">{{$message}}</li>
@enderror</br>
<label>Dirrecion de la sede</label></br>
<input type="text" required name="direccion_sede" id="direccion_sede" value="{{$Sede->direccion_sede}}" class="form-control">
@error('direccion_sede')
<input type="text" required name="descripcion_especialidad" id="descripcion_especialidad" value="{{$Especialidad->descripcion_especialidad}}" class="form-control">
@error('descripcion_especialidad')
<li class="text-danger">{{$message}}</li>
@enderror</br>
<label>telefono_sede</label></br>
<input type="text" required name="telefono_sede" id="telefono_sede" value="{{$Sede->telefono_sede}}" class="form-control">
@error('telefono_sede')
<li class="text-danger">{{$message}}</li>
@enderror

</br>
<label>Ciudad sede</label></br>
<select class="form-select" required name="ciudad_sede" id="ciudad_sede" aria-label="Default select example">
<option selected value="">Selecione la ciudad</option>
<option value="La Paz">La Paz</option>
<option value="Santa Cruz">Santa cruz</option>
<option value="Cochabamba">Cochabamba</option>
</select>


<input type="submit" value="Update" class="btn btn-success"></br>
<input type="submit" value="Actualizar la especialidad" class="btn btn-success"></br>
</form>

</div>
Expand Down
24 changes: 12 additions & 12 deletions resources/views/admin/Especialidades/show.blade.php
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<x-layouts.app>
<div class="card">
<div class="card-header">Datos de la Sede</div>
<div class="card-body">
<div class="card">
<div class="card-header">Datos de la especialidad</div>
<div class="card-body">

<div class="card-body">
<h5 class="card-title">Nombre de la Sede : {{ $Sede->nombre_sede }}</h5>
<p class="card-text">Dirreccion de la sede : {{ $Sede->direccion_sede }}</p>
<p class="card-text">Telefono de la sede : {{ $Sede->telefono_sede }}</p>
<p class="card-text">Ciudad de la Sede: {{ $Sede->ciudad_sede }}</p>
</div>
<div class="card-body">
<h5 class="card-title">Datos de la especialidad</h5>
<p class="card-text">Nombre de la especialidad: {{ $Especialidad->nombre_especialidad }}</p>
<p class="card-text">Descripcion de la especialidad : {{ $Especialidad->descripcion_especialidad }}</p>

</div>

</hr>
</hr>

</div>
</div>
</div>
</x-layouts.app>
</x-layouts.app>

0 comments on commit 1011b86

Please sign in to comment.