本文整理汇总了PHP中toba::perfil_funcional方法的典型用法代码示例。如果您正苦于以下问题:PHP toba::perfil_funcional方法的具体用法?PHP toba::perfil_funcional怎么用?PHP toba::perfil_funcional使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类toba
的用法示例。
在下文中一共展示了toba::perfil_funcional方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: aplicar_restricciones_funcionales
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));
}
}
}
}
}
//----------------
}
示例2: get_lista_tabs
/**
* Retorna la lista de tabs de la pantalla actual
* @return array de toba_tab
*/
function get_lista_tabs()
{
//-- Restricción funcional pantalla no-visible ------
//Se modifica el metodo para que el ci almacene la lista de tabs modificados por las restricciones (caso wizard)
$lista = array();
$no_visibles = toba::perfil_funcional()->get_rf_pantallas_no_visibles($this->_id[1]);
for ($a = 0; $a < count($this->_info_ci_me_pantalla); $a++) {
$id = $this->_info_ci_me_pantalla[$a]["identificador"];
if (!in_array($this->_info_ci_me_pantalla[$a]['pantalla'], $no_visibles)) {
if (isset($this->_lista_tabs[$id])) {
$lista[$id] = $this->_lista_tabs[$id];
}
}
}
return $lista;
}
示例3: aplicar_restricciones_funcionales
/**
* @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: aplicar_restricciones_funcionales
/**
* Se aplican las restricciones funcionales posibles para este componente
* @ignore
*/
protected function aplicar_restricciones_funcionales()
{
//-- Restricción funcional eventos no-visibles ------
$no_visibles = toba::perfil_funcional()->get_rf_eventos_no_visibles();
if (!empty($no_visibles)) {
foreach ($this->_eventos_usuario_utilizados as $id => $evento) {
if (in_array($evento->get_id_metadato(), $no_visibles)) {
$evento->ocultar();
toba::logger()->debug("Restricción funcional. Se filtro el evento: {$id}", 'toba');
}
}
}
//--------------------------------------------------
}
示例5: aplicar_restricciones_funcionales
/**
* 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]);
}
}
}
//----------------
}
示例6:
/**
* El perfil funcional permite agrupar derechos y restricciones a acceder a determinados elementos de un proyecto
* @return toba_perfil_funcional
*/
static function perfil_funcional()
{
if (!isset(self::$perfil_funcional)) {
self::$perfil_funcional = new toba_perfil_funcional();
}
return self::$perfil_funcional;
}
示例7: set_pantalla
/**
* Cambia la pantalla a utilizar en el servicio actual
* El cambio recien sera efectivo cuando se utilize la pantalla con el metodo pantalla()
* @param string $id Identificador de la pantalla, tal como se definio en el editor
*/
function set_pantalla($id)
{
$no_visibles = toba::perfil_funcional()->get_rf_pantallas_no_visibles($this->_id[1]);
$ok = false;
foreach ($this->_info_ci_me_pantalla as $info_pantalla) {
if (!$ok && $info_pantalla['identificador'] == $id) {
if (in_array($info_pantalla['pantalla'], $no_visibles)) {
//-- Restricción funcional pantalla no-visible ------
throw new toba_error_def($this->get_txt() . "No es posible navegar hacia la pantalla '" . $id . "' ya que se encuentra oculta por una restricción funcional");
//--------------
} else {
$ok = true;
}
}
}
if (!$ok) {
throw new toba_error_def($this->get_txt() . "El identificador de pantalla '" . $id . "' no está definido en el ci.");
}
if (isset($this->_pantalla_servicio)) {
throw new toba_error_def($this->get_txt() . "No es posible cambiar la pantalla a mostrar porque ya ha sido utilizada.");
}
$this->_pantalla_id_servicio = $id;
}