'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; } }