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); }
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; }
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(); }
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); }
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); }