These fields can be added by creating two new display methods on the securableObject data source on the SysSecTasksEditPS form:
public display UserLicenseType displayViewUserAccessLicense(SecurableObject _object)
{
#AOT
#Properties
#define.PropertyReadUserLicense('ViewUserLicense')
#define.PropertyFullAccessUserLicense('MaintainUserLicense')
UserLicenseType userLicType;
TreeNode treeNode;
EntryPointType type = Global::enum2int(_object.Type);
str nodePath =
(type == EntryPointType::MenuItemDisplay) ? strFmt('%1\\%2', #MenuItemsDisplayPath, _object.Name) :
(type == EntryPointType::MenuItemOutput) ? strFmt('%1\\%2', #MenuItemsOutputPath, _object.Name) :
(type == EntryPointType::MenuItemAction) ? strFmt('%1\\%2', #MenuItemsActionPath, _object.Name) :
(type == EntryPointType::WebUrlItem) ? strFmt('%1\\%2', #WebMenuItemsUrlPath, _object.Name) :
(type == EntryPointType::WebActionItem) ? strFmt('%1\\%2', #WebMenuItemsActionPath, _object.Name) :
(type == EntryPointType::WebManagedContent) ? strFmt('%1\\%2', #WebContentItemsManagedPath, _object.Name) :
'';
Map typeSet = new Map(Types::String, Types::Enum);
// Available types property values
typeSet.insert('', UserLicenseType::None);
typeSet.insert('None', UserLicenseType::None);
typeSet.insert('SelfServe', UserLicenseType::SelfServe);
typeSet.insert('Task', UserLicenseType::Task);
typeSet.insert('Functional', UserLicenseType::Functional);
typeSet.insert('Enterprise', UserLicenseType::Enterprise);
typeSet.insert('Server', UserLicenseType::Server);
if (nodePath != '')
{
treeNode = TreeNode::findNode(nodePath);
}
if (treeNode)
{
userLicType = typeSet.lookup(treeNode.AOTgetProperty(#PropertyReadUserLicense));
treeNode.treeNodeRelease();
}
return userLicType;
}
The above code adds a display method to display the ViewUserAccessLincense. The other display method is exactly the same except #PropertyFullUserLicense is used instead of #PropertyReadUserLicense on the following line:
userLicType = typeSet.lookup(treeNode.AOTgetProperty(#PropertyReadUserLicense));
Then all you need to do is add the display methods to the grid in the form design and you're done