Exemplo n.º 1
0
 public function editar($codigoProyecto, $codigoNota)
 {
     if ($this->uri->segment(1) == 'admin') {
         $this->permisos('admin');
         $datos['user'] = '******';
     } else {
         $this->permisos('empleado');
         $datos['user'] = '******';
     }
     $this->pagina = 'notas';
     $this->carpeta = 'empleado';
     $this->titulo = 'editar nota';
     $this->estilo = array('jquery-te-1.3.3', 'jquery-ui', 'proyectos', $this->pagina);
     $this->javascript = array('editor', 'jquery-te-1.3.3.min', 'notas', 'select');
     $this->menu = 'menu_admin_proyecto';
     $this->submenu = 'menu_proyecto';
     $datos['actualizar'] = TRUE;
     $this->form_validation->set_error_delimiters('<div class="text-error">', '</div>');
     if (Proyecto_model::existe($codigoProyecto)) {
         $datos['codigo'] = $codigoProyecto;
         $proyecto = new Proyecto_model();
         $proyecto->datos($codigoProyecto);
         $datos['estado'] = $proyecto->estado();
         $datos['nombreProyecto'] = $proyecto->nombre();
         $datos['empleadosProyectos'] = array();
         if ($proyecto->pertenece($this->session->userdata('email'))) {
             if (Notas_model::existe($codigoNota) && $this->_permisosNotas($codigoProyecto, $codigoNota)) {
                 $nota = new Notas_model();
                 $datos['nota'] = $nota->datos($codigoNota);
                 $empleadosNotas = Notas_model::empleados($codigoProyecto, $codigoNota);
                 $datos['empleadosNotas'] = array();
                 $datos['notas'] = Notas_model::obtener($codigoProyecto);
                 $empl = array();
                 if (!empty($empleadosNotas)) {
                     foreach ($empleadosNotas as $empleado) {
                         if ($empleado->EmailEmpleado != $this->session->userdata('email')) {
                             $datos['empleadosNotas'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                             array_push($empl, $empleado->EmailEmpleado);
                         }
                     }
                 }
                 $empleados = Notas_model::empleadosNoNota($empl, $codigoProyecto);
                 if (!empty($empleados)) {
                     foreach ($empleados as $empleado) {
                         if ($empleado->EmailEmpleado != $this->session->userdata('email')) {
                             $datos['empleadosProyectos'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                         }
                     }
                 }
                 $datos['formulario'] = array('titulo' => array('class' => 'input-xlarge', 'id' => 'titulo', 'name' => 'titulo', 'label' => 'titulo', 'maxlength' => '150', 'type' => 'text', 'value' => $nota->Titulo, 'autofocus' => 'autofocus'), 'contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => 'contenido', 'value' => $nota->Contenido), 'publico' => array('class' => 'publico', 'id' => 'publico', 'name' => 'permisos', 'label' => '<span>Público.</span> Todos los empleados registrados en el proyecto podrán acceder a ella.', 'value' => 'publico'), 'privado' => array('class' => 'privado', 'id' => 'privado', 'name' => 'permisos', 'label' => '<span>Privado.</span> Sólamente tú y los administradores tendrán acceso a ella.', 'value' => 'privado'), 'personalizado' => array('class' => 'personalizado', 'id' => 'personalizado', 'name' => 'permisos', 'label' => '<span>Personalizado.</span> Tú eliges quién tendrá acceso a ella.', 'value' => 'personalizado'));
                 if ($nota->permisos() == 'publico') {
                     $datos['formulario']['publico']['checked'] = TRUE;
                 } elseif ($nota->permisos() == 'privado') {
                     $datos['formulario']['privado']['checked'] = TRUE;
                 } elseif ($nota->permisos() == 'personalizado') {
                     $datos['formulario']['personalizado']['checked'] = TRUE;
                 }
                 $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_notas');
                 $this->form_validation->set_rules('titulo', 'Titulo', 'trim|required|min_length[3]|xss_clean');
                 $this->form_validation->set_rules('contenido', 'Contenido', 'trim|required|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 ($nota->actualizar()) {
                         $datos['notas'] = Notas_model::obtener($codigoProyecto);
                         $datos['empleadosProyectos'] = array();
                         $datos['empleadosNotas'] = array();
                         $empleadosNotas = Notas_model::empleados($codigoProyecto, $codigoNota);
                         $empl = array();
                         if (!empty($empleadosNotas)) {
                             foreach ($empleadosNotas as $empleadoAux) {
                                 if ($empleadoAux->EmailEmpleado != $this->session->userdata('email')) {
                                     $datos['empleadosNotas'][$empleadoAux->EmailEmpleado] = $empleadoAux->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                                     array_push($empl, $empleadoAux->EmailEmpleado);
                                 }
                             }
                         }
                         $empleados = Notas_model::empleadosNoNota($empl, $codigoProyecto);
                         if (!empty($empleados)) {
                             foreach ($empleados as $empleado) {
                                 if ($empleado->EmailEmpleado != $this->session->userdata('email')) {
                                     $datos['empleadosProyectos'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                                 }
                             }
                         }
                         $this->exito = 'La nota ha sido actualizada satisfactoriamente.';
                         $datos['formulario'] = array('titulo' => array('class' => 'input-xlarge', 'id' => 'titulo', 'name' => 'titulo', 'label' => 'titulo', 'maxlength' => '150', 'type' => 'text', 'value' => $this->input->post('titulo')), 'contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => 'contenido', 'value' => $this->input->post('contenido')), 'publico' => array('class' => 'publico', 'id' => 'publico', 'name' => 'permisos', 'label' => '<span>Público.</span> Todos los empleados registrados en el proyecto podrán acceder a ella.', 'checked' => 'TRUE', 'value' => 'publico'), 'privado' => array('class' => 'privado', 'id' => 'privado', 'name' => 'permisos', 'label' => '<span>Privado.</span> Sólamente tú y los administradores tendrán acceso a ella.', 'value' => 'privado'), 'personalizado' => array('class' => 'personalizado', 'id' => 'personalizado', 'name' => 'permisos', 'label' => '<span>Personalizado.</span> Tú eliges quién tendrá acceso a ella.', 'value' => 'personalizado'));
                         if ($this->input->post('permisos') == 'publico') {
                             $datos['formulario']['publico']['checked'] = TRUE;
                         } elseif ($this->input->post('permisos') == 'privado') {
                             $datos['formulario']['privado']['checked'] = TRUE;
                         } elseif ($this->input->post('permisos') == 'personalizado') {
                             $datos['formulario']['personalizado']['checked'] = TRUE;
                         }
                     } else {
                         $this->error = array('nivel' => '2', 'mensaje' => 'No se ha podido actualizar la nota, por favor inténtelo de nuevo más tarde');
                     }
                 }
             } else {
                 $this->error = array('nivel' => '1', 'mensaje' => 'La nota 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);
 }
Exemplo n.º 2
0
 private function _progreso($codigo)
 {
     $aux = '1';
     if (Proyecto_model::existe($codigo)) {
         $proyecto = new Proyecto_model();
         if ($proyecto->estado($codigo) == 'Cerrado') {
             $aux = '100';
         } else {
         }
     }
     return $aux;
 }
Exemplo n.º 3
0
 public function editar($codigoProyecto, $codigoTarea)
 {
     $this->permisos('admin');
     $datos['user'] = '******';
     $this->pagina = 'crear tarea';
     $this->carpeta = 'administrador';
     $this->titulo = 'editar tarea';
     $this->estilo = array('jquery-te-1.3.3', 'jquery-ui', 'proyectos', 'notas', 'tareas');
     $this->javascript = array('fecha', 'editor', 'jquery-te-1.3.3.min', 'jquery-ui');
     $this->menu = 'menu_admin_proyecto';
     $this->submenu = 'menu_proyecto';
     $datos['actualizar'] = TRUE;
     $this->form_validation->set_error_delimiters('<div class="text-error">', '</div>');
     if (Proyecto_model::existe($codigoProyecto)) {
         $datos['codigo'] = $codigoProyecto;
         $proyecto = new Proyecto_model();
         $proyecto->datos($codigoProyecto);
         $datos['estado'] = $proyecto->estado();
         $datos['nombreProyecto'] = $proyecto->nombre();
         $datos['empleadosProyectos'] = array();
         $datos['opciones'] = array('ejecucion' => 'Ejecución', 'cerrado' => 'Cerrado');
         if (Tarea_model::existe($codigoTarea) && $this->_permisosTareas($codigoProyecto, $codigoTarea)) {
             $tarea = new Tarea_model();
             $datos['tarea'] = $tarea->datos($codigoTarea);
             $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigoProyecto);
             $datos['formulario'] = array('titulo' => array('class' => 'input-xlarge', 'id' => 'titulo', 'name' => 'titulo', 'label' => 'Título', 'maxlength' => '150', 'type' => 'text', 'value' => $tarea->titulo(), 'autofocus' => 'autofocus'), 'contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => '¿Qué hacer?', 'type' => 'text', 'value' => $tarea->contenido()), 'asignado' => array('class' => 'uneditable-input', 'id' => 'asignado', 'name' => 'asignado', 'label' => 'Asignar a', 'value' => $tarea->asignado($codigoTarea, TRUE)), 'estado' => array('class' => 'estado', 'id' => 'estado', 'name' => 'estado', 'label' => 'Estado', 'value' => $this->input->post('estado')), 'fechaLimite' => array('class' => 'fechaLimite input-small', 'id' => 'fechaLimite', 'name' => 'fechaLimite', 'label' => 'Fecha Límite', 'value' => $this->input->post('fechaLimite')));
             $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_tareas');
             $this->form_validation->set_rules('titulo', 'Titulo', 'trim|required|min_length[3]|xss_clean');
             $this->form_validation->set_rules('contenido', 'Contenido', 'trim|required|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 ($tarea->actualizar()) {
                     $datos['tarea'] = $tarea->datos($codigoTarea);
                     $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigoProyecto);
                     $archivo = new Archivo_model();
                     $archivo->inicializar('tarea', $codigoTarea);
                     $this->exito = 'La tarea ha sido actualizada satisfactoriamente.';
                     $datos['formulario'] = array('titulo' => array('class' => 'input-xlarge', 'id' => 'titulo', 'name' => 'titulo', 'label' => 'Título', 'maxlength' => '150', 'type' => 'text', 'value' => $tarea->titulo()), 'contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => '¿Qué hacer?', 'type' => 'text', 'value' => $tarea->contenido()), 'asignado' => array('class' => 'asignado', 'id' => 'asignado', 'name' => 'asignado', 'label' => 'Asignar a', 'value' => $tarea->asignado($codigoTarea, TRUE)), 'estado' => array('class' => 'estado', 'id' => 'estado', 'name' => 'estado', 'label' => 'Estado', 'value' => $this->input->post('estado')), 'fechaLimite' => array('class' => 'fechaLimite input-small', 'id' => 'fechaLimite', 'name' => 'fechaLimite', 'label' => 'Fecha Límite', 'value' => $this->input->post('fechaLimite')));
                 } else {
                     $this->error = array('nivel' => '2', 'mensaje' => 'No se ha podido actualizar la tarea, por favor inténtelo de nuevo más tarde');
                 }
             }
         } else {
             $this->error = array('nivel' => '1', 'mensaje' => 'La tarea indicada no existe');
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => 'El proyecto indicado no existe');
     }
     $this->mostrar($datos);
 }
Exemplo n.º 4
0
 public function borrar($codigoProyecto, $codigoArchivo = '', $codigoCarpeta = '')
 {
     $usuario = $this->session->userdata('usuario');
     if (Proyecto_model::existe($codigoProyecto)) {
         $proyecto = new Proyecto_model();
         if ($proyecto->estado($codigoProyecto) != 'Cerrado') {
             if ($codigoArchivo != '') {
                 if (Archivo_model::existe($codigoArchivo)) {
                     $archivo = new Archivo_model();
                     if ($this->session->userdata('usuario') == 'admin' || $archivo->emailEmpleado($codigoArchivo) == $this->session->userdata('email')) {
                         if ($archivo->eliminar($codigoArchivo)) {
                             if ($usuario == 'admin') {
                                 if ($codigoCarpeta != '') {
                                     redirect("{$usuario}/proyecto/archivos/{$codigoProyecto}/{$codigoCarpeta}");
                                 } else {
                                     redirect("{$usuario}/proyecto/archivos/{$codigoProyecto}");
                                 }
                             } elseif ($usuario == 'empleado') {
                                 if ($codigoCarpeta != '') {
                                     redirect("empleados/proyecto/archivos/{$codigoProyecto}/{$codigoCarpeta}");
                                 } else {
                                     redirect("empleados/proyecto/archivos/{$codigoProyecto}");
                                 }
                             }
                         } else {
                             $error = array('error' => 'No se ha podido eliminar.');
                             $this->listar($codigoProyecto, $codigoCarpeta, $error);
                         }
                     } else {
                         $error = array('error' => 'No se ha podido eliminar el archivo');
                         $this->listar($codigoProyecto, $codigoCarpeta, $error);
                     }
                 }
             } else {
                 if (Archivo_model::eliminarProyecto($codigoProyecto)) {
                     if ($usuario == 'admin') {
                         redirect("{$usuario}/proyecto/archivos/{$codigoProyecto}");
                     } elseif ($usuario == 'empleado') {
                         redirect("empleados/proyecto/archivos/{$codigoProyecto}");
                     }
                 } else {
                     $error = array('error' => 'No se han podido eliminar los archivos del proyecto.');
                     $this->listar($codigoProyecto, $codigoCarpeta, $error);
                 }
             }
         } else {
             $error = array('error' => 'El proyecto esta cerrado');
             $this->listar($codigoProyecto, $codigoCarpeta, $error);
         }
     } else {
         $error = array('error' => 'El proyecto no existe');
         $this->listar($codigoProyecto, $codigoCarpeta, $error);
     }
 }