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