stable

Clone or download

Read-only

Deduplicate retrieval of full ArtifactLink field

part of request #23383 Bad request error when planning a feature No functional change expected in mirroring of program increments and in REST routes to retrieve program increments. Notes: Given a TrackerIdentifier, we maybe get an artifact link field. If the tracker does not have one, it returns null. We need this because the Bad request error's origin is that we only check permissions on Program Increments tracker, but never on the Teams' Mirror Program Increments trackers. When I plan a Feature in a PI, it will trigger some code to also plan its User Stories in all of the Mirrored PIs. To do that: 1. I need to be allowed to see the Team project 2. I must be allowed to see the Mirror Program Increment Artifact 3. The Mirror Program Increment tracker must have an Artifact link field (someone could have removed it since last check). 4. I must be allowed to update that field Those checks are all done when actually planning, but not when checking if I have permission to plan. That is why the UI lets me drop a feature when actually it will not be allowed. Change-Id: I7ce4d28c2571038b535a7f85c6ef53442ecab223

Modified Files

Name
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/IterationCreationProcessorBuilder.php +3 −1 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementCreationProcessorBuilder.php +3 −2 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateProcessorBuilder.php +3 −1 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/ProgramIncrement/Source/Fields/SynchronizedFieldsGatherer.php +12 −11 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/ProgramIncrement/UserCanPlanInProgramIncrementVerifier.php +16 −4 Go to diff View file
A plugins/program_management/include/Adapter/Workspace/Tracker/Fields/FormElementFactoryAdapter.php +46 −0 Go to diff View file
A plugins/program_management/include/Adapter/Workspace/Tracker/Fields/RetrieveFullArtifactLinkField.php +32 −0 Go to diff View file
M plugins/program_management/include/REST/v1/ProgramIncrementResource.php +12 −1 Go to diff View file
M plugins/program_management/include/REST/v1/ProjectResource.php +12 −4 Go to diff View file
M plugins/program_management/include/program_managementPlugin.php +26 −15 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Program/Backlog/ProgramIncrement/Source/Fields/SynchronizedFieldsGathererTest.php +11 −14 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Program/Backlog/ProgramIncrement/UserCanPlanInProgramIncrementVerifierTest.php +19 −15 Go to diff View file
A plugins/program_management/tests/unit/Adapter/Workspace/Tracker/Fields/FormElementFactoryAdapterTest.php +84 −0 Go to diff View file
A plugins/program_management/tests/unit/Stub/RetrieveFullArtifactLinkFieldStub.php +49 −0 Go to diff View file