From b20e7b0977a9b81715555a3d862a6095760e2e2f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 6 Jan 2022 00:26:34 +0000 Subject: [PATCH] --- docs/8.0/ayanova/docs/acc-service-rates.md | 13 +- .../AyaNova/Controllers/ApiRootController.cs | 20 + server/AyaNova/biz/AuthorizationRoles.cs | 564 +++++++++++++++++- server/AyaNova/biz/BizRoles.cs | 145 ++++- 4 files changed, 725 insertions(+), 17 deletions(-) diff --git a/docs/8.0/ayanova/docs/acc-service-rates.md b/docs/8.0/ayanova/docs/acc-service-rates.md index b7df41f0..42e75194 100644 --- a/docs/8.0/ayanova/docs/acc-service-rates.md +++ b/docs/8.0/ayanova/docs/acc-service-rates.md @@ -1,7 +1,14 @@ -# SERVICE RATES Placeholder +# Service rates -[UNDER CONSTRUCTION] +The service rates [form](ay-start-form-overview.md) is used indicate charges for providing service on [work orders](svc-workorders.md). + +## Authorization Roles required + +This form is available to User's with the following [roles](ay-biz-admin-roles.md): + +- Full access: `Business administration`, `Service, Accounting` +- Read only access: `Business administration - restricted`, `Service - restricted`, `Service technician, Sales` Notes to include in docs: -Data integrity - Service rate values are stored only in the Service rate object and linked to by objects affected by that Service rate (e.g. Work order item Labor record). If a Service rate has been selected on another object the fields affecting price calculations are not editable (Cost, Charge etc). Other fields remain editable as they would not affect past price calculations. when saving a Service rate with price affecting changes, the AyaNova server will check if any objects are found to be using this Service rate and if they are it will not save but instead report back an error with all object types using this rate. Options are to remove or switch the Service rate from the existing in-use objects to be able to edit those fields or simply make a new Service rate. \ No newline at end of file +Data integrity - Service rate values are stored only in the Service rate object and linked to by objects affected by that Service rate (e.g. Work order item Labor record). If a Service rate has been selected on another object the fields affecting price calculations are not editable (Cost, Charge etc). Other fields remain editable as they would not affect past price calculations. when saving a Service rate with price affecting changes, the AyaNova server will check if any objects are found to be using this Service rate and if they are it will not save but instead report back an error with all object types using this rate. Options are to remove or switch the Service rate from the existing in-use objects to be able to edit those fields or simply make a new Service rate. diff --git a/server/AyaNova/Controllers/ApiRootController.cs b/server/AyaNova/Controllers/ApiRootController.cs index b8693afa..c0b1f818 100644 --- a/server/AyaNova/Controllers/ApiRootController.cs +++ b/server/AyaNova/Controllers/ApiRootController.cs @@ -4,6 +4,8 @@ using System; using AyaNova.Util; using AyaNova.Api.ControllerHelpers; using Microsoft.AspNetCore.Authorization; +using System.Linq; +using AyaNova.Biz; namespace AyaNova.Api.Controllers { @@ -132,6 +134,24 @@ namespace AyaNova.Api.Controllers }); } + /// + /// Get list of types and roles required + /// + /// A list of AyaType role rights + [HttpGet("role-rights")] + public ActionResult RoleRights() + { + return Ok(new + { + data = new + { + AyaTypes = BizRoles.roles.OrderBy(z => z.Key.ToString()).Select(z => new { AyaType = z.Key.ToString(), Change = z.Value.Change.ToString(), ReadFullRecord = z.Value.ReadFullRecord.ToString(), Select = z.Value.Select.ToString() }).ToList() + + } + }); + } + + #if (DEBUG) /// /// Get build mode of server, used for automated testing purposes diff --git a/server/AyaNova/biz/AuthorizationRoles.cs b/server/AyaNova/biz/AuthorizationRoles.cs index 762c56e4..cd270090 100644 --- a/server/AyaNova/biz/AuthorizationRoles.cs +++ b/server/AyaNova/biz/AuthorizationRoles.cs @@ -53,11 +53,11 @@ namespace AyaNova.Biz ///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 + SubContractor | CustomerRestricted | Customer | OpsAdminRestricted | OpsAdmin | Sales | SalesRestricted + + // ,AllInsideUserRoles = BizAdminRestricted | BizAdmin | ServiceRestricted | Service | InventoryRestricted | + // Inventory | Accounting | TechRestricted | Tech | SubContractorRestricted | + // SubContractor | Sales | SalesRestricted | OpsAdminRestricted | OpsAdmin @@ -65,3 +65,557 @@ namespace AyaNova.Biz //, 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" + } + ] + } +} +*/ \ No newline at end of file diff --git a/server/AyaNova/biz/BizRoles.cs b/server/AyaNova/biz/BizRoles.cs index 0858759a..0f41141f 100644 --- a/server/AyaNova/biz/BizRoles.cs +++ b/server/AyaNova/biz/BizRoles.cs @@ -866,9 +866,51 @@ namespace AyaNova.Biz // (everyone but outside users Customer and HO can send and receive memos) roles.Add(AyaType.Memo, new BizRoleSet() { - Change = AuthorizationRoles.AllInsideUserRoles, - ReadFullRecord = AuthorizationRoles.AllInsideUserRoles, - Select = AuthorizationRoles.AllInsideUserRoles, + Change = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + ReadFullRecord = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + Select = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, }); //////////////////////////////////////////////////////////// @@ -876,9 +918,51 @@ namespace AyaNova.Biz // (everyone but outside users Customer and HO) roles.Add(AyaType.Reminder, new BizRoleSet() { - Change = AuthorizationRoles.AllInsideUserRoles, - ReadFullRecord = AuthorizationRoles.AllInsideUserRoles, - Select = AuthorizationRoles.AllInsideUserRoles, + Change = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + ReadFullRecord = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + Select = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, }); //////////////////////////////////////////////////////////// @@ -886,9 +970,51 @@ namespace AyaNova.Biz // (everyone but outside users and follows object rights) roles.Add(AyaType.Review, new BizRoleSet() { - Change = AuthorizationRoles.AllInsideUserRoles, - ReadFullRecord = AuthorizationRoles.AllInsideUserRoles, - Select = AuthorizationRoles.AllInsideUserRoles, + Change = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + ReadFullRecord = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, + Select = AuthorizationRoles.BizAdminRestricted + | AuthorizationRoles.BizAdmin + | AuthorizationRoles.ServiceRestricted + | AuthorizationRoles.Service + | AuthorizationRoles.InventoryRestricted + | AuthorizationRoles.Inventory + | AuthorizationRoles.Accounting + | AuthorizationRoles.TechRestricted + | AuthorizationRoles.Tech + | AuthorizationRoles.SubContractorRestricted + | AuthorizationRoles.SubContractor + | AuthorizationRoles.Sales + | AuthorizationRoles.SalesRestricted + | AuthorizationRoles.OpsAdminRestricted + | AuthorizationRoles.OpsAdmin, }); //////////////////////////////////////////////////////////////////// @@ -952,6 +1078,7 @@ namespace AyaNova.Biz + }//end of class