public function verTarea($codigoProyecto, $codigoTarea) { $this->pagina = 'tarea'; $this->carpeta = 'empleado'; $this->titulo = "tarea"; $this->estilo = array('jquery-te-1.3.3', '../jquery-ui', 'proyectos', 'notas', 'tareas'); $this->javascript = array('editor', 'jquery-te-1.3.3.min', 'notas', 'select', 'tooltip'); $this->menu = 'menu_empleado_proyecto'; $this->form_validation->set_error_delimiters('<div class="alert alert-error"> <button type="button" class="close" data-dismiss="alert">×</button> <h4>Error</h4>', '</div>'); if ($this->uri->segment('1') == 'admin') { $this->permisos('admin'); $datos['user'] = '******'; } else { $this->permisos('empleado'); $datos['user'] = '******'; } if (Proyecto_model::existe($codigoProyecto)) { $datos['codigo'] = $codigoProyecto; $proyecto = new Proyecto_model(); $proyecto->datos($codigoProyecto); $datos['nombreProyecto'] = $proyecto->nombre(); $datos['estado'] = $proyecto->estado(); if ($proyecto->pertenece($this->session->userdata('email'))) { if (Tarea_model::existe($codigoTarea) && $this->_permisosTareas($codigoProyecto, $codigoTarea)) { $this->submenu = 'menu_proyecto'; $tarea = new Tarea_model(); $datos['tarea'] = $tarea->datos($codigoTarea); $empleado = new Empleado_model(); $datos['foto'] = $empleado->foto($tarea->email()); $archivos = Archivo_model::obtener($codigoTarea, 'tarea'); if (!empty($archivos)) { $i = 0; foreach ($archivos as $archivo) { $datos['archivo'][$i]['ruta'] = $archivo->Ruta; $datos['archivo'][$i]['nombre'] = array_pop(explode("/", $archivo->Ruta)); $datos['archivo'][$i]['codigo'] = $archivo->Codigo; $i++; } } $respuestas = Respuesta_model::obtener($codigoTarea); if (!empty($respuestas)) { $datos['respuestas'] = $respuestas; foreach ($respuestas as $respuesta) { $datos['fotoRespuesta'][$respuesta->Email] = $empleado->foto($respuesta->Email); $archivosRespuesta = Archivo_model::obtener($respuesta->Codigo, 'respuesta'); $i = 0; if (!empty($archivosRespuesta)) { foreach ($archivosRespuesta as $archivo) { $datos['archivoRespuesta'][$respuesta->Codigo][$i]['nombre'] = array_pop(explode("/", $archivo->Ruta)); $datos['archivoRespuesta'][$respuesta->Codigo][$i]['codigo'] = $archivo->Codigo; $i++; } } } } $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigoProyecto); $datos['opciones'] = array('ejecucion' => 'Ejecución', 'cerrado' => 'Cerrado'); $datos['formulario'] = array('contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => 'Responder:', 'type' => 'text'), 'estado' => array('class' => 'estado', 'id' => 'estado', 'name' => 'estado', 'label' => 'Estado')); $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_tareas'); $this->form_validation->set_rules('contenido', 'Contenido', 'trim|min_length[3]'); $this->form_validation->set_message('required', 'El campo %s no puede estar vacio'); $this->form_validation->set_message('min_legth', 'El campo %s debe tener mínmo 3 caracteres'); $this->form_validation->set_message('xss_clean', 'El campo %s no es válido'); if ($this->form_validation->run() == TRUE) { if ($this->input->post('estado') == 'cerrado') { $tarea->estado($codigoTarea, TRUE); $datos['tarea'] = $tarea->datos($codigoTarea); } else { $respuesta = new Respuesta_model(); $respuesta->inicializar($codigoTarea); $codigoRespuesta = $respuesta->codigo(); if ($codigoRespuesta) { $archivo = new Archivo_model(); $archivo->inicializar('respuesta', $codigoRespuesta); $empleado = new Empleado_model(); if ($empleado->foto($this->session->userdata('email')) == '') { $foto = base_url() . "images/indice.jpeg"; } else { $foto = $empleado->foto($this->session->userdata('email')); } $data = array('codigo' => $codigoProyecto, 'codigoTarea' => $codigoTarea, 'codigoRespuesta' => $codigoRespuesta, 'resp' => $this->input->post('contenido'), 'empleado' => $this->session->userdata('nombre') . ' ' . $this->session->userdata('apellidos'), 'email' => $this->session->userdata('email'), 'foto' => $foto, 'empleados' => Tarea_model::empleadosTarea($codigoTarea), 'user' => $this->session->userdata('usuario'), 'fecha' => date('d M Y', strtotime($tarea->fechaCreacion())), 'hora' => date('H:i A', strtotime($tarea->fechaCreacion())), 'fechaCompleta' => date('d-m-Y H:i:s', strtotime($tarea->fechaCreacion())), 'titulo' => ucfirst($tarea->titulo($codigoTarea))); $this->pusher->trigger('private-notificaciones-empleado', 'respuesta-enviar', $data); $respuestas = Respuesta_model::obtener($codigoTarea); if (!empty($respuestas)) { $datos['respuestas'] = $respuestas; foreach ($respuestas as $respuesta) { $datos['fotoRespuesta'][$respuesta->Email] = $empleado->foto($respuesta->Email); $archivosRespuesta = Archivo_model::obtener($respuesta->Codigo, 'respuesta'); if (!empty($archivosRespuesta)) { $i = 0; foreach ($archivosRespuesta as $archivo) { $datos['archivoRespuesta'][$i][$respuesta->Codigo]['nombre'] = array_pop(explode("/", $archivo->Ruta)); $datos['archivoRespuesta'][$i][$respuesta->Codigo]['codigo'] = $archivo->Codigo; $i++; } } } } } } } } else { $this->error = array('nivel' => '1', 'mensaje' => 'La tarea indicada no existe'); } } else { $this->error = array('nivel' => '1', 'mensaje' => 'No puedes acceder al proyecto'); } } else { $this->error = array('nivel' => '1', 'mensaje' => 'El proyecto indicado no existe'); } $this->mostrar($datos); }