コード例 #1
0
ファイル: tarea.php プロジェクト: jbgae/bareaarquitectos
 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">&times;</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);
 }