Esempio 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);
 }
Esempio n. 2
0
 private function _cargarFechas($eventos, $year, $month, $day = '', $proyecto = '')
 {
     if ($proyecto == '') {
         if ($this->session->userdata('usuario') == 'admin') {
             $proyectoFechas = Proyecto_model::obtenerFechas($year, $month, $day);
             $tareasFechas = Tarea_model::obtenerFechas($year, $month, $day);
         } else {
             $proyectoFechas = Proyecto_model::obtenerFechas($year, $month, $day, $this->session->userdata('email'));
             $tareasFechas = Tarea_model::obtenerFechas($year, $month, $day, $this->session->userdata('email'));
         }
     } else {
         $proyectoAux = new Proyecto_model();
         $datosProyecto = $proyectoAux->datos($proyecto);
         if ($proyectoAux->pertenece($this->session->userdata('email'))) {
             $proyectoFechas = array();
             array_push($proyectoFechas, $datosProyecto);
             if ($this->session->userdata('usuario') == 'admin') {
                 $tareasFechas = Tarea_model::obtenerFechas($year, $month, $day, '', $proyecto);
             } else {
                 $tareasFechas = Tarea_model::obtenerFechas($year, $month, $day, $this->session->userdata('email'), $proyecto);
             }
         }
     }
     if ($day == '') {
         foreach ($proyectoFechas as $proyecto) {
             if ($this->_mismoMes($proyecto->FechaComienzo, $year, $month)) {
                 $diaI = substr($proyecto->FechaComienzo, 8, 2);
                 if ($diaI < 10) {
                     $diaI = $diaI % 10;
                 }
                 $asuntoI = $proyecto->NombreProyecto;
                 if (array_key_exists($diaI, $eventos)) {
                     if (is_array($eventos[$diaI])) {
                         array_push($eventos[$diaI], '<div class="event"><span class="text-info inicio">' . $asuntoI . '</span></div>');
                     } else {
                         $aux = $eventos[$diaI];
                         $eventos[$diaI] = array();
                         array_push($eventos[$diaI], $aux);
                         array_push($eventos[$diaI], '<div class="event"><span class="text-info inicio">' . $asuntoI . '</span></div>');
                     }
                 } else {
                     $eventos[$diaI] = '<div class="event"><span class="text-info inicio">' . $asuntoI . '</span></div>';
                 }
             }
             if ($this->_mismoMes($proyecto->FechaFinPrevista, $year, $month)) {
                 $diaF = substr($proyecto->FechaFinPrevista, 8, 2);
                 if ($diaF < 10) {
                     $diaF = $diaI % 10;
                 }
                 $asuntoF = $proyecto->NombreProyecto;
                 if (array_key_exists($diaF, $eventos)) {
                     if (is_array($eventos[$diaF])) {
                         array_push($eventos[$diaF], '<div class="event"><span class="text-info fin">' . $asuntoF . '</span></div>');
                     } else {
                         $aux = $eventos[$diaF];
                         $eventos[$diaF] = array();
                         array_push($eventos[$diaF], $aux);
                         array_push($eventos[$diaF], '<div class="event"><span class="text-info fin">' . $asuntoF . '</span></div>');
                     }
                 } else {
                     $eventos[$diaF] = '<div class="event"><span class="text-info fin">' . $asuntoF . '</span></div>';
                 }
             }
         }
         foreach ($tareasFechas as $tarea) {
             if ($this->_mismoMes($tarea->FechaCreacion, $year, $month)) {
                 $diaI = substr($tarea->FechaCreacion, 8, 2);
                 if ($diaI < 10) {
                     $diaI = $diaI % 10;
                 }
                 $asuntoI = $tarea->Titulo;
                 if (array_key_exists($diaI, $eventos)) {
                     if (is_array($eventos[$diaI])) {
                         array_push($eventos[$diaI], '<div class="event"><span class="text-info tareaInicio">' . $asuntoI . '</span></div>');
                     } else {
                         $aux = $eventos[$diaI];
                         $eventos[$diaI] = array();
                         array_push($eventos[$diaI], $aux);
                         array_push($eventos[$diaI], '<div class="event"><span class="text-info tareaInicio">' . $asuntoI . '</span></div>');
                     }
                 } else {
                     $eventos[$diaI] = '<div class="event"><span class="text-info tareaInicio">' . $asuntoI . '</span></div>';
                 }
             }
             if ($this->_mismoMes($tarea->FechaLimite, $year, $month)) {
                 $diaF = substr($tarea->FechaLimite, 8, 2);
                 if ($diaF < 10) {
                     $diaF = $diaF % 10;
                 }
                 $asuntoF = $tarea->Titulo;
                 if (array_key_exists($diaF, $eventos)) {
                     if (is_array($eventos[$diaF])) {
                         array_push($eventos[$diaF], '<div class="event"><span class="text-info tareaFin">' . $asuntoF . '</span></div>');
                     } else {
                         $aux = $eventos[$diaF];
                         $eventos[$diaF] = array();
                         array_push($eventos[$diaF], $aux);
                         array_push($eventos[$diaF], '<div class="event"><span class="text-info tareaFin">' . $asuntoF . '</span></div>');
                     }
                 } else {
                     $eventos[$diaF] = '<div class="event"><span class="text-info tareaFin">' . $asuntoF . '</span></div>';
                 }
             }
         }
     } else {
         foreach ($proyectoFechas as $proyecto) {
             if (date("Y-m-d", strtotime($proyecto->FechaComienzo)) == date("Y-m-d", strtotime("{$year}-{$month}-{$day}"))) {
                 array_push($eventos, '<div class="span5 inicioProyecto"> Se ha registrado el proyecto: ' . ucfirst($proyecto->NombreProyecto) . '</div>');
             }
             if (date("Y-m-d", strtotime($proyecto->FechaFinPrevista)) == date("Y-m-d", strtotime("{$year}-{$month}-{$day}"))) {
                 array_push($eventos, '<div class="span5 finProyecto"> Está previsto que el proyecto ' . ucfirst($proyecto->NombreProyecto) . ' termine hoy</div>');
             }
         }
         foreach ($tareasFechas as $tarea) {
             if (date("Y-m-d", strtotime($tarea->FechaLimite)) == date("Y-m-d", strtotime("{$year}-{$month}-{$day}"))) {
                 array_push($eventos, '<div class="span5 inicioTarea"> Se ha registrado la tarea: ' . ucfirst($tarea->Titulo) . '</div>');
             }
             if (date("Y-m-d", strtotime($tarea->FechaLimite)) == date("Y-m-d", strtotime("{$year}-{$month}-{$day}"))) {
                 array_push($eventos, '<div class="span5 finTarea"> Está previsto que la tarea ' . ucfirst($tarea->Titulo) . ' termine hoy</div>');
             }
         }
     }
     return $eventos;
 }
