在 “列表视图” 中的 “选择操作” 菜单上实现条件控制


在 “选择操作” 菜单中添加动作时 Maximo 应用程序套件,我们可能希望该操作仅对人员群组中的某些人可见。让我们来看看 MAIN 选项卡和 “列表” 视图中条件控制的实际实现。
对于此类有条件的用户界面控件,我们可以为操作创建签名选项,并向用户授予访问权限,条件是检查当前人员是否在必需/特定人员组中。



请注意,上述方法仅适用于单条记录的主选项卡(记录详细信息选项卡)。如果我们希望从应用程序列表选项卡(列表视图)中调用操作,在该选项卡中可以选择多条记录并同时执行操作,那么您会发现新的 “操作” 菜单对安全组中的所有用户仍然可见,不仅限于人员组中的某些人,即使条件已适用。

但这不是 Maximo 的错误,它按设计运行,因为:
那么,如何在 “列表” 视图的 “选择操作” 菜单上创建条件控件呢?以下是另一种方法。





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.