stable

Clone or download

Read-only

feat: Map user groups that can plan and save new config

part of request #39352 Program add to top backlog post-action should ignore Teams How to test: - Set up a Program project (A) that will serve as template. - Create a new B project from a project that you are admin of, and select A as template. Create the project. - In project B, go to Program Management administration. You should see the same configuration as in project A: - The Program increment tracker is configured with the duplicated tracker. - The custom labels for Program increment (and Iteration, if any) are set. - The Iteration tracker (if any, it is optional) is set with the duplicated tracker. - The trackers that can be planned in PIs (Features and Enablers) are set with the duplicated trackers. - The user groups that have permission to plan (and prioritize) are set with the duplicated user groups. - Still in project B, go to the Features tracker administration > Workflow > Transitions. When you click on the "To plan" state config column, you should see the "Add to top backlog" post-action is configured. Its name is not blank, the selectbox shows it in the list. Same for "Scheduled" and "WIP" columns. - If you try to trigger the post-action, it will continue doing nothing. This will be addressed in a further commit. Why? This completes the project inheritance (or "duplication") for Program Management config. Creating a project template without any teams is now possible, and new programs will finally inherit the configuration of their template. The config inheritance was required for post-actions too. Without it, Program Management does not know which trackers can be planned in PIs (Features and Enablers) and does not allow any tracker to list the "Add to top backlog" post-action. Notes: On an architecture standpoint, the Certificate objects are now built by the adapter TrackersDuplicatedHandler. Since we are in the context of a project duplication, we are sure that the trackers from the tracker mapping exist and are part of the new project (because the code in Trackers just created them). Similarly for user groups: the code in core just duplicated the user groups and created the dynamic ones. The domain does not need to do double-checks and should not "issue" certificates: they come from verifications done outside the domain, in adapters. Change-Id: I448ab599853bdaa0d38cea76ecd6f58d0360a91d

Modified Files

Name
M plugins/program_management/include/Adapter/Events/TrackersDuplicatedHandler.php +42 −44 Go to diff View file
M plugins/program_management/include/Adapter/Program/Plan/PlanConfigurationDAO.php +7 −3 Go to diff View file
R plugins/program_management/include/Domain/Program/Admin/ProgramUserGroupCollection.php Go to diff View file
A plugins/program_management/include/Domain/Program/Plan/Inheritance/PlanConfigurationMapper.php +150 −0 Go to diff View file
M plugins/program_management/include/Domain/Program/Plan/Inheritance/PlanInheritanceHandler.php +11 −98 Go to diff View file
M plugins/program_management/include/Domain/Program/Plan/Inheritance/ProgramInheritanceMapping.php +29 −2 Go to diff View file
M plugins/program_management/include/Domain/Program/Plan/NewPlanConfiguration.php +2 −10 Go to diff View file
R plugins/program_management/include/Domain/Program/Plan/ProgramUserGroup.php Go to diff View file
M plugins/program_management/include/Domain/Program/Plan/PlanConfigurationChange.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Plan/PlanConfigurationCreator.php +2 −2 Go to diff View file
A plugins/program_management/include/Domain/Workspace/NewUserGroupThatCanPrioritizeIsValidCertificate.php +38 −0 Go to diff View file
M plugins/program_management/include/program_managementPlugin.php +8 −2 Go to diff View file
M plugins/program_management/tests/integration/Adapter/Program/Plan/PlanConfigurationDAOTest.php +65 −17 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/TrackersDuplicatedHandlerTest.php +24 −34 Go to diff View file
R plugins/program_management/tests/unit/Domain/Program/Admin/ProgramUserGroupCollectionTest.php Go to diff View file
A plugins/program_management/tests/unit/Domain/Program/Plan/Inheritance/PlanConfigurationMapperTest.php +192 −0 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Plan/Inheritance/PlanInheritanceHandlerTest.php +54 −52 Go to diff View file
A plugins/program_management/tests/unit/Domain/Program/Plan/Inheritance/ProgramInheritanceMappingTest.php +82 −0 Go to diff View file
R plugins/program_management/tests/unit/Domain/Program/Plan/ProgramUserGroupTest.php Go to diff View file
M plugins/tracker/include/Tracker/TrackerEventTrackersDuplicated.php +1 −0 Go to diff View file
M src/common/Option/Option.php +2 −0 Go to diff View file
M src/common/Project/MappingRegistry.php +7 −7 Go to diff View file
M src/common/Project/ProjectCreator.class.php +1 −0 Go to diff View file
M src/common/Project/UgroupDuplicator.php +10 −4 Go to diff View file
M src/common/dao/UGroupDao.class.php +11 −11 Go to diff View file
M tests/unit/common/Project/MappingRegistryTest.php +1 −1 Go to diff View file