Ignore:
Timestamp:
Apr 25, 2023, 7:41:10 PM (20 months ago)
Author:
alloc
Message:

*Save inherited per-method permission as "inherit" instead of the actual int.minValue string

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/WebServer/src/Permissions/AdminWebModules.cs

    r426 r427  
    8282               
    8383                public struct WebModule {
     84                        private const string methodLevelInheritKeyword = "inherit";
     85
    8486                        public string Name;
    8587                        public int LevelGlobal;
     
    134136                                        permissionElement.AddXmlElement ("method")
    135137                                                .SetAttrib ("name", method.ToStringCached ())
    136                                                 .SetAttrib ("permission_level", level.ToString ());
     138                                                .SetAttrib ("permission_level", level == MethodLevelInheritGlobal ? methodLevelInheritKeyword : level.ToString ());
    137139                                }
    138140                        }
     
    193195                                        }
    194196
    195                                         if (!int.TryParse (permissionLevelString, out int methodPermissionLevel)) {
     197                                        int methodPermissionLevel;
     198                                        if (permissionLevelString.EqualsCaseInsensitive (methodLevelInheritKeyword)) {
     199                                                methodPermissionLevel = MethodLevelInheritGlobal;
     200                                        } else if (!int.TryParse (permissionLevelString, out methodPermissionLevel)) {
    196201                                                Log.Warning (
    197202                                                        $"[Web] [Perms] Ignoring module child element, invalid (non-numeric) value for 'permission_level' attribute: {childElem.OuterXml}");
Note: See TracChangeset for help on using the changeset viewer.