Thank you for your cooperation. We were able to reproduce the problem and, as expected, there was a tricky bug in the control panel of the example module. The reason I was not able to reproduce the problem eariler was that it is related to case sensitive
role names. I only tried with lower case roles while your role names probably include capital letters ("RealEstate").
By default Sitefinity stores permissions, using lower case roles, so permissions for the "RealEstate" role were actually saved under "realestate", which is the right way. The issue comes when one tries to collect permissions for roles, using the GetPermission
method of the GlobalPermissions
class. You can see in the example module that the method uses TryGetValue
for incorrect role names, concerning capital letters.
What I did to make this work was to change line 84:
|if (this.Permissions.TryGetValue(role, out curr))
in the GetPermission method to look like this:
|if (this.Permissions.TryGetValue(role.ToLower(), out curr))
This way correct role names are used. Hope this solves your problem.
the Telerik team