示例#1
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);
 }
示例#2
0
 public function registrar($codigo, $codigoCarpeta = '')
 {
     if (Proyecto_model::existe($codigo)) {
         $proyecto = new Proyecto_model();
         if ($proyecto->estado($codigo) != 'Cerrado') {
             if ($this->session->userdata('usuario') == 'admin' || Proyecto_model::existeEmpleado($codigo, $this->session->userdata('email'))) {
                 if (!is_dir(getcwd() . '/archivos/proyectos/')) {
                     mkdir(getcwd() . '/archivos/proyectos/', 0755);
                 }
                 if (!is_dir(getcwd() . '/archivos/proyectos/' . $codigo)) {
                     mkdir(getcwd() . '/archivos/proyectos/' . $codigo, 0755);
                 }
                 $archivo = new Archivo_model();
                 $cod = '';
                 //Si queremos registrar una carpeta
                 if ($this->input->post('nombreCarpeta') != '') {
                     if ($codigoCarpeta != '') {
                         $aux = $archivo->inicializar('carpeta', $codigo, $codigoCarpeta);
                         $cod = $archivo->codigo();
                     } else {
                         $aux = $archivo->inicializar('carpeta', $codigo);
                         $cod = $archivo->codigo();
                     }
                 } else {
                     if ($codigoCarpeta == '') {
                         $aux = $archivo->inicializar('proyecto', $codigo);
                         $cod = $archivo->codigo();
                     } else {
                         $aux = $archivo->inicializar('proyecto', $codigo, $codigoCarpeta);
                         $cod = $archivo->codigo();
                     }
                 }
                 if (!is_array($aux)) {
                     if ($codigoCarpeta == '') {
                         $this->listar($codigo);
                     } else {
                         $this->listar($codigo, $codigoCarpeta);
                     }
                     $empleados = array();
                     $e = new Usuario_model();
                     foreach (Proyecto_model::empleadosProyecto($codigo) as $empl) {
                         if ($e->tipo($empl->EmailEmpleado) == 'empleado') {
                             $empleados[$empl->EmailEmpleado] = 'empleados';
                         } else {
                             $empleados[$empl->EmailEmpleado] = $e->tipo($empl->EmailEmpleado);
                         }
                     }
                     $numArchivos = 1;
                     if (isset($_FILES['archivos'])) {
                         $numArchivos = count($_FILES['archivos']['tmp_name']);
                     }
                     for ($i = $numArchivos; $i != 0; $i--) {
                         $pusher = array('codigo' => $cod, 'carpeta' => $codigoCarpeta, 'proyecto' => $codigo, 'nombre' => $archivo->nombre($cod), 'ruta' => $archivo->ruta($cod), 'tamanyo' => $archivo->tamanyo($cod), 'extension' => $archivo->extension($cod), 'fechaCompleta' => date('d-m-Y', strtotime($archivo->fecha($cod))), 'fecha' => date('d M Y', strtotime($archivo->fecha($cod))), 'hora' => date('H:i A', strtotime($archivo->fecha($cod))), 'empleado' => $this->session->userdata('nombre') . ' ' . $this->session->userdata('apellidos'), 'empleados' => $empleados);
                         $this->pusher->trigger('private-notificaciones-empleado', 'crear-archivo', $pusher);
                         $cod--;
                     }
                 } else {
                     if ($codigoCarpeta == '') {
                         $this->listar($codigo, '', $aux);
                     } else {
                         $this->listar($codigo, $codigoCarpeta, $aux);
                     }
                 }
                 if ($codigoCarpeta != '') {
                     if ($this->session->userdata('usuario') == 'admin') {
                         redirect("admin/proyecto/archivos/{$codigo}/{$codigoCarpeta}");
                     } else {
                         redirect("empleados/proyecto/archivos/{$codigo}/{$codigoCarpeta}");
                     }
                 } else {
                     if ($this->session->userdata('usuario') == 'admin') {
                         redirect("admin/proyecto/archivos/{$codigo}");
                     } else {
                         redirect("empleados/proyecto/archivos/{$codigo}");
                     }
                 }
             } else {
                 $error = array('error' => 'No puedes registrar archivos en este proyecto');
                 $this->listar($codigo, '', $error);
             }
         } else {
             $error = array('error' => 'El proyecto esta cerrado');
             $this->listar($codigo, '', $error);
         }
     } else {
         $this->mostrar($datos);
     }
 }
