From fd34a4f53a8bf574831c3b2db7dba5b14c6f32e8 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 18 Jun 2019 00:10:49 +0000 Subject: [PATCH] --- .../Controllers/AyaEnumPickListController.cs | 2 ++ server/AyaNova/biz/AuthorizationRoles.cs | 2 +- server/AyaNova/biz/BizObjectFactory.cs | 2 +- server/AyaNova/biz/BizRoles.cs | 8 +++---- server/AyaNova/biz/PrimeData.cs | 2 +- server/AyaNova/resource/de.json | 1 + server/AyaNova/resource/en.json | 1 + server/AyaNova/resource/es.json | 1 + server/AyaNova/resource/fr.json | 1 + server/AyaNova/util/Seeder.cs | 22 +++++++++++++------ 10 files changed, 28 insertions(+), 14 deletions(-) diff --git a/server/AyaNova/Controllers/AyaEnumPickListController.cs b/server/AyaNova/Controllers/AyaEnumPickListController.cs index cb934664..cd4a285b 100644 --- a/server/AyaNova/Controllers/AyaEnumPickListController.cs +++ b/server/AyaNova/Controllers/AyaEnumPickListController.cs @@ -100,6 +100,7 @@ namespace AyaNova.Api.Controllers LocaleKeysToFetch.Add("AuthorizationRoleClientFull"); LocaleKeysToFetch.Add("AuthorizationRoleOpsAdminLimited"); LocaleKeysToFetch.Add("AuthorizationRoleOpsAdminFull"); + LocaleKeysToFetch.Add("AuthorizationRoleAll"); var LT = LocaleBiz.GetSubsetStatic(LocaleKeysToFetch, LocaleId).Result; ReturnList.Add(new NameIdItem() { Name = LT["AuthorizationRoleNoRole"], Id = (long)AuthorizationRoles.NoRole }); @@ -118,6 +119,7 @@ namespace AyaNova.Api.Controllers ReturnList.Add(new NameIdItem() { Name = LT["AuthorizationRoleClientFull"], Id = (long)AuthorizationRoles.ClientFull }); ReturnList.Add(new NameIdItem() { Name = LT["AuthorizationRoleOpsAdminLimited"], Id = (long)AuthorizationRoles.OpsAdminLimited }); ReturnList.Add(new NameIdItem() { Name = LT["AuthorizationRoleOpsAdminFull"], Id = (long)AuthorizationRoles.OpsAdminFull }); + ReturnList.Add(new NameIdItem() { Name = LT["AuthorizationRoleAll"], Id = (long)AuthorizationRoles.All }); } break; diff --git a/server/AyaNova/biz/AuthorizationRoles.cs b/server/AyaNova/biz/AuthorizationRoles.cs index c8d5066c..99301b51 100644 --- a/server/AyaNova/biz/AuthorizationRoles.cs +++ b/server/AyaNova/biz/AuthorizationRoles.cs @@ -46,7 +46,7 @@ namespace AyaNova.Biz OpsAdminFull = 16384, ///Anyone of any role - AnyRole = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited | + All = BizAdminLimited | BizAdminFull | DispatchLimited | DispatchFull | InventoryLimited | InventoryFull | AccountingFull | TechLimited | TechFull | SubContractorLimited | SubContractorFull | ClientLimited | ClientFull | OpsAdminLimited | OpsAdminFull diff --git a/server/AyaNova/biz/BizObjectFactory.cs b/server/AyaNova/biz/BizObjectFactory.cs index 9db846ed..838def79 100644 --- a/server/AyaNova/biz/BizObjectFactory.cs +++ b/server/AyaNova/biz/BizObjectFactory.cs @@ -19,7 +19,7 @@ namespace AyaNova.Biz //Returns the biz object class that corresponds to the type presented - internal static BizObject GetBizObject(AyaType aytype, AyContext dbcontext, long userId = 1, AuthorizationRoles roles = AuthorizationRoles.AnyRole) + internal static BizObject GetBizObject(AyaType aytype, AyContext dbcontext, long userId = 1, AuthorizationRoles roles = AuthorizationRoles.All) { switch (aytype) { diff --git a/server/AyaNova/biz/BizRoles.cs b/server/AyaNova/biz/BizRoles.cs index 77ab64eb..95bac730 100644 --- a/server/AyaNova/biz/BizRoles.cs +++ b/server/AyaNova/biz/BizRoles.cs @@ -67,7 +67,7 @@ namespace AyaNova.Biz roles.Add(AyaType.ServerState, new BizRoleSet() { Change = AuthorizationRoles.OpsAdminFull, - ReadFullRecord = AuthorizationRoles.AnyRole + ReadFullRecord = AuthorizationRoles.All }); @@ -128,7 +128,7 @@ namespace AyaNova.Biz roles.Add(AyaType.Locale, new BizRoleSet() { Change = AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminFull, - ReadFullRecord = AuthorizationRoles.AnyRole + ReadFullRecord = AuthorizationRoles.All }); @@ -138,7 +138,7 @@ namespace AyaNova.Biz roles.Add(AyaType.DataFilter, new BizRoleSet() { Change = AuthorizationRoles.BizAdminFull, - ReadFullRecord = AuthorizationRoles.AnyRole + ReadFullRecord = AuthorizationRoles.All }); //////////////////////////////////////////////////////////// @@ -148,7 +148,7 @@ namespace AyaNova.Biz { //Only BizAdminFull can modify forms Change = AuthorizationRoles.BizAdminFull, - ReadFullRecord = AuthorizationRoles.AnyRole + ReadFullRecord = AuthorizationRoles.All }); //////////////////////////////////////////////////////////////////// diff --git a/server/AyaNova/biz/PrimeData.cs b/server/AyaNova/biz/PrimeData.cs index f39de588..75295ad1 100644 --- a/server/AyaNova/biz/PrimeData.cs +++ b/server/AyaNova/biz/PrimeData.cs @@ -26,7 +26,7 @@ namespace AyaNova.Biz u.Salt = Hasher.GenerateSalt(); u.Login = "manager"; u.Password = Hasher.hash(u.Salt, "l3tm3in"); - u.Roles = AuthorizationRoles.AnyRole;//AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull; + u.Roles = AuthorizationRoles.All;//AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull; u.LocaleId = ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID;//Ensure primeLocales is called first u.UserType = UserType.Administrator; diff --git a/server/AyaNova/resource/de.json b/server/AyaNova/resource/de.json index 8bc9f60f..06eb906b 100644 --- a/server/AyaNova/resource/de.json +++ b/server/AyaNova/resource/de.json @@ -1548,6 +1548,7 @@ "AuthorizationRoleClientFull":"Client-Benutzer - unbeschränkt", "AuthorizationRoleOpsAdminLimited":"Systemvorgänge - beschränkt", "AuthorizationRoleOpsAdminFull":"Systemvorgänge - unbeschränkt", + "AuthorizationRoleAll":"Alle rollen", "Welcome":"Willkommen in AyaNova", "ErrorFieldValueNotInteger": "Der Wert muss eine ganze Zahl sein", "ErrorFieldValueNotDecimal": "Wert muss eine Zahl sein", diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json index bbb5ecf0..53ebe4de 100644 --- a/server/AyaNova/resource/en.json +++ b/server/AyaNova/resource/en.json @@ -1547,6 +1547,7 @@ "AuthorizationRoleClientFull":"Client user - full", "AuthorizationRoleOpsAdminLimited":"System operations - limited", "AuthorizationRoleOpsAdminFull":"System operations - full", + "AuthorizationRoleAll":"All roles", "Welcome":"Welcome to AyaNova", "ErrorFieldValueNotInteger": "Value must be an integer", "ErrorFieldValueNotDecimal": "Value must be a number", diff --git a/server/AyaNova/resource/es.json b/server/AyaNova/resource/es.json index 37ca595e..d6eb1cbf 100644 --- a/server/AyaNova/resource/es.json +++ b/server/AyaNova/resource/es.json @@ -1548,6 +1548,7 @@ "AuthorizationRoleClientFull":"Usuario cliente - completo", "AuthorizationRoleOpsAdminLimited":"Operaciones del sistema - limitada", "AuthorizationRoleOpsAdminFull":"Operaciones del sistema - completo", + "AuthorizationRoleAll":"Todos los roles", "Welcome":"Bienvenido a AyaNova", "ErrorFieldValueNotInteger": "El valor debe ser un entero", "ErrorFieldValueNotDecimal": "El valor debe ser un número", diff --git a/server/AyaNova/resource/fr.json b/server/AyaNova/resource/fr.json index baf3b3c6..cabb903b 100644 --- a/server/AyaNova/resource/fr.json +++ b/server/AyaNova/resource/fr.json @@ -1547,6 +1547,7 @@ "AuthorizationRoleClientFull": "Client utilisateur - complète", "AuthorizationRoleOpsAdminLimited": "Opérations du système - limited", "AuthorizationRoleOpsAdminFull": "Opérations du système - complète", + "AuthorizationRoleAll":"Tous les rôles", "Welcome": "Bienvenue chez AyaNova", "ErrorFieldValueNotInteger": "La valeur doit être un entier", "ErrorFieldValueNotDecimal": "La valeur doit être un nombre", diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 264fd6e6..3575a4b3 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -360,9 +360,9 @@ namespace AyaNova.Util GenSeedUser(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable, timeZoneOffset, false, "TEST_INACTIVE", "TEST_INACTIVE"); //Alternate locale users for each stock locale - GenSeedUser(log, 1, AuthorizationRoles.AnyRole, UserType.Administrator, timeZoneOffset, true, "de", "de", LocaleBiz.LocaleNameToIdStatic("de")); - GenSeedUser(log, 1, AuthorizationRoles.AnyRole, UserType.Administrator, timeZoneOffset, true, "es", "es", LocaleBiz.LocaleNameToIdStatic("es")); - GenSeedUser(log, 1, AuthorizationRoles.AnyRole, UserType.Administrator, timeZoneOffset, true, "fr", "fr", LocaleBiz.LocaleNameToIdStatic("fr")); + GenSeedUser(log, 1, AuthorizationRoles.All, UserType.Administrator, timeZoneOffset, true, "de", "de", LocaleBiz.LocaleNameToIdStatic("de")); + GenSeedUser(log, 1, AuthorizationRoles.All, UserType.Administrator, timeZoneOffset, true, "es", "es", LocaleBiz.LocaleNameToIdStatic("es")); + GenSeedUser(log, 1, AuthorizationRoles.All, UserType.Administrator, timeZoneOffset, true, "fr", "fr", LocaleBiz.LocaleNameToIdStatic("fr")); } @@ -414,7 +414,7 @@ namespace AyaNova.Util { User u = new User(); u.Active = active; - + var p = new Bogus.Person(); u.Name = Uniquify(p.FullName); if (login != null) @@ -455,6 +455,13 @@ namespace AyaNova.Util { WidgetBiz Biz = WidgetBiz.GetBizInternal(ServiceProviderProvider.DBContext); var f = new Bogus.Faker(); + + //RANDOM ROLES + Array values = Enum.GetValues(typeof(AuthorizationRoles)); + Random random = new Random(); + + + for (int x = 0; x < count; x++) { Widget o = new Widget(); @@ -462,9 +469,10 @@ namespace AyaNova.Util o.Active = true; o.StartDate = f.Date.Between(DateTime.Now, DateTime.Now.AddMinutes(60)); o.EndDate = f.Date.Between(DateTime.Now.AddMinutes(90), DateTime.Now.AddHours(5)); - o.DollarAmount = Convert.ToDecimal(f.Commerce.Price()); - //this is nonsense but just to test an enum - o.Roles = AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited; + o.DollarAmount = Convert.ToDecimal(f.Commerce.Price()); + //Random but valid enum + AuthorizationRoles randomRole = (AuthorizationRoles)values.GetValue(random.Next(values.Length)); + o.Roles = randomRole; o.Notes = f.Lorem.Paragraph(); o.Tags = RandomTags(f); var NewObject = Biz.Create(ServiceProviderProvider.DBContext, o);