Beispiel #1
0
 public function registrar($codigo)
 {
     $this->pagina = 'crear proyecto';
     $this->carpeta = 'administrador';
     $this->estilo = array('registrar', 'jquery-ui');
     $this->javascript = array('jquery-ui', 'fecha', 'select', 'registroConstructora', 'validarProyecto', 'jquery.validate.min');
     $this->titulo = 'registrar proyecto';
     $this->menu = 'menu_admin_proyecto';
     $this->permisos('admin');
     $datos['user'] = '******';
     $datos['codigo'] = $codigo;
     $empleados = Empleado_model::obtener('Nombre', 'asc', 0, Empleado_model::numero());
     $datos['empleados'] = array();
     foreach ($empleados as $empleado) {
         $datos['empleados'][$empleado->Email] = $empleado->Nombre . ' ' . $empleado->ApellidoP . ' ' . $empleado->ApellidoM;
     }
     if (!Proyecto_model::existe($codigo)) {
         $presupuesto = new Presupuesto_model();
         $presupuesto->datos($codigo);
         $constructoras = Constructora_model::obtener('RazonSocial', 'asc');
         $datos['constructoras'] = array('0' => '');
         foreach ($constructoras as $constructora) {
             $datos['constructoras'][$constructora->Cif] = $constructora->RazonSocial;
         }
         $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('nombreProyecto' => array('class' => 'nombre', 'name' => 'nombre', 'label' => 'Nombre del proyecto', 'requerido' => TRUE), 'fechaFin' => array('class' => 'fechaFin', 'name' => 'fechaFin', 'label' => 'Fecha fin prevista', 'requerido' => FALSE), 'constructora' => array('class' => 'constructora', 'name' => 'constructora', 'label' => 'Empresa constructora', 'requerido' => FALSE), 'tipo' => array('class' => 'uneditable-input', 'name' => 'tipo', 'label' => 'Tipo', 'value' => $datos['opciones'][$presupuesto->tipo()], 'requerido' => FALSE), 'superficie' => array('class' => 'uneditable-input', 'name' => 'superficie', 'label' => 'Superficie', 'value' => $presupuesto->superficie(), 'requerido' => FALSE), 'direccion' => array('class' => 'uneditable-input', 'name' => 'direccion', 'label' => 'Dirección', 'value' => $presupuesto->direccion(), 'requerido' => FALSE), 'ciudad' => array('class' => 'uneditable-input', 'name' => 'ciudad', 'label' => 'Ciudad', 'value' => $presupuesto->ciudad(), 'requerido' => FALSE), 'provincia' => array('class' => 'uneditable-input', 'name' => 'provincia', 'label' => 'Provincia', 'value' => $presupuesto->provincia(), 'requerido' => FALSE), 'cliente' => array('class' => 'uneditable-input', 'name' => 'cliente', 'label' => 'Cliente', 'value' => $presupuesto->nombreCliente($codigo), 'requerido' => FALSE));
         $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_presupuesto');
         $datos['formularioRegistro'] = array('cif' => array('id' => 'cif', 'class' => 'cif', 'name' => 'cif', 'label' => 'CIF', 'maxlength' => '9', 'size' => '15', 'requerido' => TRUE), 'razonSocial' => array('razon' => 'razon', 'class' => 'razon', 'name' => 'razon', 'label' => 'Razón Social', 'maxlength' => '20', 'size' => '15', 'requerido' => TRUE));
         $this->form_validation->set_rules('nombre', 'Nombre de proyecto', 'trim|required|xss_clean');
         $this->form_validation->set_rules('fechaFin', 'Fecha fin prevista', 'trim|xss_clean');
         $this->form_validation->set_message('required', '%s no puede estar vacio');
         $this->form_validation->set_message('min_length', '%s debe tener mínimo %s caracteres');
         $this->form_validation->set_message('xss_clean', ' %s no es válido');
         if ($this->form_validation->run() == TRUE) {
             $proyecto = new Proyecto_model();
             if ($proyecto->inicializar($codigo)) {
                 $codigoProyecto = $proyecto->codigo();
                 $empleados = $this->input->post('empleados');
                 $nombre = $proyecto->nombre($codigoProyecto);
                 $data = array('Estado' => 'Cerrado');
                 $presupuesto->actualizar($codigo, $data);
                 $this->exito = 'El proyecto se ha registrado con éxito.';
                 $presupuesto = new Presupuesto_model();
                 $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');
                 $f = $proyecto->fechaFinPrevista($codigo);
                 if ($f == NULL) {
                     $f = '---------';
                 }
                 $presupuesto = new Presupuesto_model();
                 $data = array('codigoProyecto' => $codigoProyecto, 'nombre' => $proyecto->nombre($codigoProyecto), 'progreso' => $this->_progreso($codigoProyecto), 'estado' => 'Ejecución', 'comienzo' => $proyecto->fechaComienzo($codigoProyecto), 'fin' => $f, 'tipo' => $opciones[$presupuesto->tipo($proyecto->codigoPresupuesto($codigoProyecto))], 'direccion' => $presupuesto->direccion($proyecto->codigoPresupuesto($codigoProyecto)), 'ciudad' => $presupuesto->ciudad($proyecto->codigoPresupuesto($codigoProyecto)), 'provincia' => $presupuesto->provincia($proyecto->codigoPresupuesto($codigoProyecto)), 'empleados' => $empleados);
                 $this->pusher->trigger('private-notificaciones', 'proyecto-crear', $data);
             } else {
                 $this->error = array('nivel' => '2', 'mensaje' => '<h4>Error.</h4> El proyecto no ha podido registrarse con éxito. Pro favor inténtelo de nuevo más tarde.');
             }
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => "No se puede crear el proyecto indicado, debido a que ya existe");
     }
     $this->mostrar($datos);
 }
