Consulta sobre perfiles de datos

Buenas a todos!

Ante todo disculpen si hago una consulta que ya se realizó, pero no encontré algo al respecto que me sirva.

Mi duda es si es factible y cómo se haría para asignar en tiempo de ejecución otro perfil de datos a un determinado usuario distinto del que le asigné desde el toba_usuarios.

Muchas gracias!

Hola Laura,
Creo que la forma es subclaseando la clase que suministra el id del perfil de datos
Sería así.


class mi_usuario extends toba_usuario_basico {
	function get_perfil_datos()
	{
		return $this->perfil_datos; //Esta es la implementación general deberías ver bajo que condiciones varia el perfil de datos
	}
}


Luego vas al toba_editor, propiedades del proyecto, extensión del núcleo y definis la nueva subclase para el usuario.

El id que tiene que retornar tiene que estar presente en el campo usuario_perfil_datos de la tabla apex_usuario_proyecto_perfil_datos

Saludos!

Hola!

Creo entenderte, pero mi duda es cómo inserto el id del perfil en la tabla apex_usuario_proyecto_perfil_datos en el campo usuario_perfil_datos, siendo que desde el toba_usuarios puedo relacionar un usuario con un sólo perfil de datos. Es decir, lo que no sé es si existe alguna función que me permita insertar otro perfil en tiempo de ejecución y asociarlo al usuario.

Espero haber sido clara.

Saludos.

Hola Laura,

Lo que te plantea Seba es inducir el cambio en tiempo de ejecucion a traves de la redefinicion del metodo… es decir… vos no estarias asociando mediante toba_usuarios ambos perfiles al usuario sino que en tiempo de ejecucion cuando se llama al metodo get_perfil_datos()… vos devolverias el valor traido de la tabla o uno en particular que vos quieras dependiendo de reglas de negocio, lo malo de esto es que requiere algo de hardcoding.

El usuario en tiempo de ejecucion solo puede tener asociado un perfil de datos, por tanto en la tabla tambien tendra uno solo, de lo contrario bajo que reglas toba decidiria cual es el correcto cuando los recupera de la tabla?.

Ojo quizas seria una mejora interesante el hecho de poder decidir entre varios perfiles mediante una callback en lugar de tener que hacer esta redefinicion, lamentablemente por ahora es asi… de todas formas vamos a analizarlo como posibilidad futura ahora que tomamos conocimiento de este tipo de casos.

Saludos
Richard

Les agradezco la colaboración, voy a probarlo y cualquier duda les vuelvo a consultar.

Ahora con respecto al perfil funcional, desde el toba_usuarios le puedo asignar más de uno, pero cómo sabe el toba cuál tiene que usar o cuál es el predeterminado, y cómo le puedo asignar uno distinto en tiempo de ejecución?

Gracias nuevamente!
Saludos, Laura.

En el caso de los perfiles funcionales… no existe un perfil predeterminado… el perfil resultante para el usuario es la union de todos los perfiles funcionales que tenga asignados.

Saludos
Richard