Esempio n. 1
0
 public function nota($codigoProyecto, $codigoNota)
 {
     $this->pagina = 'nota';
     $this->carpeta = 'empleado';
     $this->titulo = 'Nota';
     $this->estilo = array('jquery-te-1.3.3', '../jquery-ui', 'proyectos', 'notas');
     $this->javascript = array('editor', 'jquery-te-1.3.3.min', 'notas', 'select', 'tooltip');
     $this->menu = 'menu_empleado_proyecto';
     $this->submenu = 'menu_proyecto';
     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();
         $empleadosProyectos = Proyecto_model::empleadosProyecto($codigoProyecto);
         $datos['empleadosProyectos'] = array();
         if ($proyecto->pertenece($this->session->userdata('email'))) {
             if (Notas_model::existe($codigoNota) && $this->_permisosNotas($codigoProyecto, $codigoNota, TRUE)) {
                 $nota = new Notas_model();
                 $datos['nota'] = $nota->datos($codigoNota);
                 $empleadosNotas = Notas_model::empleados($codigoProyecto, $codigoNota);
                 $datos['empleadosNotas'] = array();
                 $datos['notas'] = Notas_model::obtener($codigoProyecto);
                 foreach ($empleadosProyectos as $empleado) {
                     $datos['empleadosProyectos'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                 }
                 if (!empty($empleadosNotas)) {
                     foreach ($empleadosNotas as $empleado) {
                         $datos['empleadosNotas'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                     }
                 }
             } 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
 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. 3
0
 public function registrar($codigo)
 {
     $this->permisos('admin');
     $datos['user'] = '******';
     $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>');
     $this->pagina = 'crear tarea';
     $this->carpeta = 'administrador';
     $this->titulo = 'crear tarea';
     $this->estilo = array('jquery-te-1.3.3', 'jquery-ui', 'proyectos', 'notas', 'tareas', $this->pagina);
     $this->javascript = array('fecha', 'editor', 'jquery-te-1.3.3.min', 'jquery-ui');
     $this->menu = 'menu_admin_proyecto';
     if (Proyecto_model::existe($codigo)) {
         $proyecto = new Proyecto_model();
         $proyecto->datos($codigo);
         $datos['estado'] = $proyecto->estado();
         if ($proyecto->pertenece($this->session->userdata('email'))) {
             $datos['codigo'] = $codigo;
             $this->submenu = 'menu_proyecto';
             $datos['nombreProyecto'] = $proyecto->nombre($codigo);
             $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigo);
             $datos['opciones'] = array('ejecucion' => 'Ejecución', 'cerrado' => 'Cerrado');
             $empleadosProyecto = Proyecto_model::empleadosProyecto($codigo);
             $datos['empleadosProyecto'] = array();
             foreach ($empleadosProyecto as $empleado) {
                 if ($empleado->EmailEmpleado != $this->session->userdata('email')) {
                     $datos['empleadosProyecto'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                 }
             }
             $datos['formulario'] = array('titulo' => array('class' => 'input-xlarge', 'id' => 'titulo', 'name' => 'titulo', 'label' => 'Título', 'maxlength' => '150', 'type' => 'text', 'value' => $this->input->post('titulo'), 'autofocus' => 'autofocus'), 'contenido' => array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => '¿Qué hacer?', 'type' => 'text', 'value' => $this->input->post('contenido')), 'asignado' => array('class' => 'asignado', 'id' => 'asignado', 'name' => 'asignado', 'label' => 'Asignar a'), '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) {
                 $tarea = new Tarea_model();
                 $codigoTarea = $tarea->inicializar($codigo);
                 if ($codigoTarea) {
                     $archivo = new Archivo_model();
                     $archivo->inicializar('tarea', $codigoTarea);
                     $datos['codigo'] = $codigo;
                     $this->submenu = 'menu_proyecto';
                     $datos['nombreProyecto'] = $proyecto->nombre($codigo);
                     $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigo);
                     $datos['opciones'] = array('ejecucion' => 'Ejecución', 'cerrado' => 'Cerrado');
                     $empleadosProyecto = Proyecto_model::empleadosProyecto($codigo);
                     $datos['empleadosProyecto'] = array();
                     foreach ($empleadosProyecto as $empleado) {
                         $datos['empleadosProyecto'][$empleado->EmailEmpleado] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
                     }
                     $this->exito = 'La tarea ha sido registrada satisfactoriamente.';
                     $data = array('codigo' => $codigo, 'codigoTarea' => $codigoTarea, 'admin' => $this->session->userdata('nombre') . ' ' . $this->session->userdata('apellidos'), 'empleado' => $this->input->post('asignado'), 'fecha' => date('d M Y', strtotime($tarea->fechaCreacion())), 'hora' => date('H:i A', strtotime($tarea->fechaCreacion())), 'titulo' => $tarea->titulo());
                     $this->pusher->trigger('private-notificaciones', 'tarea-enviar', $data);
                     $datos['tareas'] = Tarea_model::obtener($this->session->userdata('email'), $codigo);
                 }
             }
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => 'El proyecto indicado no existe');
     }
     $this->mostrar($datos);
 }
Esempio n. 4
0
 public function sincronizar()
 {
     if (empty($_POST)) {
         redirect('404');
     } else {
         $nombre = $_POST['id'];
         $aux = explode('-', $nombre);
         $empleados = array();
         $e = new Usuario_model();
         foreach (Proyecto_model::empleadosProyecto($aux[1]) as $empl) {
             if ($e->tipo($empl->EmailEmpleado) == 'empleado') {
                 $empleados[$empl->EmailEmpleado] = 'empleados';
             } else {
                 $empleados[$empl->EmailEmpleado] = $e->tipo($empl->EmailEmpleado);
             }
         }
         $pusher = array('texto' => $_POST['texto'], 'id' => $_POST['id'], 'empleados' => $empleados, 'usuario' => $this->session->userdata('email'));
         $this->pusher->trigger('editor', 'sincronizacion', $pusher);
     }
 }