示例#3
0
 public function modificar($codigo)
 {
     $this->permisos('admin');
     $datos['opciones'] = array('0' => '', '1' => 'Obra Nueva', '2' => 'Peritación', '3' => 'Rehabilitación', '4' => 'Adecuación de local', '5' => 'Tasación', '6' => 'Informe', '7' => 'Auditoría energética');
     $datos['formulario'] = array('tipo' => array('class' => 'tipo', 'name' => 'tipo', 'label' => 'Tipo de obra', 'requerido' => TRUE), 'superficie' => array('class' => 'superficie input-small', 'name' => 'superficie', 'label' => 'Superficie', 'requerido' => FALSE), 'direccion' => array('class' => 'direccion uneditable-input', 'name' => 'direccion', 'label' => 'Dirección', 'requerido' => TRUE), 'provincia' => array('class' => 'provincia', 'name' => 'provincia', 'label' => 'Provincia', 'requerido' => TRUE), 'ciudad' => array('class' => 'ciudad', 'name' => 'ciudad', 'label' => 'Ciudad', 'requerido' => TRUE), 'descripcion' => array('class' => 'descripcion span12 editor', 'name' => 'descripcion', 'label' => 'Descripción', 'requerido' => TRUE));
     /*Para formulario cliente*/
     $datos['boton2'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_cliente');
     $datos['formularioRegistro'] = array('nombre' => array('id' => 'nombre', 'class' => 'nombre', 'label' => 'Nombre', 'name' => 'nombre', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'apellidoPaterno' => array('id' => 'apellidoP', 'class' => 'apellidoP', 'label' => 'Primer apellido', 'name' => 'primerApellido', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'apellidoMaterno' => array('id' => 'apellidoM', 'class' => 'apellidoM', 'label' => 'Segundo apellido', 'name' => 'segundoApellido', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'fechaNacimiento' => array('id' => 'fechaN', 'class' => 'fechaN', 'label' => 'Fecha de nacimiento', 'name' => 'fNacimiento', 'maxlength' => '10', 'size' => '15', 'requerido' => TRUE), 'email' => array('id' => 'email', 'class' => 'email', 'label' => 'Email', 'name' => 'email', 'maxlength' => '50', 'size' => '15', 'value' => '', 'requerido' => TRUE), 'password' => array('id' => 'password', 'class' => 'password', 'label' => 'Contraseña', 'name' => 'pass', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off', 'requerido' => TRUE), 'passconf' => array('id' => 'passconf', 'class' => 'passconf', 'label' => 'Repita la contraseña', 'name' => 'passconf', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off', 'requerido' => TRUE));
     $this->pagina = 'crear presupuesto';
     $this->carpeta = 'administrador';
     $this->form_validation->set_error_delimiters('<div class="text-error">', '</div>');
     $this->titulo = 'presupuesto';
     $this->estilo = array('registrar', 'presupuesto', 'jquery-te-1.3.3');
     $this->javascript = array('presupuesto', 'calcular presupuesto', 'ciudades', 'fecha', 'registroCliente', 'jquery.validate.min', 'validarPresupuesto', 'editor', 'jquery-te-1.3.3.min');
     $this->menu = 'menu_admin_presupuestos';
     $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_presupuesto');
     $datos['codigo'] = $codigo;
     if (Presupuesto_model::existe($codigo)) {
         $datos['actualizar'] = TRUE;
         $presupuesto = new Presupuesto_model();
         $presupuesto->datos($codigo);
         $datos['provincias'] = $this->Provincia->obtener();
         $datos['ciudades'] = $this->Ciudad->ciudades($presupuesto->provincia($codigo, TRUE));
         $datos['formulario']['tipo']['value'] = $presupuesto->tipo();
         $datos['formulario']['superficie']['value'] = $presupuesto->superficie();
         $datos['formulario']['direccion']['value'] = $presupuesto->direccion();
         $datos['formulario']['provincia']['value'] = $presupuesto->provincia($codigo, TRUE);
         $datos['formulario']['ciudad']['value'] = $presupuesto->ciudad($codigo, TRUE);
         $datos['formulario']['descripcion']['value'] = $presupuesto->descripcion();
         $datos['formulario']['nombre'] = array('class' => 'uneditable-input', 'name' => 'nombre', 'label' => 'Cliente', 'requerido' => TRUE, 'value' => $presupuesto->nombreCliente($codigo));
         $datos['formulario']['pem'] = array('class' => 'pem input-small', 'name' => 'pem', 'label' => 'Pem', 'placeholder' => 'PEM', 'requerido' => FALSE);
         $datos['formulario']['coeficiente'] = array('class' => 'coeficiente input-small', 'name' => 'coeficiente', 'label' => 'Coeficiente', 'placeholder' => 'Coeficiente', 'requerido' => FALSE);
         $datos['formulario']['coeficienteSeguridad'] = array('class' => 'coeficienteSeguridad input-small', 'name' => 'coeficienteSeguridad', 'label' => 'Coeficiente de seguridad', 'placeholder' => 'C.S.', 'requerido' => FALSE);
         if ($this->_validar()) {
             if ($presupuesto->actualizar($codigo)) {
                 $codigoPresupuesto = $codigo;
                 $archivo = new Archivo_model();
                 $archivo->inicializar('presupuesto', $codigoPresupuesto);
                 if ($this->LineasPresupuesto->inicializar($codigo)) {
                     $this->guardar($codigo);
                     $this->exito = "El presupuesto se ha creado satisfactoriamente.";
                 }
             } else {
                 $this->error = array('nivel' => '2', 'mensaje' => "El presupuesto no se ha registrado.");
             }
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => "El presupuesto no existe.");
     }
     $this->mostrar($datos);
 }
示例#4
0
 public function modificar($email = '')
 {
     $empleado = new Empleado_model();
     $this->titulo = 'modificar empleado';
     $this->estilo = array('jquery-te-1.3.3', 'registrar', 'jquery-ui');
     $this->javascript = array('jquery-ui', 'fecha', 'ciudades', 'jquery.validate.min', 'validarEmpleadoAct');
     if ($this->uri->segment(1) == 'empleado') {
         $this->permisos('empleado');
         $this->pagina = 'crear empleado';
         $this->carpeta = 'administrador';
         $datos['user'] = '******';
         $datos['datos'] = TRUE;
         $empleado->datos($this->session->userdata('email'));
         $email = $empleado->email();
         $datos['email'] = $email;
     } elseif ($this->session->userdata('usuario') == 'admin' && $this->uri->segment(2) == 'datos') {
         $this->permisos('admin');
         $this->pagina = 'crear empleado';
         $this->carpeta = 'administrador';
         $datos['user'] = '******';
         $datos['datos'] = TRUE;
         $empleado->datos($this->session->userdata('email'));
         $email = $empleado->email();
         $datos['email'] = $email;
     } else {
         $this->permisos('admin');
         $this->form_validation->set_error_delimiters('<span class="text-error">', '</span>');
         $email = urldecode($email);
         $this->pagina = 'crear empleado';
         $this->carpeta = 'administrador';
         $this->menu = 'menu_admin_empleados';
         $datos['email'] = $email;
         $datos['actualizar'] = TRUE;
         $empleado->datos($email);
     }
     if (Empleado_model::existe($empleado->email())) {
         $datos['provincias'] = $this->Provincia->obtener();
         $datos['ciudades'] = $this->Ciudad->ciudades($empleado->provincia($email, TRUE));
         $datos['imagen'] = $empleado->foto($email);
         $formulario = $this->formulario_registro();
         $formulario['nombre']['input']['value'] = $empleado->nombre();
         $formulario['apellidoPaterno']['input']['value'] = $empleado->primerApellido();
         $formulario['apellidoMaterno']['input']['value'] = $empleado->segundoApellido();
         $formulario['fechaNacimiento']['input']['value'] = $empleado->fechaNacimiento();
         $formulario['direccion']['input']['value'] = $empleado->direccion();
         $formulario['provincia']['input']['value'] = $empleado->provincia($email, TRUE);
         $formulario['ciudad']['input']['value'] = $empleado->ciudad($email, TRUE);
         $formulario['telefono']['input']['value'] = $empleado->telefono();
         $formulario['email']['input']['value'] = $empleado->email();
         $formulario['cargo'] = array('label' => array('accesskey' => '', 'name' => 'Cargo'), 'input' => array('class' => 'cargo', 'id' => 'cargo', 'name' => 'cargo', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->cargo()), 'requerido' => TRUE);
         $formulario['password']['requerido'] = FALSE;
         $formulario['passconf']['requerido'] = FALSE;
         $formulario['salario'] = array('label' => array('accesskey' => '', 'name' => 'Salario'), 'input' => array('class' => 'salario', 'id' => 'salario', 'name' => 'salario', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->salario()), 'requerido' => FALSE);
         $formulario['fechaContratacion'] = array('label' => array('accesskey' => '', 'name' => 'Fecha de contratación'), 'input' => array('class' => 'fechaContratacion', 'id' => 'fAlta', 'name' => 'fAlta', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaContratacion()), 'requerido' => FALSE);
         $formulario['fechaFinContrato'] = array('label' => array('accesskey' => '', 'name' => 'Fecha fin de contrato'), 'input' => array('class' => 'fechaFinContrato', 'id' => 'fBaja', 'name' => 'fBaja', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaFinContrato()), 'requerido' => FALSE);
         $datos['formulario'] = $formulario;
         foreach ($datos['formulario'] as &$input) {
             if ($input['input']['class'] != 'password' && $input['input']['class'] != 'passconf') {
                 if ($input['input']['value'] == 'Desconocido' || $input['input']['value'] == 'Desconocida') {
                     $input['input']['value'] = '';
                 }
             }
             if ($input['input']['class'] == 'salario' && $input['input']['value'] == 0) {
                 $input['input']['value'] = '';
             }
         }
         $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_empleado');
         $email = $empleado->email();
         if ($this->_validar()) {
             $codigo = '';
             $archivo = new Archivo_model();
             if ($empleado->foto($email, TRUE) != 0) {
                 $archivo->datos($empleado->foto($email, TRUE));
                 $archivo->actualizar($empleado->foto($email, TRUE), 'foto');
             } else {
                 if ($_FILES['archivo']['name'] != '') {
                     if ($archivo->inicializar('foto')) {
                         $codigo = $archivo->codigo();
                     }
                 }
             }
             if ($empleado->actualizar($email, $codigo)) {
                 $empleado->datos($email);
                 $datos['provincias'] = $this->Provincia->obtener();
                 $datos['ciudades'] = $this->Ciudad->ciudades($empleado->provincia($email, TRUE));
                 $datos['imagen'] = $empleado->foto($email);
                 $formulario = $this->formulario_registro();
                 $formulario['nombre']['input']['value'] = $empleado->nombre();
                 $formulario['apellidoPaterno']['input']['value'] = $empleado->primerApellido();
                 $formulario['apellidoMaterno']['input']['value'] = $empleado->segundoApellido();
                 $formulario['fechaNacimiento']['input']['value'] = $empleado->fechaNacimiento();
                 $formulario['direccion']['input']['value'] = $empleado->direccion();
                 $formulario['provincia']['input']['value'] = $empleado->provincia($email, TRUE);
                 $formulario['ciudad']['input']['value'] = $empleado->ciudad($email, TRUE);
                 $formulario['telefono']['input']['value'] = $empleado->telefono();
                 $formulario['email']['input']['value'] = $empleado->email();
                 $formulario['cargo'] = array('label' => array('accesskey' => '', 'name' => 'Cargo'), 'input' => array('class' => 'cargo', 'label' => 'Cargo', 'name' => 'cargo', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->cargo()), 'requerido' => TRUE);
                 $formulario['salario'] = array('label' => array('accesskey' => '', 'name' => 'Salario'), 'input' => array('class' => 'salario', 'label' => 'Salario', 'name' => 'salario', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->salario()), 'requerido' => FALSE);
                 $formulario['fechaContratacion'] = array('label' => array('accesskey' => '', 'name' => 'Fecha de contratación'), 'input' => array('class' => 'fechaContratacion', 'label' => 'Fecha contratación', 'name' => 'fAlta', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaContratacion()), 'requerido' => FALSE);
                 $formulario['fechaFinContrato'] = array('label' => array('accesskey' => '', 'name' => 'Fecha fin de contrato'), 'input' => array('class' => 'fechaFinContrato', 'label' => 'Fin de contrato', 'name' => 'fBaja', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaFinContrato()), 'requerido' => FALSE);
                 $datos['formulario'] = $formulario;
                 foreach ($datos['formulario'] as &$input) {
                     if ($input['input']['class'] != 'password' && $input['input']['class'] != 'passconf') {
                         if ($input['input']['value'] == 'Desconocido' || $input['input']['value'] == 'Desconocida') {
                             $input['input']['value'] = '';
                         }
                     }
                 }
                 $this->exito = 'El empleado ha sido actualizado satisfactoriamente';
             } else {
                 $this->error = array('nivel' => '2', 'mensaje' => 'No se ha podido completar la actualización por favor inténtelo de nuevo más tarde');
             }
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => 'No existe el empleado indicado.');
     }
     $this->mostrar($datos);
 }