|
- <?php
-
- namespace App\Controllers;
-
- use App\Entities\PrestadorSolicitudModel;
- use App\Models\EncuestaModel;
- use App\Models\PreguntaModel;
- use App\Models\PrestadorModel;
- use App\Models\PrestadorSolicitudModel as ModelsPrestadorSolicitudModel;
- use App\Models\UserModel;
-
- class Admin extends BaseController
- {
- public function home()
- {
- $data = [
- 'title' => 'Inicio',
- 'solicitudes' => model(PrestadorSolicitudModel::class)->countSolicitudes(),
- 'prestadoresActivos' => model(PrestadorModel::class)->countPrestadoresActivos(),
- ];
- return view('Admin/index', $data);
- }
-
-
- // SOLICITUDES
- public function solicitudes()
- {
-
- $data = [
- 'title' => 'Solicitudes',
- 'solicitudes' => model(PrestadorSolicitudModel::class)->getPrestadorSolicitud(),
- ];
- return view('Admin/solicitudes', $data);
- }
-
- public function revisarSolicitud($id)
- {
-
- $model = model(ModelsPrestadorSolicitudModel::class);
-
- if (!$datos = $model->find($id)) {
- return redirect()->route('admin_solicitudes')->with('msg', array(
- 'type' => 'danger',
- 'body' => 'Solicitud no encontrada'
- ));
- }
-
- $data = [
- 'id' => $id,
- 'email' => user()->email,
- 'escuelas' => model(EscuelaModel::class)->getEscuelas(),
- 'departamentos' => model(DepartamentoModel::class)->getDepartamentos(),
- 'datos' => $datos,
- 'revisar' => true,
- ];
-
- return view('Prestador/formulario_inicial', $data);
- }
-
- public function aprobarSolicitud($id)
- {
- $solicitudModel = model(ModelsPrestadorSolicitudModel::class);
-
- // Validar que la solicitud existe
- if (!$solicitud = $solicitudModel->find($id)) {
- return redirect()->route('admin_solicitudes')->with('msg', array(
- 'type' => 'danger',
- 'body' => 'Solicitud no encontrada'
- ));
- }
-
- // Verificar que status de la solicitud == 0
- if ($solicitud['status'] != 0) {
- return redirect()->route('admin_solicitudes')->with('msg', array(
- 'type' => 'danger',
- 'body' => 'El status de esta solicitud no permite que sea aprobada'
- ));
- }
-
- // Encontrar usuario que mandó la solicitud
- if (!$user = model(UserModel::class)->findUserWithSolicitud($id)) {
- return redirect()->route('admin_solicitudes')->with('msg', array(
- 'type' => 'danger',
- 'body' => 'Ningún usuario tiene esa solicitud registrada.'
- ));
- }
-
- // Crear registro en la tabla prestador
- $prestadorModel = model(PrestadorModel::class);
-
- // Asignar id de la tabla prestador al usuario aprobado
-
- // Cambiar status de la solicitud
-
- return redirect()->route('admin_solicitudes')->with('msg', array(
- 'type' => 'success',
- 'body' => 'Solicitud aprobada. Se activo la cuenta del prestador.'
- ));
- }
-
- public function rechazarSolicitud($id)
- {
- echo 'rechazandp solicitud ' . $id;
- }
-
- // ENCUESTAS
- public function encuestas()
- {
- $data = [
- 'title' => 'Encuestas',
- 'encuestas' => model(EncuestaModel::class)->getEncuestas(),
- ];
- return view('Admin/encuestas.php', $data);
- }
-
- public function encuesta($id)
- {
- $data = [
- 'id' => $id,
- 'encuesta' => model(EncuestaModel::class)->getEncuestas($id, true),
- 'preguntas' => model(PreguntaModel::class)->getPreguntas($id),
-
- ];
- return view('Admin/encuesta', $data);
- }
-
- public function nuevaEncuesta()
- {
- // Guardar encuesta
- if ($this->request->getMethod() === 'post') {
- $encuesta = model(EncuestaModel::class);
-
- $data = $this->request->getPost();
- // agregar id del usuario actual
- $data['user_id'] = user_id();
-
- // Validar datos
- if (!$encuesta->save($data)) {
- return redirect()->back()->withInput()->with('errors', $encuesta->errors());
- }
-
- return redirect()->route('admin_encuestas')->with('msg', array(
- 'type' => 'success',
- 'body' => 'Encuesta creada correctamente.'
- ));
- }
- $data = [
- 'title' => 'Nueva encuesta',
- ];
- return view('Admin/formularioEncuesta', $data);
- }
-
- public function editarEncuesta($id)
- {
- $encuesta = model(EncuestaModel::class);
-
- if ($this->request->getMethod() === 'post') {
-
- $data = $this->request->getPost();
-
- if (!$encuesta->update($id, $data)) {
- return redirect()->back()->withInput()->with('errors', $encuesta->errors());
- }
- return redirect()->route('admin_encuestas')->with('msg', array(
- 'type' => 'success',
- 'body' => 'Encuesta editada correctamente',
- ));
- }
-
- $data = [
- 'id' => $id,
- 'title' => 'Modificar encuesta',
- 'datos' => $encuesta->getEncuestas($id),
- ];
-
- return view('Admin/formularioEncuesta', $data);
- }
-
- public function eliminarEncuesta($id)
- {
- if (!model(EncuestaModel::class)->delete($id)) {
- return redirect()->route('admin_encuestas')->with('msg', array(
- 'type' => 'error',
- 'body' => 'Error al eliminar la encuesta.'
- ));
- }
- return redirect()->route('admin_encuestas')->with('msg', array(
- 'type' => 'success',
- 'body' => 'Encuesta eliminada correctamente.'
- ));
- }
-
- // PREGUNTAS
-
- public function nuevaPregunta($id)
- {
- if ($this->request->getMethod() === 'post') {
- $pregunta = model(PreguntaModel::class);
-
- $data = $this->request->getPost();
-
- // Relacionar encuesta($id) con pregunta(survey_id)
- $data['survey_id'] = $id;
- $data['order_by'] = 1;
-
-
- // Validar y guardar datos
- if (!$pregunta->save($data)) {
- return redirect()->back()->withInput()->with('errors', $pregunta->errors());
- }
-
- $url = 'admin/encuesta/' . $id;
- return redirect()->to($url)->with('msg', array(
- 'type' => 'success',
- 'body' => 'Pregunta registrada correctamente',
- ));
- }
-
- $data = [
- 'title' => 'Nueva pregunta',
- 'id' => $id,
- ];
-
- return view('Admin/formularioPregunta', $data);
- }
-
-
- public function editarPregunta($id)
- {
- $pregunta = model(PreguntaModel::class);
-
- if ($this->request->getMethod() === 'post') {
-
- $data = $this->request->getPost();
- if (!$pregunta->update($id, $data)) {
- return redirect()->back()->withInput()->with('errors', $pregunta->errors());
- }
-
- $encuestaId = $pregunta->find($id)['survey_id'];
-
- $url = 'admin/encuesta/' . $encuestaId;
- return redirect()->to($url)->with('msg', array(
- 'type' => 'success',
- 'body' => 'Pregunta registrada correctamente',
- ));
- }
-
- $data = [
- 'preguntaId' => $id,
- 'title' => 'Editar pregunta',
- 'datos' => $pregunta->find($id),
- ];
- return view('Admin/formularioPregunta', $data);
- }
-
- public function eliminarPregunta(int $id)
- {
- $model = model('PreguntaModel');
-
- if (!$pregunta = $model->find($id)) {
- throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound();
- }
-
- $encuestaId = $pregunta['survey_id'];
- $model->delete($id);
-
- $url = 'admin/encuesta/' . $encuestaId;
-
- return redirect()->to($url)->with('msg', array(
- 'type' => 'success',
- 'body' => 'Pregunta eliminada correctamente',
- ));
- }
-
- public function preguntaPost()
- {
- $data = $this->request->getPost();
- $data['survey_id'] = 1;
- $data['order_by'] = 1;
-
- var_dump($data);
- }
-
- // GRUPOS
- public function createGroup()
- {
- // $authorize = service('authorization');
- // $id = $authorize->createGroup('Prestador', 'Prestadores de Servicio Social o Prácticas Profesionales');
- // echo $id;
- }
- }
|