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