From 3d9256e5c5ec086b3c763129fcb804a909df3075 Mon Sep 17 00:00:00 2001 From: AlexisAH Date: Tue, 9 Aug 2022 00:04:46 -0500 Subject: [PATCH] listar Fuentes/Responsables Valores --- .../Api/AccionesMejorasController.php | 94 ++++++++++++++----- .../Api/CausasRaicesController.php | 94 ++++++++++++++----- .../Controllers/Api/FuentesController.php | 94 ++++++++++++++----- .../Api/FuentesValoresController.php | 23 +++++ .../Api/ObservacionesController.php | 94 ++++++++++++++----- app/Http/Controllers/Api/PlanController.php | 75 ++++++++------- .../Api/ProblemasOportunidadesController.php | 94 ++++++++++++++----- .../Controllers/Api/RecursosController.php | 94 ++++++++++++++----- .../Api/ResponsablesController.php | 11 +++ .../Api/ResponsablesValoresController.php | 22 +++++ app/Models/FuentesValores.php | 17 ++++ app/Models/Responsables.php | 7 +- app/Models/ResponsablesPlanesMejora.php | 20 ---- app/Models/ResponsablesValores.php | 18 ++++ database/factories/FuentesValoresFactory.php | 24 +++++ .../factories/ResponsablesValoresFactory.php | 24 +++++ ...07_10_234320_create_responsables_table.php | 3 + ...609_create_responsables_valores_table.php} | 11 +-- ...08_224701_create_fuentes_valores_table.php | 31 ++++++ database/seeders/DatabaseSeeder.php | 55 ++++++++++- routes/api.php | 14 ++- routes/web.php | 5 +- 22 files changed, 712 insertions(+), 212 deletions(-) create mode 100644 app/Http/Controllers/Api/FuentesValoresController.php create mode 100644 app/Http/Controllers/Api/ResponsablesController.php create mode 100644 app/Http/Controllers/Api/ResponsablesValoresController.php create mode 100644 app/Models/FuentesValores.php delete mode 100644 app/Models/ResponsablesPlanesMejora.php create mode 100644 app/Models/ResponsablesValores.php create mode 100644 database/factories/FuentesValoresFactory.php create mode 100644 database/factories/ResponsablesValoresFactory.php rename database/migrations/{2022_07_10_234419_create_responsables_planes_mejoras_table.php => 2022_08_08_224609_create_responsables_valores_table.php} (52%) create mode 100644 database/migrations/2022_08_08_224701_create_fuentes_valores_table.php diff --git a/app/Http/Controllers/Api/AccionesMejorasController.php b/app/Http/Controllers/Api/AccionesMejorasController.php index fe40166..40c1351 100644 --- a/app/Http/Controllers/Api/AccionesMejorasController.php +++ b/app/Http/Controllers/Api/AccionesMejorasController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\AccionesMejoras; +use App\Models\plan; use Illuminate\Http\Request; class AccionesMejorasController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $accion = new AccionesMejoras(); - $accion->estandar_id = $request->estandar_id; - $accion->descripcion = $request->descripcion; - $accion->save(); - return response()([ - "status" => 1, - "message" => "accion creada exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $acciones = new AccionesMejoras(); + $acciones->id_plan = $request->id_plan; + $acciones->descripcion = $request->descripcion; + $acciones->save(); + return response([ + "status" => 1, + "message" => "Accion de mejora creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta accion de mejora", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class AccionesMejorasController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $accion = AccionesMejoras::find($request->id); - $accion->descripcion = $request->descripcion; - $accion->save(); - return response([ - "status" => 1, - "message" => "accion actualizada exitosamente", - ]); + $id_user = auth()->user()->id; + if(AccionesMejoras::where(["id"=>$request->id])->exists()){ + $accion = AccionesMejoras::find($request->id); + $plan = plan::find($accion->id_plan); + if($plan->id_user == $id_user){ + $accion->descripcion = $request->descripcion; + $accion->save(); + return response([ + "status" => 1, + "message" => "Accion de mejora actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar esta accion de mejora", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro la meta", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(AccionesMejoras::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $accion = AccionesMejoras::where(["id"=>$id,"id_user"=>$id_user])->first(); - $accion->delete(); - return response([ - "status" => 1, - "message" => "!accion eliminada con éxito!", - ],200); + if(AccionesMejoras::where(["id"=>$id])->exists()){ + $accion = AccionesMejoras::find($id); + $plan = plan::find($accion->id_plan); + if($plan->id_user == $id_user){ + $accion->delete(); + return response([ + "status" => 1, + "message" => "Accion de mejora eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar esta accion de mejora", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro la accion o no esta autorizado", + "message" => "No se encontro la meta", ],404); } } diff --git a/app/Http/Controllers/Api/CausasRaicesController.php b/app/Http/Controllers/Api/CausasRaicesController.php index 746e75a..d96e5ad 100644 --- a/app/Http/Controllers/Api/CausasRaicesController.php +++ b/app/Http/Controllers/Api/CausasRaicesController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\CausasRaices; +use App\Models\plan; use Illuminate\Http\Request; class CausasRaicesController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $causa = new CausasRaices(); - $causa->estandar_id = $request->estandar_id; - $causa->descripcion = $request->descripcion; - $causa->save(); - return response()([ - "status" => 1, - "message" => "Causa creada exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $causa = new CausasRaices(); + $causa->id_plan = $request->id_plan; + $causa->descripcion = $request->descripcion; + $causa->save(); + return response([ + "status" => 1, + "message" => "Causa creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta causa", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class CausasRaicesController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $causa = CausasRaices::find($request->id); - $causa->descripcion = $request->descripcion; - $causa->save(); - return response([ - "status" => 1, - "message" => "Causa actualizada exitosamente", - ]); + $id_user = auth()->user()->id; + if(CausasRaices::where(["id"=>$request->id])->exists()){ + $causa = CausasRaices::find($request->id); + $plan = plan::find($meta->id_plan); + if($plan->id_user == $id_user){ + $causa->descripcion = $request->descripcion; + $causa->save(); + return response([ + "status" => 1, + "message" => "Causa actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar esta casua", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro la casua", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(CausasRaices::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $causa = CausasRaices::where(["id"=>$id,"id_user"=>$id_user])->first(); - $causa->delete(); - return response([ - "status" => 1, - "message" => "!Causa eliminada con éxito!", - ],200); + if(CausasRaices::where(["id"=>$id])->exists()){ + $causa = CausasRaices::find($id); + $plan = plan::find($causa->id_plan); + if($plan->id_user == $id_user){ + $causa->delete(); + return response([ + "status" => 1, + "message" => "Causa eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar esta causa", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro la causa o no esta autorizado", + "message" => "No se encontro la casua", ],404); } } diff --git a/app/Http/Controllers/Api/FuentesController.php b/app/Http/Controllers/Api/FuentesController.php index 703cb1a..6281171 100644 --- a/app/Http/Controllers/Api/FuentesController.php +++ b/app/Http/Controllers/Api/FuentesController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Fuentes; +use App\Models\plan; use Illuminate\Http\Request; class FuentesController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $fuente = new Fuentes(); - $fuente->estandar_id = $request->estandar_id; - $fuente->descripcion = $request->descripcion; - $fuente->save(); - return response()([ - "status" => 1, - "message" => "Fuente creada exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $fuente = new Fuentes(); + $fuente->id_plan = $request->id_plan; + $fuente->descripcion = $request->descripcion; + $fuente->save(); + return response([ + "status" => 1, + "message" => "Fuente creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta fuente", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class FuentesController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $fuente = Fuentes::find($request->id); - $fuente->descripcion = $request->descripcion; - $fuente->save(); - return response([ - "status" => 1, - "message" => "fuente actualizada exitosamente", - ]); + $id_user = auth()->user()->id; + if(Fuentes::where(["id"=>$request->id])->exists()){ + $fuente = Fuentes::find($request->id); + $plan = plan::find($fuente->id_plan); + if($plan->id_user == $id_user){ + $fuente->descripcion = $request->descripcion; + $fuente->save(); + return response([ + "status" => 1, + "message" => "Fuente actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar esta fuente", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro la fuente", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(Fuentes::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $fuente = Fuentes::where(["id"=>$id,"id_user"=>$id_user])->first(); - $fuente->delete(); - return response([ - "status" => 1, - "message" => "!Fuente eliminada con éxito!", - ],200); + if(Fuentes::where(["id"=>$id])->exists()){ + $fuente = Fuentes::find($id); + $plan = plan::find($fuente->id_plan); + if($plan->id_user == $id_user){ + $fuente->delete(); + return response([ + "status" => 1, + "message" => "Fuente eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar esta fuente", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro la fuente o no esta autorizado", + "message" => "No se encontro la fuente", ],404); } } diff --git a/app/Http/Controllers/Api/FuentesValoresController.php b/app/Http/Controllers/Api/FuentesValoresController.php new file mode 100644 index 0000000..79d929b --- /dev/null +++ b/app/Http/Controllers/Api/FuentesValoresController.php @@ -0,0 +1,23 @@ + 1, + "msg" => "!Lista de fuentes", + "data" => $FuenteValorList, + ]); + } + +} diff --git a/app/Http/Controllers/Api/ObservacionesController.php b/app/Http/Controllers/Api/ObservacionesController.php index 5d97617..3638aa9 100644 --- a/app/Http/Controllers/Api/ObservacionesController.php +++ b/app/Http/Controllers/Api/ObservacionesController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Observaciones; +use App\Models\plan; use Illuminate\Http\Request; class ObservacionesController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $observacion = new Observaciones(); - $observacion->estandar_id = $request->estandar_id; - $observacion->descripcion = $request->descripcion; - $observacion->save(); - return response()([ - "status" => 1, - "message" => "Observacion creada exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $observacion = new Observaciones(); + $observacion->id_plan = $request->id_plan; + $observacion->descripcion = $request->descripcion; + $observacion->save(); + return response([ + "status" => 1, + "message" => "Observacion creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta obsevacion", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class ObservacionesController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $observacion = Observaciones::find($request->id); - $observacion->descripcion = $request->descripcion; - $observacion->save(); - return response([ - "status" => 1, - "message" => "Observacion actualizada exitosamente", - ]); + $id_user = auth()->user()->id; + if(Observaciones::where(["id"=>$request->id])->exists()){ + $observacion = Observaciones::find($request->id); + $plan = plan::find($observacion->id_plan); + if($plan->id_user == $id_user){ + $observacion->descripcion = $request->descripcion; + $observacion->save(); + return response([ + "status" => 1, + "message" => "Observacion actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar esta observacion", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro la observacion", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(Observaciones::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $observacion = Observaciones::where(["id"=>$id,"id_user"=>$id_user])->first(); - $observacion->delete(); - return response([ - "status" => 1, - "message" => "!Observacion eliminada con éxito!", - ],200); + if(Observaciones::where(["id"=>$id])->exists()){ + $observacion = Observaciones::find($id); + $plan = plan::find($observacion->id_plan); + if($plan->id_user == $id_user){ + $observacion->delete(); + return response([ + "status" => 1, + "message" => "Observacion eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar esta observacion", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro la Observacion o no esta autorizado", + "message" => "No se encontro la observacion", ],404); } } diff --git a/app/Http/Controllers/Api/PlanController.php b/app/Http/Controllers/Api/PlanController.php index 2565bde..1fb0da6 100644 --- a/app/Http/Controllers/Api/PlanController.php +++ b/app/Http/Controllers/Api/PlanController.php @@ -24,31 +24,31 @@ class PlanController extends Controller{ "estandar_id"=> "required|integer", "nombre"=>"required|max:255", "codigo"=> "required|max:11", - /*"fuentes"=>"required", + "fuentes"=>"required", "fuentes.*.descripcion"=> "required", "problemas_oportunidades"=>"required", "problemas_oportunidades.*.descripcion"=> "required", "causas_raices"=>"required", - "causas_raices.*.descripcion"=> "required",*/ + "causas_raices.*.descripcion"=> "required", "oportunidad_plan"=>"required|max:255", - /*"acciones_mejoras"=>"required", - "acciones_mejoras.*.descripcion"=> "required",*/ - "semestre_ejecucion"=>"required|max:7", + "acciones_mejoras"=>"required", + "acciones_mejoras.*.descripcion"=> "required", + "semestre_ejecucion"=>"required|max:8", //aaaa-A/B/C/AB "duracion"=> "required|integer", - /*"recursos"=>"required", + "recursos"=>"required", "recursos.*.descripcion"=> "required", "metas"=>"required", "metas.*.descripcion"=> "required", "responsables"=>"required", "responsables.*.nombre"=> "required", "observaciones"=>"required", - "observaciones.*.descripcion"=> "required",*/ + "observaciones.*.descripcion"=> "required", "estado"=> "required|max:30", /*"evidencias_planes_mejoras"=>"required", "evidencias_planes_mejoras.*.codigo"=> "required", "evidencias_planes_mejoras.*.denominacion"=> "required", "evidencias_planes_mejoras.*.encargado_id"=> "required", - "evidencias_planes_mejoras.*.adjunto"=> "required",*/ + "evidencias_planes_mejoras*.adjunto"=> "required",*/ "evaluacion_eficacia"=> "required|boolean", "avance"=> "required|integer", ]); @@ -61,6 +61,8 @@ class PlanController extends Controller{ $plan->nombre = $request->nombre; $plan->codigo = $request->codigo; + + $plan->oportunidad_plan = $request->oportunidad_plan; $plan->semestre_ejecucion = $request->semestre_ejecucion; $plan->duracion = $request->duracion; @@ -72,38 +74,38 @@ class PlanController extends Controller{ $id_plan = $plan->id; foreach($request->fuentes as $fuente){ - $fuentes_aux = new Fuentes(); - $fuentes_aux->descripcion = $fuente["descripcion"]; - $fuentes_aux->id_plan = $id_plan; - $fuentes_aux->save(); + $fuente_aux = new Fuentes(); + $fuente_aux->descripcion = $fuente["descripcion"]; + $fuente_aux->id_plan = $id_plan; + $fuente_aux->save(); } foreach($request->problemas_oportunidades as $problema){ - $problemas_oportunidades_aux = new ProblemasOportunidades(); - $problemas_oportunidades_aux->descripcion = $problema["descripcion"]; - $problemas_oportunidades_aux->id_plan = $id_plan; - $problemas_oportunidades_aux->save(); + $problema_oportunidad_aux = new ProblemasOportunidades(); + $problema_oportunidad_aux->descripcion = $problema["descripcion"]; + $problema_oportunidad_aux->id_plan = $id_plan; + $problema_oportunidad_aux->save(); } foreach($request->causas_raices as $causa){ - $causas_raices_aux = new CausasRaices(); - $causas_raices_aux->descripcion = $causa["descripcion"]; - $causas_raices_aux->id_plan = $id_plan; - $causas_raices_aux->save(); + $causa_raiz_aux = new CausasRaices(); + $causa_raiz_aux->descripcion = $causa["descripcion"]; + $causa_raiz_aux->id_plan = $id_plan; + $causa_raiz_aux->save(); } foreach($request->acciones_mejoras as $accion){ - $acciones_mejoras_aux = new AccionesMejoras(); - $acciones_mejoras_aux->descripcion = $accion["descripcion"]; - $acciones_mejoras_aux->id_plan = $id_plan; - $acciones_mejoras_aux->save(); + $accion_mejora_aux = new AccionesMejoras(); + $accion_mejora_aux->descripcion = $accion["descripcion"]; + $accion_mejora_aux->id_plan = $id_plan; + $accion_mejora_aux->save(); } foreach($request->recursos as $recurso){ - $recursos_aux = new Recursos(); - $recursos_aux->descripcion = $recurso["descripcion"]; - $recursos_aux->id_plan = $id_plan; - $recursos_aux->save(); + $recurso_aux = new Recursos(); + $recurso_aux->descripcion = $recurso["descripcion"]; + $recurso_aux->id_plan = $id_plan; + $recurso_aux->save(); } foreach($request->metas as $meta){ @@ -114,15 +116,20 @@ class PlanController extends Controller{ } foreach($request->observaciones as $observacion){ - $observaciones_aux = new Observaciones(); - $observaciones_aux->descripcion = $observacion["descripcion"]; - $observaciones_aux->id_plan = $id_plan; - $observaciones_aux->save(); + $observacion_aux = new Observaciones(); + $observacion_aux->descripcion = $observacion["descripcion"]; + $observacion_aux->id_plan = $id_plan; + $observacion_aux->save(); } + foreach($request->responsables as $responsable){ + $responsable_aux = new Responsables(); + $responsable_aux ->nombre = $responsable["nombre"]; + $responsable_aux ->id_plan = $id_plan; + $responsable_aux ->save(); + } /* $evidencias_planes_mejoras = new Evidencias(); Falta completar - $responsables = new Responsables(); Falta completar */ return response([ @@ -131,6 +138,8 @@ class PlanController extends Controller{ ]); } + //falta funcion filtrar por estandares + public function listPlan(){ $id_user = auth()->user()->id; diff --git a/app/Http/Controllers/Api/ProblemasOportunidadesController.php b/app/Http/Controllers/Api/ProblemasOportunidadesController.php index 7d30191..a0b5ca1 100644 --- a/app/Http/Controllers/Api/ProblemasOportunidadesController.php +++ b/app/Http/Controllers/Api/ProblemasOportunidadesController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\ProblemasOportunidades; +use App\Models\plan; use Illuminate\Http\Request; class ProblemasOportunidadesController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $problema = new ProblemasOportunidades(); - $problema->estandar_id = $request->estandar_id; - $problema->descripcion = $request->descripcion; - $problema->save(); - return response()([ - "status" => 1, - "message" => "problema creada exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $problema = new ProblemasOportunidades(); + $problema->id_plan = $request->id_plan; + $problema->descripcion = $request->descripcion; + $problema->save(); + return response([ + "status" => 1, + "message" => "Problema opoortunidad creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta problema oportunidad", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class ProblemasOportunidadesController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $problema = ProblemasOportunidades::find($request->id); - $problema->descripcion = $request->descripcion; - $problema->save(); - return response([ - "status" => 1, - "message" => "problema actualizada exitosamente", - ]); + $id_user = auth()->user()->id; + if(ProblemasOportunidades::where(["id"=>$request->id])->exists()){ + $problema = ProblemasOportunidades::find($request->id); + $plan = plan::find($problema->id_plan); + if($plan->id_user == $id_user){ + $problema->descripcion = $request->descripcion; + $problema->save(); + return response([ + "status" => 1, + "message" => "Problema oportunidad actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar esta problema oportunidad", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro la problema oportunidad", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(ProblemasOportunidades::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $problema = ProblemasOportunidades::where(["id"=>$id,"id_user"=>$id_user])->first(); - $problema->delete(); - return response([ - "status" => 1, - "message" => "problema eliminada con éxito!", - ],200); + if(ProblemaOportunidad::where(["id"=>$id])->exists()){ + $problema = ProblemaOportunidad::find($id); + $plan = plan::find($problema->id_plan); + if($plan->id_user == $id_user){ + $problema->delete(); + return response([ + "status" => 1, + "message" => "Problema oportunidad eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar esta problema oportunidad", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro el problema o no esta autorizado", + "message" => "No se encontro la problema oportunidad", ],404); } } diff --git a/app/Http/Controllers/Api/RecursosController.php b/app/Http/Controllers/Api/RecursosController.php index 9057c57..b1abde3 100644 --- a/app/Http/Controllers/Api/RecursosController.php +++ b/app/Http/Controllers/Api/RecursosController.php @@ -4,23 +4,42 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Recursos; +use App\Models\plan; use Illuminate\Http\Request; class RecursosController extends Controller { public function create(Request $request) { $request->validate([ - "estandar_id"=> "required|integer", + "id_plan"=> "required|integer", "descripcion"=> "required", ]); - $recurso = new Recursos(); - $recurso->estandar_id = $request->estandar_id; - $recurso->descripcion = $request->descripcion; - $recurso->save(); - return response()([ - "status" => 1, - "message" => "Recurso creado exitosamente" - ]); + $id_user = auth()->user()->id; + if(plan::where(["id"=>$request->id_plan])->exists()){ + $plan = plan::find($request->id_plan); + if($plan->id_user == $id_user){ + $recurso = new Recursos(); + $recurso->id_plan = $request->id_plan; + $recurso->descripcion = $request->descripcion; + $recurso->save(); + return response([ + "status" => 1, + "message" => "Recurso creada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para crear esta recursos", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el plan", + ],404); + } } public function update(Request $request){ @@ -28,30 +47,57 @@ class RecursosController extends Controller "id"=> "required|integer", "descripcion"=> "required" ]); - $recurso = Recursos::find($request->id); - $recurso->descripcion = $request->descripcion; - $recurso->save(); - return response([ - "status" => 1, - "message" => "Recurso actualizado exitosamente", - ]); + $id_user = auth()->user()->id; + if(Recursos::where(["id"=>$request->id])->exists()){ + $recurso = Recursos::find($request->id); + $plan = plan::find($recurso->id_plan); + if($plan->id_user == $id_user){ + $recurso->descripcion = $request->descripcion; + $recurso->save(); + return response([ + "status" => 1, + "message" => "Recuso actualizada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para actualizar este recuso", + ],404); + } + } + else{ + return response([ + "status" => 0, + "message" => "No se encontro el recurso", + ],404); + } } public function delete($id) { $id_user = auth()->user()->id; - if(Recursos::where(["id"=>$id,"id_user"=>$id_user])->exists()){ - $recurso = Recursos::where(["id"=>$id,"id_user"=>$id_user])->first(); - $recurso->delete(); - return response([ - "status" => 1, - "message" => "!Recurso eliminado con éxito!", - ],200); + if(Recursos::where(["id"=>$id])->exists()){ + $recurso = Recursos::find($id); + $plan = plan::find($recurso->id_plan); + if($plan->id_user == $id_user){ + $recurso->delete(); + return response([ + "status" => 1, + "message" => "Recurso eliminada exitosamente", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "No tienes permisos para eliminar este recuso", + ],404); + } } else{ return response([ "status" => 0, - "message" => "!No se encontro el Recurso o no esta autorizado", + "message" => "No se encontro el recurso", ],404); } } diff --git a/app/Http/Controllers/Api/ResponsablesController.php b/app/Http/Controllers/Api/ResponsablesController.php new file mode 100644 index 0000000..950cb13 --- /dev/null +++ b/app/Http/Controllers/Api/ResponsablesController.php @@ -0,0 +1,11 @@ + 1, + "msg" => "!Lista de responsables", + "data" => $ResponsableValorList, + ]); + } +} diff --git a/app/Models/FuentesValores.php b/app/Models/FuentesValores.php new file mode 100644 index 0000000..388cd9d --- /dev/null +++ b/app/Models/FuentesValores.php @@ -0,0 +1,17 @@ +hasmany(ResponsablesPlanesMejora::class,'id'); + public function plans(){ + return $this->belongsTo(plan::class,'id_plan'); } - } + + diff --git a/app/Models/ResponsablesPlanesMejora.php b/app/Models/ResponsablesPlanesMejora.php deleted file mode 100644 index 975dc79..0000000 --- a/app/Models/ResponsablesPlanesMejora.php +++ /dev/null @@ -1,20 +0,0 @@ -belongsTo(Responsables::class,'id_responsable'); - } - public function plans(){ - return $this->belongsTo(plan::class,'id_plan'); - } -} diff --git a/app/Models/ResponsablesValores.php b/app/Models/ResponsablesValores.php new file mode 100644 index 0000000..1ac1c7c --- /dev/null +++ b/app/Models/ResponsablesValores.php @@ -0,0 +1,18 @@ + + */ +class FuentesValoresFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + // + 'valor' => $this, + ]; + } +} diff --git a/database/factories/ResponsablesValoresFactory.php b/database/factories/ResponsablesValoresFactory.php new file mode 100644 index 0000000..8a4bb68 --- /dev/null +++ b/database/factories/ResponsablesValoresFactory.php @@ -0,0 +1,24 @@ + + */ +class ResponsablesValoresFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + // + 'valor' => $this, + ]; + } +} diff --git a/database/migrations/2022_07_10_234320_create_responsables_table.php b/database/migrations/2022_07_10_234320_create_responsables_table.php index 9734fb1..682252b 100644 --- a/database/migrations/2022_07_10_234320_create_responsables_table.php +++ b/database/migrations/2022_07_10_234320_create_responsables_table.php @@ -17,6 +17,9 @@ return new class extends Migration $table->id(); $table->timestamps(); $table->string('nombre'); + $table->foreignId('id_plan') + ->constrained('plans') + ->onDelete('cascade'); }); } diff --git a/database/migrations/2022_07_10_234419_create_responsables_planes_mejoras_table.php b/database/migrations/2022_08_08_224609_create_responsables_valores_table.php similarity index 52% rename from database/migrations/2022_07_10_234419_create_responsables_planes_mejoras_table.php rename to database/migrations/2022_08_08_224609_create_responsables_valores_table.php index d28d540..079ef6d 100644 --- a/database/migrations/2022_07_10_234419_create_responsables_planes_mejoras_table.php +++ b/database/migrations/2022_08_08_224609_create_responsables_valores_table.php @@ -13,14 +13,9 @@ return new class extends Migration */ public function up() { - Schema::create('responsables_planes_mejoras', function (Blueprint $table) { + Schema::create('responsables_valores', function (Blueprint $table) { $table->id(); - $table->timestamps(); - $table->foreignId('id_plan') - ->constrained('plans') - ->onDelete('cascade'); - $table->foreignId('id_responsable') - ->constrained('responsables'); + $table->string('valor'); }); } @@ -31,6 +26,6 @@ return new class extends Migration */ public function down() { - Schema::dropIfExists('responsables_planes_mejoras'); + Schema::dropIfExists('responsables_valores'); } }; diff --git a/database/migrations/2022_08_08_224701_create_fuentes_valores_table.php b/database/migrations/2022_08_08_224701_create_fuentes_valores_table.php new file mode 100644 index 0000000..d36c7ef --- /dev/null +++ b/database/migrations/2022_08_08_224701_create_fuentes_valores_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('valor'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('fuentes_valores'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 0555381..d565153 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -15,7 +15,7 @@ class DatabaseSeeder extends Seeder */ public function run() { - //Falta crear una cuenta brayan + //Usuarios \App\Models\User::factory()->create([ "name"=>"Alexis", "lastname"=>"Arroyo", @@ -47,6 +47,15 @@ class DatabaseSeeder extends Seeder "password"=>Hash::make("123456"), ]); + \App\Models\User::factory()->create([ + "name"=>"Brayan", + "lastname"=>"Guillen", + "email"=>"bguillenn@unsa.edu.pe", + "password"=>Hash::make("123456"), + ]); + + //Estandares + \App\Models\Estandar::factory()->create([ "name"=>"E-1 Propositos Articulados", "id_user"=>1, @@ -83,5 +92,49 @@ class DatabaseSeeder extends Seeder "name"=>"E-9 Planes de Mejora", "id_user"=>1, ]); + + //Fuentes valores + + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Solicitudes de acción correctiva", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Servicios no conformes", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Quejas", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Evaluación de competencias", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Evaluación de los objetivos Educacionales", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Actividades diarias", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Lineamientos institucionales", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Acuerdos de Consejo de Facultad y Asamblea Docente", + ]); + \App\Models\FuentesValores::factory()->create([ + "valor"=>"Buenas prácticas de otras organizaciones", + ]) + ;\App\Models\FuentesValores::factory()->create([ + "valor"=>"Otros", + ]); + + //Responsalbles valores + + ;\App\Models\ResponsablesValores::factory()->create([ + "valor"=>"Dirección EP RR.II.", + ]); + ;\App\Models\ResponsablesValores::factory()->create([ + "valor"=>"Comisión de desarrollo docente", + ]); + + } } diff --git a/routes/api.php b/routes/api.php index ed568a0..cbc70aa 100644 --- a/routes/api.php +++ b/routes/api.php @@ -13,9 +13,16 @@ use App\Http\Controllers\Api\ObservacionesController; use App\Http\Controllers\Api\ProblemasOportunidadesController; use App\Http\Controllers\Api\RecursosController; use App\Http\Controllers\Api\MetasController; +use App\Http\Controllers\Api\FuentesValoresController; +use App\Http\Controllers\Api\ResponsablesValoresController; Route::post('register', [UserController::class, 'register']); -Route::post('login', [UserController::class, 'login']); +Route::post('login', [UserController::class, 'login'])->name('login'); + +//Responsables Valores +Route::get('responsables',[ResponsablesValoresController::class,'listResponsablesValores']); +//fuentes Valores +Route::get('fuentes',[FuentesValoresController::class,'listFuentesValores']); Route::middleware("auth:sanctum")->group (function(){ //rutas auth @@ -71,7 +78,10 @@ Route::middleware("auth:sanctum")->group (function(){ Route::put('causa',[CausasRaicesController::class,'update']); Route::delete('causa/{id}',[CausasRaicesController::class,'delete']); - + //ruta responsables + /*Route::post('responsable',[CausasRaicesController::class,'create']); + Route::put('responsable',[CausasRaicesController::class,'update']); + Route::delete('responsable/{id}',[CausasRaicesController::class,'delete']);*/ }); diff --git a/routes/web.php b/routes/web.php index e825498..238a27d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,5 +13,8 @@ use Illuminate\Support\Facades\Route; | */ Route::get('/', function () { - return ['APP' => 'Sistema Gestor de Calidad de la Escuela de Relaciones Industriales']; + return response()->json(['APP' => 'Sistema Gestor de Calidad de la Escuela de Relaciones Industriales'],200); +}); +Route::fallback(function(){ + return response()->json(['message' => 'PAGINA NO ENCONTRADA O NO ESTAS AUTORIZADO PARA ESTA PAGINA'], 404); }); \ No newline at end of file