using System; namespace AyaNova.Biz { /// /// Authorization roles /// [Flags] public enum AuthorizationRoles : int { //https://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c //MAX 31 (2147483647)!!! or will overflow int and needs to be turned into a long //Must be a power of two: https://en.wikipedia.org/wiki/Power_of_two ///No role set NoRole = 0, ///BizAdminRestricted BizAdminRestricted = 1, ///BizAdmin BizAdmin = 2, ///ServiceRestricted ServiceRestricted = 4, ///Service Service = 8, ///InventoryRestricted InventoryRestricted = 16, ///Inventory Inventory = 32, ///Accounting Accounting = 64,//No limited role, not sure if there is a need ///TechRestricted TechRestricted = 128, ///Tech Tech = 256, ///SubContractorRestricted SubContractorRestricted = 512, //same as tech but restricted by further business rules (more fine grained) ///SubContractor SubContractor = 1024,//same as tech limited but restricted by further business rules (more fine grained) ///ClientRestricted CustomerRestricted = 2048, ///Client Customer = 4096, ///OpsAdminRestricted OpsAdminRestricted = 8192, ///OpsAdmin OpsAdmin = 16384, ///Sales Sales = 32768, ///SalesRestricted SalesRestricted = 65536, ///Anyone of any role All = BizAdminRestricted | BizAdmin | ServiceRestricted | Service | InventoryRestricted | Inventory | Accounting | TechRestricted | Tech | SubContractorRestricted | SubContractor | CustomerRestricted | Customer | OpsAdminRestricted | OpsAdmin | Sales | SalesRestricted // ,AllInsideUserRoles = BizAdminRestricted | BizAdmin | ServiceRestricted | Service | InventoryRestricted | // Inventory | Accounting | TechRestricted | Tech | SubContractorRestricted | // SubContractor | Sales | SalesRestricted | OpsAdminRestricted | OpsAdmin }//end AuthorizationRoles //, 65536, 131072, 262144, 524288, 1,048,576 }//end namespace GZTW.AyaNova.BLL /* ### INFO FOR DOCS #### official names for docs "AuthorizationRoles": "Authorization roles", "AuthorizationRoleNoRole": "No role", "AuthorizationRoleBizAdminRestricted": "Business administration - restricted", "AuthorizationRoleBizAdmin": "Business administration", "AuthorizationRoleServiceRestricted": "Service - restricted", "AuthorizationRoleService": "Service", "AuthorizationRoleInventoryRestricted": "Inventory - restricted", "AuthorizationRoleInventory": "Inventory", "AuthorizationRoleAccounting": "Accounting", "AuthorizationRoleTechRestricted": "Service technician - restricted", "AuthorizationRoleTech": "Service technician", "AuthorizationRoleSubContractorRestricted": "Subcontractor - restricted", "AuthorizationRoleSubContractor": "Subcontractor", "AuthorizationRoleCustomerRestricted": "Customer user - restricted", "AuthorizationRoleCustomer": "Customer user", "AuthorizationRoleOpsAdminRestricted": "System operations - restricted", "AuthorizationRoleOpsAdmin": "System operations", "AuthorizationRoleSalesRestricted": "Sales - restricted", "AuthorizationRoleSales": "Sales", v8-beta-0.10 rights by role { "data": { "typeroles": [ { "ayaType": "Backup", "change": "OpsAdmin", "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted", "select": "NoRole" }, { "ayaType": "BizMetrics", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted, Accounting, Sales, SalesRestricted", "select": "NoRole" }, { "ayaType": "Contract", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "Customer", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "CustomerNote", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "CustomerServiceRequest", "change": "BizAdmin, Service, Customer", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, Tech, CustomerRestricted", "select": "All" }, { "ayaType": "DataListSavedFilter", "change": "BizAdmin", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "FileAttachment", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted, BizAdmin", "select": "NoRole" }, { "ayaType": "FormCustom", "change": "BizAdmin", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "FormUserOptions", "change": "All", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "Global", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted", "select": "NoRole" }, { "ayaType": "GlobalOps", "change": "OpsAdmin", "readFullRecord": "OpsAdminRestricted", "select": "NoRole" }, { "ayaType": "HeadOffice", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "License", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted", "select": "NoRole" }, { "ayaType": "LoanUnit", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "LogFile", "change": "NoRole", "readFullRecord": "OpsAdminRestricted, OpsAdmin", "select": "NoRole" }, { "ayaType": "Memo", "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted" }, { "ayaType": "Notification", "change": "All", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "NotifySubscription", "change": "All", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "OpsNotificationSettings", "change": "OpsAdmin", "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted", "select": "NoRole" }, { "ayaType": "Part", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartAssembly", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartInventory", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartInventoryDataList", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartInventoryRequest", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartInventoryRequestDataList", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartInventoryRestock", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PartWarehouse", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "PickListTemplate", "change": "BizAdmin", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "PM", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItem", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemExpense", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemLabor", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemLoan", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemOutsideService", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemPart", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemScheduledUser", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemTask", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemTravel", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PMItemUnit", "change": "BizAdmin, Service", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "Project", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "PurchaseOrder", "change": "BizAdmin, Inventory, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted", "select": "All" }, { "ayaType": "Quote", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItem", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemExpense", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemLabor", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemLoan", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemOutsideService", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemPart", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemScheduledUser", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemTask", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemTravel", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteItemUnit", "change": "BizAdmin, Service, Accounting, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted", "select": "All" }, { "ayaType": "QuoteStatus", "change": "BizAdmin, Service, Sales", "readFullRecord": "All", "select": "All" }, { "ayaType": "Reminder", "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted" }, { "ayaType": "Report", "change": "BizAdminRestricted, BizAdmin", "readFullRecord": "All", "select": "All" }, { "ayaType": "Review", "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted", "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted" }, { "ayaType": "ServerJob", "change": "OpsAdmin", "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted", "select": "NoRole" }, { "ayaType": "ServerMetrics", "change": "OpsAdmin", "readFullRecord": "OpsAdminRestricted, OpsAdmin", "select": "NoRole" }, { "ayaType": "ServerState", "change": "OpsAdmin", "readFullRecord": "All", "select": "NoRole" }, { "ayaType": "ServiceRate", "change": "BizAdmin, Service, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, Tech, Sales", "select": "All" }, { "ayaType": "TaskGroup", "change": "BizAdmin, Service", "readFullRecord": "All", "select": "All" }, { "ayaType": "TaxCode", "change": "BizAdmin, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, TechRestricted, Tech, Sales, SalesRestricted", "select": "All" }, { "ayaType": "Translation", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted", "select": "All" }, { "ayaType": "TravelRate", "change": "BizAdmin, Service, Accounting", "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, Tech, Sales", "select": "All" }, { "ayaType": "TrialSeeder", "change": "BizAdmin, OpsAdmin", "readFullRecord": "BizAdminRestricted, OpsAdminRestricted", "select": "NoRole" }, { "ayaType": "Unit", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "UnitMeterReading", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "UnitModel", "change": "BizAdmin, Service, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "User", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted", "select": "All" }, { "ayaType": "UserOptions", "change": "BizAdmin", "readFullRecord": "BizAdminRestricted", "select": "NoRole" }, { "ayaType": "Vendor", "change": "BizAdmin, Service, Inventory, Accounting, Tech, Sales", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrder", "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItem", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemExpense", "change": "BizAdmin, Service, Accounting, TechRestricted, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemLabor", "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemLoan", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemOutsideService", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemPart", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemPartRequest", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemPriority", "change": "BizAdmin, Service, Accounting, Tech, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemScheduledUser", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, SubContractor, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemStatus", "change": "BizAdmin, Service, Accounting, Tech, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemTask", "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemTravel", "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderItemUnit", "change": "BizAdmin, Service, Accounting, Tech", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted", "select": "All" }, { "ayaType": "WorkOrderStatus", "change": "BizAdmin, Service, Accounting, Tech, SubContractor", "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted", "select": "All" } ] } } */