From c2bcf96a8df22d36c0d1ee25a32d7a04d5b6c944 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 26 Aug 2022 09:30:17 -0500 Subject: [PATCH] Permitir reenviar solicitud cuando fue rechazada --- app/Config/Filters.php | 2 +- app/Controllers/Prestador.php | 3 +++ app/Filters/FormularioInicialFilter.php | 2 +- app/Filters/InicioFilter.php | 11 +++++++-- app/Models/PrestadorSolicitudModel.php | 2 +- app/Views/Admin/solicitudes.php | 26 ++++++++++++++-------- app/Views/Prestador/formulario_inicial.php | 6 ++--- app/Views/Prestador/registroNoAprobado.php | 17 ++++++++++++++ app/Views/templates/baseAdmin.php | 12 ++-------- app/Views/templates/navbar.php | 2 +- 10 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 app/Views/Prestador/registroNoAprobado.php diff --git a/app/Config/Filters.php b/app/Config/Filters.php index ad09df8..36b7f3e 100644 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -78,7 +78,7 @@ class Filters extends BaseConfig * @var array */ public $filters = [ - 'inicio' => ['before' => ['/', '/horas']], + 'inicio' => ['before' => ['/',]], 'formulario_inicial' => ['before' => ['registro/']] ]; } diff --git a/app/Controllers/Prestador.php b/app/Controllers/Prestador.php index b2afb7d..beff9c6 100644 --- a/app/Controllers/Prestador.php +++ b/app/Controllers/Prestador.php @@ -63,6 +63,9 @@ class Prestador extends BaseController $data['id'] = user()->rh_prestador_solicitud_id; } + // Poner status de revisión (0) + $data['status'] = 0; + // Validar datos if (!$prestadorModel->save($data)) { return redirect()->back()->withInput()->with('errors', $prestadorModel->errors()); diff --git a/app/Filters/FormularioInicialFilter.php b/app/Filters/FormularioInicialFilter.php index bc662fa..c6004fa 100644 --- a/app/Filters/FormularioInicialFilter.php +++ b/app/Filters/FormularioInicialFilter.php @@ -22,7 +22,7 @@ class FormularioInicialFilter implements FilterInterface { // Usuario ya contestó el formulario y fue aprobado if (user()->idprestador) { - return redirect('/'); + return redirect()->route('home'); } } diff --git a/app/Filters/InicioFilter.php b/app/Filters/InicioFilter.php index 8a1afc5..ad08fa0 100644 --- a/app/Filters/InicioFilter.php +++ b/app/Filters/InicioFilter.php @@ -2,6 +2,7 @@ namespace App\Filters; +use App\Models\PrestadorSolicitudModel; use App\Models\UserModel; use CodeIgniter\Filters\FilterInterface; use CodeIgniter\HTTP\RequestInterface; @@ -29,8 +30,14 @@ class InicioFilter implements FilterInterface return redirect('registro'); } - // Ya registró sus datos, está pendiente la aprobación de RH - return \Config\Services::response()->setBody(view('Prestador/success')); + // Ya registr� sus datos, est� pendiente la aprobaci�n de RH + + // Ver status de la solicitud + $status = model(PrestadorSolicitudModel::class)->find(user()->rh_prestador_solicitud_id)['status']; + if ($status == 0) // aún no ha sido aprobada + return \Config\Services::response()->setBody(view('Prestador/success')); + else if ($status == 2) + return \Config\Services::response()->setBody(view('Prestador/registroNoAprobado')); } } diff --git a/app/Models/PrestadorSolicitudModel.php b/app/Models/PrestadorSolicitudModel.php index 0b56a1d..f20f9f1 100644 --- a/app/Models/PrestadorSolicitudModel.php +++ b/app/Models/PrestadorSolicitudModel.php @@ -60,7 +60,7 @@ class PrestadorSolicitudModel extends Model return $this ->where('status', 0) ->orWhere('status', 2) - ->orderBy('id ASC, status DESC') + ->orderBy('status ASC, id ASC') ->findAll(); } return $this->where('id', $id)->first(); diff --git a/app/Views/Admin/solicitudes.php b/app/Views/Admin/solicitudes.php index 9633eef..5dac0e0 100644 --- a/app/Views/Admin/solicitudes.php +++ b/app/Views/Admin/solicitudes.php @@ -21,7 +21,7 @@ - + @@ -46,16 +46,24 @@ 'searching': true, 'ordering': true, 'language': { + "decimal": "", + "emptyTable": "No hay información", + "info": "Mostrando _START_ a _END_ de _TOTAL_ registros", + "infoEmpty": "Mostrando 0 to 0 of 0 registros", + "infoFiltered": "(Filtrado de _MAX_ total registros)", + "infoPostFix": "", + "thousands": ",", "lengthMenu": "Mostrar _MENU_ registros", - "info": "Página: _PAGE_ / _PAGES_", - "zeroRecords": "No se encontraron registros", + "loadingRecords": "Cargando...", + "processing": "Procesando...", + "search": "Buscar:", + "zeroRecords": "No se encontraron resultados", "paginate": { - "first": "Inicio", - "last": "Fin", - "next": ">", - "previous": "<" - }, - 'search': 'Buscar:', + "first": "Primero", + "last": "Ultimo", + "next": "Siguiente", + "previous": "Anterior" + } }, 'order': [], }); diff --git a/app/Views/Prestador/formulario_inicial.php b/app/Views/Prestador/formulario_inicial.php index 45e9d9b..d16bfd4 100644 --- a/app/Views/Prestador/formulario_inicial.php +++ b/app/Views/Prestador/formulario_inicial.php @@ -191,9 +191,9 @@
- Regresar a lista + Regresar a lista Aprobar solicitud
@@ -201,7 +201,7 @@
- Cancelar + Cancelar
diff --git a/app/Views/Prestador/registroNoAprobado.php b/app/Views/Prestador/registroNoAprobado.php new file mode 100644 index 0000000..a922c71 --- /dev/null +++ b/app/Views/Prestador/registroNoAprobado.php @@ -0,0 +1,17 @@ +extend('templates/base') ?> + + +section('title') ?>PrestadorendSection() ?> + + +section('content') ?> + +

Tu solicitud no ha sido aprobada

+
Revisa tu correo electrónico para consultar el motivo por el que esta fue rechazada.
+
+ Puedes + corregir tus datos + y enviarlos nuevamente a revisión. +
+ +endSection() ?> \ No newline at end of file diff --git a/app/Views/templates/baseAdmin.php b/app/Views/templates/baseAdmin.php index d43b9d0..45015ca 100644 --- a/app/Views/templates/baseAdmin.php +++ b/app/Views/templates/baseAdmin.php @@ -26,7 +26,7 @@ scratch. This page gets rid of all links and provides the needed markup only.