diff --git a/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al b/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al index d445bcd85c..2b96b430c6 100644 --- a/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al +++ b/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al @@ -51,6 +51,7 @@ codeunit 139940 "Qlty. Inspection Utility" LibraryUtility: Codeunit "Library - Utility"; NoSeriesCodeunit: Codeunit "No. Series"; DefaultResult2PassCodeLbl: Label 'PASS', Locked = true; + SupervisorRoleIDTok: Label 'QltyMngmnt - Edit', Locked = true; internal procedure EnsureSetupExists() var @@ -58,7 +59,7 @@ codeunit 139940 "Qlty. Inspection Utility" UserPermissionsLibrary: Codeunit "User Permissions Library"; begin QltyAutoConfigure.EnsureBasicSetupExists(false); - UserPermissionsLibrary.AssignPermissionSetToUser(UserSecurityId(), 'QltyGeneral'); + UserPermissionsLibrary.AssignPermissionSetToUser(UserSecurityId(), SupervisorRoleIDTok); end; internal procedure CreateABasicTemplateAndInstanceOfAInspection(var OutCreatedQltyInspectionHeader: Record "Qlty. Inspection Header"; var OutQltyInspectionTemplateHdr: Record "Qlty. Inspection Template Hdr.") diff --git a/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al b/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al index 6d91ac4f78..294249dba7 100644 --- a/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al +++ b/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al @@ -29,7 +29,7 @@ codeunit 20406 "Qlty. Permission Mgmt." ExpressOnlyCaptionFinishInspectionLbl: Label 'Finish Inspection'; ExpressOnlyCaptionChangeTrackingNoLbl: Label 'Change Tracking No.'; ExpressOnlyCaptionChangeSourceQuantityLbl: Label 'Change Source Quantity'; - ExpectedSupervisorRoleIDTxt: Label 'QltyGeneral', Locked = true; + ExpectedSupervisorRoleIDTxt: Label 'QltyMngmnt - Edit', Locked = true; UserDoesNotHavePermissionToErr: Label 'The user [%1] does not have permission to [%2]. This can be changed by navigating to Quality Management Permissions.', Comment = '%1=User id, %2=permission being attempted'; /// diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al b/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al new file mode 100644 index 0000000000..4b49d6c5da --- /dev/null +++ b/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al @@ -0,0 +1,12 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.QualityManagement.Permissions; + +using System.Security.AccessControl; + +permissionsetextension 20402 "Administrator - QltyMngmnt" extends "Administrator" +{ + IncludedPermissionSets = "QltyMngmnt - Edit"; +} \ No newline at end of file diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al b/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al index 372d0fffc8..6271133f8b 100644 --- a/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al +++ b/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al @@ -6,7 +6,7 @@ namespace Microsoft.QualityManagement.Permissions; using System.Security.AccessControl; -permissionsetextension 20402 "D365 READ - QltyMngmnt" extends "D365 READ" +permissionsetextension 20403 "D365 READ - QltyMngmnt" extends "D365 READ" { IncludedPermissionSets = "QltyMngmnt - Read"; } \ No newline at end of file diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al deleted file mode 100644 index 07d65ffc40..0000000000 --- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al +++ /dev/null @@ -1,174 +0,0 @@ -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ -namespace Microsoft.QualityManagement.Permissions; - -using Microsoft.QualityManagement.AccessControl; -using Microsoft.QualityManagement.API; -using Microsoft.QualityManagement.Configuration; -using Microsoft.QualityManagement.Configuration.GenerationRule; -using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue; -using Microsoft.QualityManagement.Configuration.Result; -using Microsoft.QualityManagement.Configuration.SourceConfiguration; -using Microsoft.QualityManagement.Configuration.Template; -using Microsoft.QualityManagement.Configuration.Template.Test; -using Microsoft.QualityManagement.Dispositions.InventoryAdjustment; -using Microsoft.QualityManagement.Dispositions.ItemTracking; -using Microsoft.QualityManagement.Dispositions.Move; -using Microsoft.QualityManagement.Dispositions.Purchase; -using Microsoft.QualityManagement.Dispositions.PutAway; -using Microsoft.QualityManagement.Dispositions.Transfer; -using Microsoft.QualityManagement.Document; -using Microsoft.QualityManagement.Installation; -using Microsoft.QualityManagement.Integration.Assembly; -using Microsoft.QualityManagement.Integration.Foundation.Attachment; -using Microsoft.QualityManagement.Integration.Foundation.Navigate; -using Microsoft.QualityManagement.Integration.Inventory; -using Microsoft.QualityManagement.Integration.Inventory.Transfer; -using Microsoft.QualityManagement.Integration.Manufacturing; -using Microsoft.QualityManagement.Integration.Manufacturing.Routing; -using Microsoft.QualityManagement.Integration.Receiving; -using Microsoft.QualityManagement.Integration.Utilities; -using Microsoft.QualityManagement.Integration.Warehouse; -using Microsoft.QualityManagement.Reports; -using Microsoft.QualityManagement.RoleCenters; -using Microsoft.QualityManagement.Setup; -using Microsoft.QualityManagement.Setup.ApplicationAreas; -using Microsoft.QualityManagement.Setup.SetupGuide; -using Microsoft.QualityManagement.Utilities; -using Microsoft.QualityManagement.Workflow; - -/// -/// Used for data entry only. -/// -permissionset 20404 QltyEntryInspector -{ - Caption = 'Quality Inspection - Data Entry'; - Assignable = true; - IncludedPermissionSets = "QltyMngmnt - Objects"; - Permissions = - // codeunits - codeunit "Qlty. - Warehouse Integration" = X, - codeunit "Qlty. Application Area Mgmt." = X, - codeunit "Qlty. Auto Configure" = X, - codeunit "Qlty. Inspection - Create" = X, - codeunit "Qlty. Disp. Change Tracking" = X, - codeunit "Qlty. Disp. Internal Put-away" = X, - codeunit "Qlty. Disp. Move Auto Choose" = X, - codeunit "Qlty. Disp. Neg. Adjust Inv." = X, - codeunit "Qlty. Disp. Purchase Return" = X, - codeunit "Qlty. Disp. Transfer" = X, - codeunit "Qlty. Expression Mgmt." = X, - codeunit "Qlty. Filter Helpers" = X, - codeunit "Qlty. Inspec. Gen. Rule Mgmt." = X, - codeunit "Qlty. Result Condition Mgmt." = X, - codeunit "Qlty. Result Evaluation" = X, - codeunit "Qlty. Install" = X, - codeunit "Qlty. Inventory Availability" = X, - codeunit "Qlty. Item Tracking Mgmt." = X, - codeunit "Qlty. Job Queue Management" = X, - codeunit "Qlty. Item Journal Management" = X, - codeunit "Qlty. Transfer Integration" = X, - codeunit "Qlty. Attachment Integration" = X, - codeunit "Qlty. Utilities Integration" = X, - codeunit "Qlty. Navigate Integration" = X, - codeunit "Qlty. Tracking Integration" = X, - codeunit "Qlty. Misc Helpers" = X, - codeunit "Qlty. Notification Mgmt." = X, - codeunit "Qlty. Permission Mgmt." = X, - codeunit "Qlty. Manufactur. Integration" = X, - codeunit "Qlty. Assembly Integration" = X, - codeunit "Qlty. Receiving Integration" = X, - codeunit "Qlty. Report Mgmt." = X, - codeunit "Qlty. Session Helper" = X, - codeunit "Qlty. Start Workflow" = X, - codeunit "Qlty. Item Tracking" = X, - codeunit "Qlty. Traversal" = X, - codeunit "Qlty. Workflow Setup" = X, - // pages - page "Qlty. Lookup Field Choose" = X, - page "Qlty. Edit Large Text" = X, - page "Qlty. Choose Existing Tests" = X, - page "Qlty. Manager RC" = X, - page "Qlty. Test Card Part" = X, - page "Qlty. Test Card" = X, - page "Qlty. Test Lookup" = X, - page "Qlty. Test Number Card Part" = X, - page "Qlty. Test Wizard" = X, - page "Qlty. Tests" = X, - page "Qlty. Inspection Gen. Rules" = X, - page "Qlty. Inspection Result List" = X, - page "Qlty. Inspection Template" = X, - page "Qlty. Inspection Template Edit" = X, - page "Qlty. Inspection Template List" = X, - page "Qlty. Inspection Template Subf" = X, - page "Qlty. Lookup Code List" = X, - page "Qlty. Lookup Code Part" = X, - page "Qlty. Manager Role Center" = X, - page "Qlty. Management Setup Guide" = X, - page "Qlty. Management Setup" = X, - page "Qlty. Most Recent Picture" = X, - page "Qlty. Prod. Gen. Rule Wizard" = X, - page "Qlty. Asm. Gen. Rule Wizard" = X, - page "Qlty. Rec. Gen. Rule Wizard" = X, - page "Qlty. Related Transfer Orders" = X, - page "Qlty. Report Selection - QM" = X, - page "Qlty. Routing Line Lookup" = X, - page "Qlty. Inspect. Source Config." = X, - page "Qlty. Source Config Line Part" = X, - page "Qlty. Ins. Source Config. List" = X, - page "Qlty. Inspection Subform" = X, - page "Qlty. Inspection Lines" = X, - page "Qlty. Inspection Activities" = X, - page "Qlty. Inspection List" = X, - page "Qlty. Whse. Gen. Rule Wizard" = X, - page "Qlty. Inspection" = X, - // queries - query "Qlty. Inspection Values" = X, - query "Qlty. Item Ledger By Location" = X, - // reports - report "Qlty. Certificate of Analysis" = X, - report "Qlty. Change Item Tracking" = X, - report "Qlty. Create Internal Put-away" = X, - report "Qlty. Create Negative Adjmt." = X, - report "Qlty. Create Purchase Return" = X, - report "Qlty. Create Inspection" = X, - report "Qlty. Create Transfer Order" = X, - report "Qlty. General Purpose Inspect." = X, - report "Qlty. Move Inventory" = X, - report "Qlty. Non-Conformance" = X, - // tables - table "Qlty. Express Config. Value" = X, - table "Qlty. Test" = X, - table "Qlty. Inspection Gen. Rule" = X, - table "Qlty. I. Result Condit. Conf." = X, - table "Qlty. Inspection Result" = X, - table "Qlty. Inspection Template Hdr." = X, - table "Qlty. Inspection Template Line" = X, - table "Qlty. Lookup Code" = X, - table "Qlty. Management Setup" = X, - table "Qlty. Related Transfers Buffer" = X, - table "Qlty. Mgmt. Role Center Cue" = X, - table "Qlty. Inspect. Src. Fld. Conf." = X, - table "Qlty. Inspect. Source Config." = X, - table "Qlty. Inspection Line" = X, - table "Qlty. Inspection Header" = X, - // table data - tabledata "Qlty. Express Config. Value" = RIMD, - tabledata "Qlty. Test" = RIMd, - tabledata "Qlty. Inspection Gen. Rule" = RIMd, - tabledata "Qlty. I. Result Condit. Conf." = RIMd, - tabledata "Qlty. Inspection Result" = RIMd, - tabledata "Qlty. Inspection Template Hdr." = RIMd, - tabledata "Qlty. Inspection Template Line" = RIMd, - tabledata "Qlty. Lookup Code" = RIMd, - tabledata "Qlty. Management Setup" = RIMd, - tabledata "Qlty. Related Transfers Buffer" = RIMD, - tabledata "Qlty. Mgmt. Role Center Cue" = RIMd, - tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMd, - tabledata "Qlty. Inspect. Source Config." = RIMd, - tabledata "Qlty. Inspection Line" = RIMd, - tabledata "Qlty. Inspection Header" = RIMd; -} - diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al deleted file mode 100644 index b6d316bc2f..0000000000 --- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al +++ /dev/null @@ -1,168 +0,0 @@ -// ------------------------------------------------------------------------------------------------ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// ------------------------------------------------------------------------------------------------ -namespace Microsoft.QualityManagement.Permissions; - -using Microsoft.QualityManagement.AccessControl; -using Microsoft.QualityManagement.API; -using Microsoft.QualityManagement.Configuration; -using Microsoft.QualityManagement.Configuration.GenerationRule; -using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue; -using Microsoft.QualityManagement.Configuration.Result; -using Microsoft.QualityManagement.Configuration.SourceConfiguration; -using Microsoft.QualityManagement.Configuration.Template; -using Microsoft.QualityManagement.Configuration.Template.Test; -using Microsoft.QualityManagement.Dispositions.InventoryAdjustment; -using Microsoft.QualityManagement.Dispositions.ItemTracking; -using Microsoft.QualityManagement.Dispositions.Move; -using Microsoft.QualityManagement.Dispositions.Purchase; -using Microsoft.QualityManagement.Dispositions.PutAway; -using Microsoft.QualityManagement.Dispositions.Transfer; -using Microsoft.QualityManagement.Document; -using Microsoft.QualityManagement.Installation; -using Microsoft.QualityManagement.Integration.Assembly; -using Microsoft.QualityManagement.Integration.Foundation.Attachment; -using Microsoft.QualityManagement.Integration.Foundation.Navigate; -using Microsoft.QualityManagement.Integration.Inventory; -using Microsoft.QualityManagement.Integration.Inventory.Transfer; -using Microsoft.QualityManagement.Integration.Manufacturing; -using Microsoft.QualityManagement.Integration.Manufacturing.Routing; -using Microsoft.QualityManagement.Integration.Receiving; -using Microsoft.QualityManagement.Integration.Utilities; -using Microsoft.QualityManagement.Integration.Warehouse; -using Microsoft.QualityManagement.Reports; -using Microsoft.QualityManagement.RoleCenters; -using Microsoft.QualityManagement.Setup; -using Microsoft.QualityManagement.Setup.ApplicationAreas; -using Microsoft.QualityManagement.Utilities; -using Microsoft.QualityManagement.Workflow; - -/// -/// Used for supervising. -/// -permissionset 20403 QltyGeneral -{ - Caption = 'Quality Inspection - Supervisor'; - Assignable = true; - Permissions = - // codeunits - codeunit "Qlty. - Warehouse Integration" = X, - codeunit "Qlty. Application Area Mgmt." = X, - codeunit "Qlty. Auto Configure" = X, - codeunit "Qlty. Inspection - Create" = X, - codeunit "Qlty. Disp. Change Tracking" = X, - codeunit "Qlty. Disp. Internal Put-away" = X, - codeunit "Qlty. Disp. Move Auto Choose" = X, - codeunit "Qlty. Disp. Neg. Adjust Inv." = X, - codeunit "Qlty. Disp. Purchase Return" = X, - codeunit "Qlty. Disp. Transfer" = X, - codeunit "Qlty. Expression Mgmt." = X, - codeunit "Qlty. Filter Helpers" = X, - codeunit "Qlty. Inspec. Gen. Rule Mgmt." = X, - codeunit "Qlty. Result Condition Mgmt." = X, - codeunit "Qlty. Result Evaluation" = X, - codeunit "Qlty. Install" = X, - codeunit "Qlty. Inventory Availability" = X, - codeunit "Qlty. Item Tracking Mgmt." = X, - codeunit "Qlty. Job Queue Management" = X, - codeunit "Qlty. Item Journal Management" = X, - codeunit "Qlty. Transfer Integration" = X, - codeunit "Qlty. Attachment Integration" = X, - codeunit "Qlty. Utilities Integration" = X, - codeunit "Qlty. Navigate Integration" = X, - codeunit "Qlty. Tracking Integration" = X, - codeunit "Qlty. Misc Helpers" = X, - codeunit "Qlty. Notification Mgmt." = X, - codeunit "Qlty. Permission Mgmt." = X, - codeunit "Qlty. Manufactur. Integration" = X, - codeunit "Qlty. Assembly Integration" = X, - codeunit "Qlty. Receiving Integration" = X, - codeunit "Qlty. Report Mgmt." = X, - codeunit "Qlty. Session Helper" = X, - codeunit "Qlty. Start Workflow" = X, - codeunit "Qlty. Item Tracking" = X, - codeunit "Qlty. Traversal" = X, - codeunit "Qlty. Workflow Setup" = X, - // pages - page "Qlty. Lookup Field Choose" = X, - page "Qlty. Edit Large Text" = X, - page "Qlty. Choose Existing Tests" = X, - page "Qlty. Manager RC" = X, - page "Qlty. Test Card Part" = X, - page "Qlty. Test Card" = X, - page "Qlty. Test Lookup" = X, - page "Qlty. Test Number Card Part" = X, - page "Qlty. Test Wizard" = X, - page "Qlty. Tests" = X, - page "Qlty. Inspection Gen. Rules" = X, - page "Qlty. Inspection Result List" = X, - page "Qlty. Inspection Template" = X, - page "Qlty. Inspection Template Edit" = X, - page "Qlty. Inspection Template List" = X, - page "Qlty. Inspection Template Subf" = X, - page "Qlty. Lookup Code List" = X, - page "Qlty. Lookup Code Part" = X, - page "Qlty. Manager Role Center" = X, - page "Qlty. Management Setup" = X, - page "Qlty. Asm. Gen. Rule Wizard" = X, - page "Qlty. Most Recent Picture" = X, - page "Qlty. Prod. Gen. Rule Wizard" = X, - page "Qlty. Rec. Gen. Rule Wizard" = X, - page "Qlty. Related Transfer Orders" = X, - page "Qlty. Report Selection - QM" = X, - page "Qlty. Routing Line Lookup" = X, - page "Qlty. Inspection Subform" = X, - page "Qlty. Inspection Lines" = X, - page "Qlty. Inspection Activities" = X, - page "Qlty. Inspection List" = X, - page "Qlty. Whse. Gen. Rule Wizard" = X, - page "Qlty. Inspection" = X, - // queries - query "Qlty. Inspection Values" = X, - query "Qlty. Item Ledger By Location" = X, - // reports - report "Qlty. Certificate of Analysis" = X, - report "Qlty. Change Item Tracking" = X, - report "Qlty. Create Internal Put-away" = X, - report "Qlty. Create Negative Adjmt." = X, - report "Qlty. Create Purchase Return" = X, - report "Qlty. Create Inspection" = X, - report "Qlty. Create Transfer Order" = X, - report "Qlty. General Purpose Inspect." = X, - report "Qlty. Move Inventory" = X, - report "Qlty. Non-Conformance" = X, - // tables - table "Qlty. Express Config. Value" = X, - table "Qlty. Test" = X, - table "Qlty. Inspection Gen. Rule" = X, - table "Qlty. I. Result Condit. Conf." = X, - table "Qlty. Inspection Result" = X, - table "Qlty. Inspection Template Hdr." = X, - table "Qlty. Inspection Template Line" = X, - table "Qlty. Lookup Code" = X, - table "Qlty. Management Setup" = X, - table "Qlty. Related Transfers Buffer" = X, - table "Qlty. Mgmt. Role Center Cue" = X, - table "Qlty. Inspect. Src. Fld. Conf." = X, - table "Qlty. Inspect. Source Config." = X, - table "Qlty. Inspection Line" = X, - table "Qlty. Inspection Header" = X, - // table data - tabledata "Qlty. Express Config. Value" = RIMD, - tabledata "Qlty. Inspection Gen. Rule" = RIMD, - tabledata "Qlty. I. Result Condit. Conf." = RIMD, - tabledata "Qlty. Inspection Result" = RIMD, - tabledata "Qlty. Inspection Template Hdr." = RIMD, - tabledata "Qlty. Inspection Template Line" = RIMD, - tabledata "Qlty. Lookup Code" = RIMD, - tabledata "Qlty. Management Setup" = RIMD, - tabledata "Qlty. Related Transfers Buffer" = RIMD, - tabledata "Qlty. Mgmt. Role Center Cue" = RIMD, - tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMD, - tabledata "Qlty. Inspect. Source Config." = RIMD, - tabledata "Qlty. Inspection Line" = RIMD, - tabledata "Qlty. Inspection Header" = RIMD, - tabledata "Qlty. Test" = RIMD; -} - diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al index 8aa135a06d..97cefab386 100644 --- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al +++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al @@ -13,28 +13,33 @@ using Microsoft.QualityManagement.Document; using Microsoft.QualityManagement.Integration.Inventory.Transfer; using Microsoft.QualityManagement.RoleCenters; using Microsoft.QualityManagement.Setup; +using Microsoft.QualityManagement.Workflow; +/// +/// Used for administering Quality Management and supervising Quality Inspections. +/// permissionset 20405 "QltyMngmnt - Edit" { - Caption = 'Quality Management - Edit'; + Caption = 'Quality Management - Full edit access'; Access = Public; Assignable = true; - IncludedPermissionSets = "QltyMngmnt - Read"; + IncludedPermissionSets = "QltyMngmnt - Objects"; Permissions = - tabledata "Qlty. Inspection Gen. Rule" = IMD, - tabledata "Qlty. I. Result Condit. Conf." = IMD, - tabledata "Qlty. Inspection Result" = IMD, - tabledata "Qlty. Lookup Code" = IMD, - tabledata "Qlty. Management Setup" = IMD, - tabledata "Qlty. Related Transfers Buffer" = IMD, - tabledata "Qlty. Mgmt. Role Center Cue" = IMD, - tabledata "Qlty. Inspect. Src. Fld. Conf." = IMD, - tabledata "Qlty. Inspect. Source Config." = IMD, - tabledata "Qlty. Inspection Template Line" = IMD, - tabledata "Qlty. Inspection Template Hdr." = IMD, - tabledata "Qlty. Inspection Line" = IMD, - tabledata "Qlty. Inspection Header" = IMD, - tabledata "Qlty. Test" = IMD; + tabledata "Qlty. Management Setup" = RIMD, + tabledata "Qlty. Mgmt. Role Center Cue" = RIMD, + tabledata "Qlty. Express Config. Value" = RIMD, + tabledata "Qlty. Inspection Gen. Rule" = RIMD, + tabledata "Qlty. I. Result Condit. Conf." = RIMD, + tabledata "Qlty. Inspect. Source Config." = RIMD, + tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMD, + tabledata "Qlty. Lookup Code" = RIMD, + tabledata "Qlty. Related Transfers Buffer" = RIMD, + tabledata "Qlty. Inspection Template Hdr." = RIMD, + tabledata "Qlty. Inspection Template Line" = RIMD, + tabledata "Qlty. Test" = RIMD, + tabledata "Qlty. Inspection Result" = RIMD, + tabledata "Qlty. Inspection Header" = RIMD, + tabledata "Qlty. Inspection Line" = RIMD; } diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al new file mode 100644 index 0000000000..b88eab06dc --- /dev/null +++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al @@ -0,0 +1,46 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.QualityManagement.Permissions; + +using Microsoft.QualityManagement.Configuration.GenerationRule; +using Microsoft.QualityManagement.Configuration.Result; +using Microsoft.QualityManagement.Configuration.SourceConfiguration; +using Microsoft.QualityManagement.Configuration.Template; +using Microsoft.QualityManagement.Configuration.Template.Test; +using Microsoft.QualityManagement.Document; +using Microsoft.QualityManagement.Integration.Inventory.Transfer; +using Microsoft.QualityManagement.RoleCenters; +using Microsoft.QualityManagement.Setup; +using Microsoft.QualityManagement.Workflow; + +/// +/// Used for working with Quality Inspections. +/// +permissionset 20404 QltyMngmntInspector +{ + Caption = 'Quality Management - Quality Inspector'; + Access = Public; + Assignable = true; + + IncludedPermissionSets = "QltyMngmnt - Objects"; + + Permissions = + tabledata "Qlty. Express Config. Value" = RIMD, + tabledata "Qlty. Inspection Gen. Rule" = RIMd, + tabledata "Qlty. I. Result Condit. Conf." = RIMd, + tabledata "Qlty. Inspection Result" = RIMd, + tabledata "Qlty. Inspection Template Hdr." = RIMd, + tabledata "Qlty. Inspection Template Line" = RIMd, + tabledata "Qlty. Lookup Code" = RIMd, + tabledata "Qlty. Management Setup" = RIMd, + tabledata "Qlty. Related Transfers Buffer" = RIMD, + tabledata "Qlty. Mgmt. Role Center Cue" = RIMd, + tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMd, + tabledata "Qlty. Inspect. Source Config." = RIMd, + tabledata "Qlty. Inspection Line" = RIMd, + tabledata "Qlty. Inspection Header" = RIMd, + tabledata "Qlty. Test" = RIMd; +} + diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al index 2fea8be94e..5b51687fd3 100644 --- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al +++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al @@ -42,8 +42,8 @@ using Microsoft.QualityManagement.Workflow; permissionset 20406 "QltyMngmnt - Objects" { Caption = 'Quality Management - Objects'; - Assignable = true; Access = Internal; + Assignable = true; Permissions = // Codeunits @@ -124,6 +124,9 @@ permissionset 20406 "QltyMngmnt - Objects" page "Qlty. Inspection List" = X, page "Qlty. Whse. Gen. Rule Wizard" = X, page "Qlty. Inspection" = X, + page "Qlty. Inspect. Source Config." = X, + page "Qlty. Source Config Line Part" = X, + page "Qlty. Ins. Source Config. List" = X, // Queries query "Qlty. Inspection Values" = X, diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al index 43003b9853..3e57c8c1b5 100644 --- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al +++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al @@ -13,28 +13,33 @@ using Microsoft.QualityManagement.Document; using Microsoft.QualityManagement.Integration.Inventory.Transfer; using Microsoft.QualityManagement.RoleCenters; using Microsoft.QualityManagement.Setup; +using Microsoft.QualityManagement.Workflow; +/// +/// Used for full read-only access to Quality Management. +/// permissionset 20401 "QltyMngmnt - Read" { - Caption = 'Quality Management - Read'; + Caption = 'Quality Management - Read access'; Access = Public; Assignable = true; IncludedPermissionSets = "QltyMngmnt - Objects"; Permissions = + tabledata "Qlty. Management Setup" = R, + tabledata "Qlty. Mgmt. Role Center Cue" = RIMD, + tabledata "Qlty. Express Config. Value" = R, tabledata "Qlty. Inspection Gen. Rule" = R, tabledata "Qlty. I. Result Condit. Conf." = R, - tabledata "Qlty. Inspection Result" = R, + tabledata "Qlty. Inspect. Source Config." = R, + tabledata "Qlty. Inspect. Src. Fld. Conf." = R, tabledata "Qlty. Lookup Code" = R, - tabledata "Qlty. Management Setup" = R, tabledata "Qlty. Related Transfers Buffer" = RIMD, - tabledata "Qlty. Mgmt. Role Center Cue" = RIMD, - tabledata "Qlty. Inspect. Src. Fld. Conf." = R, - tabledata "Qlty. Inspect. Source Config." = R, - tabledata "Qlty. Inspection Template Line" = R, tabledata "Qlty. Inspection Template Hdr." = R, - tabledata "Qlty. Inspection Line" = R, + tabledata "Qlty. Inspection Template Line" = R, + tabledata "Qlty. Test" = R, + tabledata "Qlty. Inspection Result" = R, tabledata "Qlty. Inspection Header" = R, - tabledata "Qlty. Test" = R; + tabledata "Qlty. Inspection Line" = R; } diff --git a/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al b/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al index 8b1bb35c85..57b4024c87 100644 --- a/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al +++ b/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al @@ -19,7 +19,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." QltyInspectionUtility: Codeunit "Qlty. Inspection Utility"; LibraryAssert: Codeunit "Library Assert"; UserDoesNotHavePermissionToErr: Label 'The user [%1] does not have permission to [%2]. This can be changed by navigating to Quality Management Permissions.', Comment = '%1=User id, %2=permission being attempted'; - ExpectedSupervisorRoleIDTok: Label 'QltyGeneral', Locked = true; + SupervisorRoleIDTok: Label 'QltyMngmnt - Edit', Locked = true; [Test] procedure CanReadInspectionResults() @@ -57,7 +57,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that creating a manual inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanCreateManualInspection is called QltyInspectionUtility.VerifyCanCreateManualInspection(); @@ -99,7 +99,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that creating a re-inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanCreateReinspection is called QltyInspectionUtility.VerifyCanCreateReinspection(); @@ -128,7 +128,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that deleting an open inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanDeleteOpenInspection is called QltyInspectionUtility.VerifyCanDeleteOpenInspection(); @@ -157,7 +157,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that deleting a finished inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanDeleteFinishedInspection is called QltyInspectionUtility.VerifyCanDeleteFinishedInspection(); @@ -172,7 +172,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that changing other users' inspections succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanChangeOtherInspections is called QltyInspectionUtility.VerifyCanChangeOtherInspections(); @@ -201,7 +201,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that reopening an inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanReopenInspection is called QltyInspectionUtility.VerifyCanReopenInspection(); @@ -230,7 +230,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that finishing an inspection succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanFinishInspection is called QltyInspectionUtility.VerifyCanFinishInspection(); @@ -259,7 +259,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that changing tracking number succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanChangeTrackingNo is called QltyInspectionUtility.VerifyCanChangeTrackingNo(); @@ -288,7 +288,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt." // [SCENARIO] Verify that changing source quantity succeeds with proper supervisor permissions // [GIVEN] The supervisor role permission set is added - LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok); + LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok); // [WHEN] VerifyCanChangeSourceQuantity is called QltyInspectionUtility.VerifyCanChangeSourceQuantity();