stable

Clone or download

Read-only

feat: Migrate permissions on artifact fields

part of story #32280 Complete the "move artifact" feature How to test: - Create 2 groups A and B in project A - Create 2 groups B and C in project B - Bind these groups to permissions fields in a source and a destination tracker - Create an artifact - Select A and B (and dynamic groups if you want) - Submit - Move the artifact --> The dry run step says the field will be partially migrated because a value is missing in the destination field (e.g group A) - Confirm the move --> Success --> All permissions set in the artifact while it was in the source tracker are selected, expect group A which does not exist in the destination field. - Uncheck all the permissions - Move the artifact --> The dry run step says it won't be migrated (no permissions to migrate) - Check group C - Move the artifact --> The dry run step says it will be fully migrated Change-Id: I82d3616a7db4abf1d552aab004d23d989242d66b

Modified Files

Name
M plugins/tracker/include/REST/v1/ArtifactsResource.class.php +19 −7 Go to diff View file
A plugins/tracker/include/Tracker/Action/AreTherePermissionsToMigrateVerifier.php +43 −0 Go to diff View file
A plugins/tracker/include/Tracker/Action/CanPermissionsBeFullyMovedVerifier.php +51 −0 Go to diff View file
M plugins/tracker/include/Tracker/Action/CanUserGroupValuesBeFullyMovedVerifier.php +0 −4 Go to diff View file
M plugins/tracker/include/Tracker/Action/DryRunDuckTypingFieldCollector.php +31 −0 Go to diff View file
A plugins/tracker/include/Tracker/Action/IsPermissionsOnArtifactFieldVerifier.php +31 −0 Go to diff View file
A plugins/tracker/include/Tracker/Action/VerifyIsPermissionsOnArtifactField.php +26 −0 Go to diff View file
A plugins/tracker/include/Tracker/Action/VerifyPermissionsCanBeFullyMoved.php +33 −0 Go to diff View file
A plugins/tracker/include/Tracker/Action/VerifyThereArePermissionsToMigrate.php +34 −0 Go to diff View file
A plugins/tracker/include/Tracker/FormElement/Field/PermissionsOnArtifact/MatchPermissionsByDuckTyping.php +31 −0 Go to diff View file
A plugins/tracker/include/Tracker/FormElement/Field/PermissionsOnArtifact/PermissionDuckTypingMatcher.php +34 −0 Go to diff View file
M plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_PermissionsOnArtifact.php +1 −1 Go to diff View file
M plugins/tracker/include/Tracker/XML/Updater/MoveChangesetXMLDuckTypingUpdater.php +5 −0 Go to diff View file
M plugins/tracker/include/Tracker/XML/Updater/MoveChangesetXMLUpdater.php +5 −0 Go to diff View file
A plugins/tracker/include/Tracker/XML/Updater/PermissionsByDuckTypingUpdater.php +58 −0 Go to diff View file
A plugins/tracker/include/Tracker/XML/Updater/UpdatePermissionsByDuckTyping.php +35 −0 Go to diff View file
A plugins/tracker/tests/unit/Stub/MatchPermissionsByDuckTypingStub.php +49 −0 Go to diff View file
A plugins/tracker/tests/unit/Stub/VerifyIsPermissionsOnArtifactFieldStub.php +47 −0 Go to diff View file
A plugins/tracker/tests/unit/Stub/VerifyPermissionsCanBeFullyMovedStub.php +49 −0 Go to diff View file
A plugins/tracker/tests/unit/Stub/VerifyThereArePermissionsToMigrateStub.php +49 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Action/AreTherePermissionsToMigrateVerifierTest.php +89 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Action/CanPermissionsBeFullyMovedVerifierTest.php +114 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Action/DryRunDuckTypingFieldCollectorTest.php +206 −13 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Action/IsPermissionsOnArtifactFieldVerifierTest.php +45 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/FormElement/Field/PermissionsOnArtifact/PermissionDuckTypingMatcherTest.php +57 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker/XML/Updater/MoveChangesetXMLDuckTypingUpdaterTest.php +23 −4 Go to diff View file
M plugins/tracker/tests/unit/Tracker/XML/Updater/MoveChangesetXMLUpdaterTest.php +19 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/XML/Updater/PermissionsByDuckTypingUpdaterTest.php +58 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker/XML/Updater/_fixtures/bugs_artifact.xml +4 −0 Go to diff View file