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); }
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 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">×</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); }
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); } }