예제 #1
0
 /**
  * Se aplican las restricciones funcionales posibles para este componente
  * @ignore 
  */
 protected function aplicar_restricciones_funcionales()
 {
     parent::aplicar_restricciones_funcionales();
     //-- Restricción funcional pantalla no-visible ------
     $no_visibles = toba::perfil_funcional()->get_rf_pantallas_no_visibles($this->_id[1]);
     for ($a = 0; $a < count($this->_info_ci_me_pantalla); $a++) {
         if (in_array($this->_info_ci_me_pantalla[$a]['pantalla'], $no_visibles)) {
             $id = $this->_info_ci_me_pantalla[$a]["identificador"];
             $this->_lista_tabs[$id]->ocultar();
             if (isset($this->_eventos['cambiar_tab_' . $id])) {
                 unset($this->_eventos['cambiar_tab_' . $id]);
                 //Borra el registro del evento cambio de tab (si aplica)
             }
         }
     }
     //-- Restricción funcional eis no-visible ------
     $no_visibles = toba::perfil_funcional()->get_rf_eis_no_visibles();
     $this->_dependencias = array();
     $lista = $this->_lista_dependencias;
     $this->_lista_dependencias = array();
     foreach ($lista as $id) {
         $dep = $this->controlador->dependencia($id);
         $id_dep = $dep->get_id();
         if (!in_array($id_dep[1], $no_visibles)) {
             $this->_dependencias[$id] = $this->controlador->dependencia($id);
             $this->_lista_dependencias[] = $id;
         }
     }
     //-----------------------------
 }
예제 #2
0
 function aplicar_restricciones_funcionales()
 {
     parent::aplicar_restricciones_funcionales();
     //-- Restricción funcional efs no-visibles y no-editables ------
     $no_visibles = toba::perfil_funcional()->get_rf_form_efs_no_visibles($this->_id[1]);
     $no_editables = toba::perfil_funcional()->get_rf_form_efs_no_editables($this->_id[1]);
     if (!empty($no_visibles) || !empty($no_editables)) {
         for ($a = 0; $a < count($this->_info_formulario_ef); $a++) {
             $id_ef = $this->_info_formulario_ef[$a]['identificador'];
             //Existe el ef luego de la configuración?
             if (isset($this->_elemento_formulario[$id_ef])) {
                 $id_metadato = $this->_info_formulario_ef[$a]['objeto_ei_formulario_fila'];
                 if (in_array($id_metadato, $no_editables)) {
                     $this->ef($id_ef)->set_solo_lectura(true);
                 }
                 if (in_array($id_metadato, $no_visibles)) {
                     if (in_array($id_ef, $this->_lista_ef_post)) {
                         //Si no existe el ef.. la RF que lo desactiva no tiene sentido, puede pasar por excepcion en etapa eventos
                         $this->desactivar_efs(array($id_ef));
                     }
                 }
             }
         }
     }
     //----------------
 }
예제 #3
0
 /**
  * @ignore
  */
 function aplicar_restricciones_funcionales()
 {
     parent::aplicar_restricciones_funcionales();
     //-- Restricción funcional Columnas no-visibles ------
     $no_visibles = toba::perfil_funcional()->get_rf_cuadro_cols_no_visibles($this->_id[1]);
     if (!empty($no_visibles)) {
         $alguno_eliminado = false;
         $limite = count($this->_info_cuadro_columna);
         //Para evitar el recalculo en cada vuelta
         for ($a = 0; $a < $limite; $a++) {
             if (in_array($this->_info_cuadro_columna[$a]['objeto_cuadro_col'], $no_visibles)) {
                 $clave = $this->_info_cuadro_columna[$a]['clave'];
                 array_splice($this->_info_cuadro_columna, $a, 1);
                 //Elimina el elemento y reorganiza indices
                 $a--;
                 $limite--;
                 //por eso vuelvo puntero atras y descuento 1 del maximo
                 $alguno_eliminado = true;
                 toba::logger()->debug("Restricción funcional. Se filtro la columna: {$clave}", 'toba');
             }
         }
         if ($alguno_eliminado) {
             $this->procesar_definicion_columnas();
         }
     }
     //----------------
 }
예제 #4
0
 /**
  *  Se aplican las restricciones funcionales necesarias a cada columna.
  * @ignore
  */
 function aplicar_restricciones_funcionales()
 {
     parent::aplicar_restricciones_funcionales();
     //-- Restricción funcional columnas no-visibles ------
     $no_visibles = toba::perfil_funcional()->get_rf_filtro_cols_no_visibles($this->_id[1]);
     if (!empty($no_visibles)) {
         foreach ($this->_columnas as $id => $columna) {
             if (in_array($columna->get_id_metadato(), $no_visibles)) {
                 unset($this->_columnas[$id]);
             }
         }
     }
     //----------------
 }