Esempio n. 3
0
 public function informe($codigo)
 {
     $this->permisos('admin');
     $proyecto = new Proyecto_model();
     $proyecto->datos($codigo);
     $presupuesto = new Presupuesto_model();
     $presupuesto->datos($proyecto->codigoPresupuesto());
     $tareas = Tarea_model::obtener($this->session->userdata('email'), $codigo);
     $empleados = Proyecto_model::empleadosProyecto($codigo);
     $pdf = new Proyectopdf();
     $pdf->AddPage();
     $pdf->SetMargins(20, 25, 30);
     $pdf->SetAutoPageBreak(true, 25);
     $pdf->AliasNbPages();
     $pdf->SetFont('Times', '', 12);
     $pdf->Cabecera($proyecto->NombreProyecto);
     $pdf->Cuerpo($proyecto, $presupuesto, $tareas, $empleados);
     $pdf->Pie();
     $pdf->Output();
 }
Esempio n. 4
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);
 }
Esempio n. 5
0
 public function listar($codigo, $codigoCarpeta = '', $error = "")
 {
     $this->pagina = 'archivos';
     $this->carpeta = 'empleado';
     $this->menu = 'menu_empleado_proyecto';
     $this->estilo = array($this->pagina, 'proyectos', 'bootstrap-lightbox');
     $this->titulo = 'archivos proyecto';
     if ($this->uri->segment(1) == 'admin') {
         $this->permisos('admin');
         $datos['user'] = '******';
     } else {
         $this->permisos('empleado');
         $datos['user'] = '******';
     }
     if (Proyecto_model::existe($codigo)) {
         $proyecto = new Proyecto_model();
         $proyecto->datos($codigo);
         if ($proyecto->pertenece($this->session->userdata('email'))) {
             if ($codigoCarpeta != '') {
                 $archivos = Archivo_model::obtenerArchivosCarpeta($codigoCarpeta);
                 $archivo = new Archivo_model();
                 $codigoPadre = $archivo->pertenece($codigoCarpeta);
                 $padres = array();
                 while ($codigoPadre != NULL) {
                     $padres[$codigoPadre] = $archivo->nombre($codigoPadre);
                     $codigoPadre = $archivo->pertenece($codigoPadre);
                 }
                 if (!empty($padres)) {
                     $datos['enlaces'] = $padres;
                 }
                 $datos['codigoCarpeta'] = $codigoCarpeta;
                 $datos['nombreCarpeta'] = $archivo->nombre($codigoCarpeta);
             } else {
                 $archivos = Archivo_model::obtener($codigo);
             }
             $datos['nombreProyecto'] = $proyecto->nombre();
             $datos['archivos'] = $archivos;
             $datos['codigo'] = $codigo;
             $this->submenu = 'menu_proyecto';
             $this->javascript = array('foco', 'bootstrap-lightbox', 'tooltip');
             $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button');
             $datos['estado'] = $proyecto->estado();
             if ($error != '') {
                 if (is_array($error)) {
                     $this->error = array('nivel' => '1', 'mensaje' => $error['error']);
                 } else {
                     $this->error = array('nivel' => '2', 'mensaje' => 'No se ha podido eliminar el archivo');
                 }
             }
         } else {
             $this->error = array('nivel' => '1', 'mensaje' => 'No tienes acceso a este proyecto');
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => 'El proyecto indicado no existe');
     }
     $this->mostrar($datos);
 }