Implementar el control condicional en el menú de selección de acciones en la vista de lista


Al añadir una acción en el menú Seleccionar acción en Suite de aplicaciones Maximo, es posible que deseemos que la acción solo sea visible para determinadas personas de un grupo de personas. Veamos la implementación práctica del control condicional en la pestaña PRINCIPAL y en la vista de lista.
Para estos controles de interfaz de usuario condicionales, podemos crear una opción de firma para la acción y conceder acceso a los usuarios con una condición que compruebe si la persona actual está en el grupo de personas requerido o específico.



Tenga en cuenta que el enfoque anterior solo funciona en la pestaña PRINCIPAL (pestañas de detalles del registro) para un solo registro. Si queremos que la acción se invoque desde la pestaña LISTA de la aplicación (vista de lista), donde se pueden seleccionar varios registros y realizar acciones a la vez, veremos que el nuevo menú de acciones sigue siendo visible para todos los usuarios del grupo de seguridad, no solo para ciertas personas del grupo de personas, incluso si se aplica la condición.

Sin embargo, este no es un error de Maximo y funciona según lo diseñado, porque:
Entonces, ¿cómo se crea un control condicional en el menú Seleccionar acción de la vista de lista? A continuación se muestra un enfoque alternativo.





from psdi.server import MXServer
from psdi.security import UserInfo
# Get the current user's PERSONID
current_personid = mbo.getUserInfo().getPersonId()
pgtSet = MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", mbo.getUserInfo())
pgtSet.setWhere("persongroup = 'PG_SCDR' and RESPPARTYGROUP = '" + current_personid + "'")
pgtSet.reset()
# Error out if the current person not in Person Group PG_SCDR
if pgtSet.isEmpty():
service.yncerror("wo", "woCdrAccess")
pgtSet.cleanup()
pgtSet.close()


Discover everything you need to know to modernize your asset management strategy.
Inside, you’ll learn:

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.
You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can
go now.