Beispiel #2
0
 public function buscar($campo = 'Nombre', $orden = 'asc', $limit = '5', $busqueda = '', $offset = 0)
 {
     $this->permisos('admin');
     $this->pagina = 'empleados';
     $this->carpeta = 'administrador';
     $this->titulo = 'buscar empleado';
     $this->menu = 'menu_admin_empleados';
     $this->estilo = 'tablas';
     $this->javascript = array('marcar_checkbox', 'redireccion');
     $datos['busqueda'] = TRUE;
     if ($busqueda != '') {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => urldecode($busqueda), 'autofocus' => 'autofocus');
     } else {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => $this->input->post('buscador'), 'autofocus' => 'autofocus');
     }
     $datos['boton'] = array('class' => 'btn', 'id' => 'buscador', 'name' => 'button', 'value' => 'Buscar');
     $datos['borrar'] = array('class' => 'btn btn-danger', 'id' => 'borrar', 'value' => 'Borrar selección', 'data-confirm' => "¿Estás seguro?");
     $datos['fields'] = array('Nombre' => 'Nombre', 'Cargo' => 'Cargo', 'Salario' => 'Salario', 'FechaContratacion' => 'Alta', 'FechaFinContrato' => 'Baja', 'FechaUltimoAcceso' => 'Último acceso', 'Email' => 'Email');
     $this->form_validation->set_rules('buscador', 'Buscador', 'trim|required|xss_clean');
     $this->form_validation->set_message('required', '%s no puede estar vacio');
     $this->form_validation->set_message('xss_clean', ' %s no es una búsqueda válida');
     if ($this->form_validation->run() == FALSE) {
         if ($busqueda != '') {
             $busqueda = urldecode($busqueda);
             $busq_cant = Empleado_model::busqueda_cantidad($busqueda);
             $opciones = $this->seleccion($busq_cant);
             $datos['opciones'] = $opciones;
             if ($this->input->post('cantidad') != '') {
                 if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                     $limit = $busq_cant;
                 } else {
                     $limit = $opciones[$this->input->post('cantidad')];
                 }
             }
             $datos['elementos'] = $limit;
             if ($this->input->post('cantidad') != '') {
                 $datos['limit'] = $this->input->post('cantidad');
             } else {
                 $aux = 0;
                 if ($limit % 5 != 0) {
                     $aux = 1;
                 }
                 $datos['limit'] = floor($limit / 5) - 1 + $aux;
             }
             $datos['busq'] = $busqueda;
             $datos['empleados'] = Empleado_model::buscar($busqueda, $campo, $orden, $offset, $limit);
             $datos['numero'] = $busq_cant;
             $config = array();
             $config['base_url'] = base_url() . "admin/empleados/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             $config['total_rows'] = $busq_cant;
             $config['per_page'] = $limit;
             $config['uri_segment'] = 8;
             $config['prev_link'] = 'anterior';
             $config['next_link'] = 'siguiente';
             $config['first_link'] = '<<';
             $config['last_link'] = '>>';
             $config['num_tag_open'] = '<li>';
             $config['num_tag_close'] = '</li>';
             $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
             $config['cur_tag_close'] = '</a></li>';
             $config['prev_tag_open'] = '<li>';
             $config['prev_tag_close'] = '</li>';
             $config['next_tag_open'] = '<li>';
             $config['next_tag_close'] = '</li>';
             $config['first_tag_open'] = '<li>';
             $config['first_tag_close'] = '</li>';
             $config['last_tag_open'] = '<li>';
             $config['last_tag_close'] = '</li>';
             $this->pagination->initialize($config);
             $datos['links'] = $this->pagination->create_links();
             $datos['campo'] = $campo;
             $datos['orden'] = $orden;
         } else {
             $datos['numero'] = 0;
             $datos['opciones'] = array(0);
             $datos['campo'] = $campo;
             $datos['orden'] = $orden;
             $datos['buscar'] = '';
             $datos['limit'] = 0;
             $datos['elementos'] = 0;
             $datos['busq'] = '';
             $datos['vacio'] = TRUE;
         }
         $this->mostrar($datos);
     } else {
         $busqueda = $this->input->post('buscador');
         $busq_cant = Empleado_model::busqueda_cantidad($busqueda);
         $opciones = $this->seleccion($busq_cant);
         $datos['opciones'] = $opciones;
         if ($this->input->post('cantidad') != '') {
             if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                 $limit = Empleado_model::numero();
             } else {
                 $limit = $opciones[$this->input->post('cantidad')];
             }
         }
         $datos['elementos'] = $limit;
         if ($this->input->post('cantidad') != '') {
             $datos['limit'] = $this->input->post('cantidad');
         } else {
             $aux = 0;
             if ($limit % 5 != 0) {
                 $aux = 1;
             }
             $datos['limit'] = floor($limit / 5) - 1 + $aux;
         }
         $datos['busq'] = $busqueda;
         $datos['empleados'] = Empleado_model::buscar($busqueda, $campo, $orden, $offset, $limit);
         $datos['numero'] = $busq_cant;
         $config = array();
         $config['base_url'] = base_url() . "admin/empleados/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         $config['total_rows'] = $busq_cant;
         $config['per_page'] = $limit;
         $config['uri_segment'] = 7;
         $config['prev_link'] = 'anterior';
         $config['next_link'] = 'siguiente';
         $config['first_link'] = '<<';
         $config['last_link'] = '>>';
         $config['num_tag_open'] = '<li>';
         $config['num_tag_close'] = '</li>';
         $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
         $config['cur_tag_close'] = '</a></li>';
         $config['prev_tag_open'] = '<li>';
         $config['prev_tag_close'] = '</li>';
         $config['next_tag_open'] = '<li>';
         $config['next_tag_close'] = '</li>';
         $config['first_tag_open'] = '<li>';
         $config['first_tag_close'] = '</li>';
         $config['last_tag_open'] = '<li>';
         $config['last_tag_close'] = '</li>';
         $this->pagination->initialize($config);
         $datos['links'] = $this->pagination->create_links();
         $datos['campo'] = $campo;
         $datos['orden'] = $orden;
         $this->mostrar($datos);
     }
 }