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