/** * 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; } } //----------------------------- }
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)); } } } } } //---------------- }
/** * @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(); } } //---------------- }
/** * 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]); } } } //---------------- }