Estados valores tabla / Responsables CRUD

master
AlexisAH 2022-08-12 21:27:34 -05:00
parent 3d9256e5c5
commit a055178f93
10 changed files with 227 additions and 8 deletions

View File

@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\EstadosValores;
class EstadosValoresController extends Controller
{
public function listEstadosValores(){
$EstadosValoresList = EstadosValores::all();
return response([
"status" => 1,
"msg" => "!Lista de estados",
"data" => $EstadosValoresList,
]);
}
}

View File

@ -33,6 +33,18 @@ class EstandarController extends Controller
]);
}
public function listEstandarValores(){
$estandaresNombreslist = Estandar::select('estandars.name')
->orderBy('estandars.id','asc')
->get();
return response([
"status" => 1,
"msg" => "!Lista de nombres de Estandares",
"data" => $estandaresNombreslist,
]);
}
public function showEstandar($id){
if(Estandar::where("id",$id)->exists()){
$estandar = Estandar::find($id);

View File

@ -146,7 +146,7 @@ class PlanController extends Controller{
$planAll = plan::select('plans.id','plans.nombre', 'plans.codigo','plans.avance','plans.estado','plans.id_user','estandars.name as estandar_name','users.name as user_name')
->join('estandars', 'plans.id_estandar', '=', 'estandars.id')
->join('users', 'plans.id_user', '=', 'users.id')
->orderBy('id','asc')
->orderBy('plans.id','asc')
->get();
foreach($planAll as $plan){
@ -166,7 +166,6 @@ class PlanController extends Controller{
if(plan::where(["id_user"=>$id_user,"id"=>$id])->exists()){
$plan = plan::find($id);
$plan->nombre = $request->nombre;
$plan->codigo = $request->codigo;
$plan->oportunidad_plan = $request->oportunidad_plan;
$plan->semestre_ejecucion = $request->semestre_ejecucion;
$plan->duracion = $request->duracion;

View File

@ -4,8 +4,101 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\plan;
use App\Models\Responsables;
class ResponsablesController extends Controller
{
public function create(Request $request) {
$request->validate([
"id_plan"=> "required|integer",
"nombre"=> "required",
]);
$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){
$responsable = new Responsables();
$responsable->id_plan = $request->id_plan;
$responsable->nombre = $request->nombre;
$responsable->save();
return response([
"status" => 1,
"message" => "Responsable creado exitosamente",
]);
}
else{
return response([
"status" => 0,
"message" => "No tienes permisos para crear responsables",
],404);
}
}
else{
return response([
"status" => 0,
"message" => "No se encontro el plan",
],404);
}
}
public function update(Request $request){
$request->validate([
"id"=> "required|integer",
"nombre"=> "required"
]);
$id_user = auth()->user()->id;
if(Responsables::where(["id"=>$request->id])->exists()){
$responsable = Responsables::find($request->id);
$plan = plan::find($responsable->id_plan);
if($plan->id_user == $id_user){
$responsable->nombre = $request->nombre;
$responsable->save();
return response([
"status" => 1,
"message" => "Responsable actualizado exitosamente",
]);
}
else{
return response([
"status" => 0,
"message" => "No tienes permisos para actualizar responsables",
],404);
}
}
else{
return response([
"status" => 0,
"message" => "No se encontro al responsable",
],404);
}
}
public function delete($id)
{
$id_user = auth()->user()->id;
if(Responsables::where(["id"=>$id])->exists()){
$responsable = Responsables::find($id);
$plan = plan::find($responsable->id_plan);
if($plan->id_user == $id_user){
$responsable->delete();
return response([
"status" => 1,
"message" => "Responsable eliminado exitosamente",
]);
}
else{
return response([
"status" => 0,
"message" => "No tienes permisos para eliminar responsables",
],404);
}
}
else{
return response([
"status" => 0,
"message" => "No se encontro al responsable",
],404);
}
}
}

View File

@ -43,7 +43,9 @@ class UserController extends Controller
$token = $user->createToken("auth_token")->plainTextToken;
return response()->json([
"message" => "Usuario logueado",
"access_token" => $token
"access_token" => $token,
"nombre" => $user->name,
"apellido" => $user->lastname,
]);
}else{
return response()->json([

View File

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class EstadosValores extends Model
{
use HasFactory;
public $timestamps = false;
protected $table ='estados_valores';
protected $fillable = [
'valor',
];
}

View File

@ -0,0 +1,24 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\EstadosValores>
*/
class EstadosValoresFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
return [
//
'valor' => $this,
];
}
}

View File

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('estados_valores', function (Blueprint $table) {
$table->id();
$table->string('valor');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('estados_valores');
}
};

View File

@ -15,6 +15,7 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
//Usuarios
\App\Models\User::factory()->create([
"name"=>"Alexis",
@ -135,6 +136,22 @@ class DatabaseSeeder extends Seeder
"valor"=>"Comisión de desarrollo docente",
]);
// Estados valores : Planificado, Programado, Reprogramado, En proceso o Concluido.
;\App\Models\EstadosValores::factory()->create([
"valor"=>"Planificado",
]);
;\App\Models\EstadosValores::factory()->create([
"valor"=>"Programado",
]);
;\App\Models\EstadosValores::factory()->create([
"valor"=>"Reprogramado",
]);
;\App\Models\EstadosValores::factory()->create([
"valor"=>"En proceso",
]);
;\App\Models\EstadosValores::factory()->create([
"valor"=>"Concluido",
]);
}
}

View File

@ -5,7 +5,6 @@ use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
use App\Http\Controllers\Api\EstandarController;
use App\Http\Controllers\Api\PlanController;
use App\Http\Controllers\Api\AccionesMejorasController;
use App\Http\Controllers\Api\CausasRaicesController;
use App\Http\Controllers\Api\FuentesController;
@ -15,6 +14,9 @@ use App\Http\Controllers\Api\RecursosController;
use App\Http\Controllers\Api\MetasController;
use App\Http\Controllers\Api\FuentesValoresController;
use App\Http\Controllers\Api\ResponsablesValoresController;
use App\Http\Controllers\Api\ResponsablesController;
use App\Http\Controllers\Api\EstadosValoresController;
Route::post('register', [UserController::class, 'register']);
Route::post('login', [UserController::class, 'login'])->name('login');
@ -23,6 +25,10 @@ Route::post('login', [UserController::class, 'login'])->name('login');
Route::get('responsables',[ResponsablesValoresController::class,'listResponsablesValores']);
//fuentes Valores
Route::get('fuentes',[FuentesValoresController::class,'listFuentesValores']);
//Estados valores
Route::get('estados',[EstadosValoresController::class,'listEstadosValores']);
//Estandares valores
Route::get('estandares', [EstandarController::class,'listEstandarValores']);
Route::middleware("auth:sanctum")->group (function(){
//rutas auth
@ -79,9 +85,9 @@ Route::middleware("auth:sanctum")->group (function(){
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']);*/
Route::post('responsable',[ResponsablesController::class,'create']);
Route::put('responsable',[ResponsablesController::class,'update']);
Route::delete('responsable/{id}',[ResponsablesController::class,'delete']);
});