public static string?GetAllowedFor(this PropertyRoute route, PropertyAllowed requested) { if (!AuthLogic.IsEnabled || ExecutionMode.InGlobal) { return(null); } route = route.SimplifyToPropertyOrRoot(); if (route.PropertyRouteType == PropertyRouteType.Root || route.IsToStringProperty()) { PropertyAllowed paType = TypeAuthLogic.GetAllowed(route.RootType).MaxUI().ToPropertyAllowed(); if (paType < requested) { return("Type {0} is set to {1} for {2}".FormatWith(route.RootType.NiceName(), paType, RoleEntity.Current)); } return(null); } else { PropertyAllowed paProperty = cache.GetAllowed(RoleEntity.Current, route); if (paProperty < requested) { return("Property {0} is set to {1} for {2}".FormatWith(route, paProperty, RoleEntity.Current)); } return(null); } }
public static string GetAllowedFor(this PropertyRoute route, PropertyAllowed requested) { if (route.PropertyRouteType == PropertyRouteType.MListItems || route.PropertyRouteType == PropertyRouteType.LiteEntity) return GetAllowedFor(route.Parent, requested); if (!typeof(Entity).IsAssignableFrom(route.RootType)) return null; if (route.PropertyRouteType == PropertyRouteType.Root || route.IsToStringProperty()) { var typeAllowed = TypeAuthClient.GetAllowed(route.RootType).MaxUI().ToPropertyAllowed(); if (typeAllowed < requested) return "Type {0} is set to {1} for {2}".FormatWith(route.RootType.NiceName(), typeAllowed, RoleEntity.Current); return null; } var propAllowed = GetPropertyAllowed(route); if (propAllowed < requested) { var typeAllowed = TypeAuthClient.GetAllowed(route.RootType).MaxUI().ToPropertyAllowed(); if (typeAllowed < requested) return "Type {0} is set to {1} for {2}".FormatWith(route.RootType.NiceName(), typeAllowed, RoleEntity.Current); return "Property {0} is set to {1} for {2}".FormatWith(route, propAllowed, RoleEntity.Current); } return null; }
public static PropertyAllowed ToPropertyAllowed(this TypeAllowedBasic ta) { PropertyAllowed pa = ta == TypeAllowedBasic.None ? PropertyAllowed.None : ta == TypeAllowedBasic.Read ? PropertyAllowed.Read : PropertyAllowed.Modify; return(pa); }
public static string GetAllowedFor(this PropertyRoute route, PropertyAllowed requested) { if (route.PropertyRouteType == PropertyRouteType.MListItems || route.PropertyRouteType == PropertyRouteType.LiteEntity) { return(GetAllowedFor(route.Parent, requested)); } if (!typeof(Entity).IsAssignableFrom(route.RootType)) { return(null); } if (route.PropertyRouteType == PropertyRouteType.Root || route.IsToStringProperty()) { var typeAllowed = TypeAuthClient.GetAllowed(route.RootType).MaxUI().ToPropertyAllowed(); if (typeAllowed < requested) { return("Type {0} is set to {1} for {2}".FormatWith(route.RootType.NiceName(), typeAllowed, RoleEntity.Current)); } return(null); } var propAllowed = GetPropertyAllowed(route); if (propAllowed < requested) { var typeAllowed = TypeAuthClient.GetAllowed(route.RootType).MaxUI().ToPropertyAllowed(); if (typeAllowed < requested) { return("Type {0} is set to {1} for {2}".FormatWith(route.RootType.NiceName(), typeAllowed, RoleEntity.Current)); } return("Property {0} is set to {1} for {2}".FormatWith(route, propAllowed, RoleEntity.Current)); } return(null); }
public static void SetMaxAutomaticUpgrade(PropertyRoute property, PropertyAllowed allowed) { MaxAutomaticUpgrade.Add(property, allowed); }