stable

Clone or download

Read-only

feat: Add check and display error for numeric fields

part of story #10710 search on fields with duck typing How to test: Enable the feature flag: $ tuleap config-set feature_flag_cross_tracker_search_duck_typed_fields 1 Have 3 trackers with a field with shortname `toto` - in tracker A `toto` is a float field - in tracker B `toto` is an integer field - in tracker C `toto` is a computed field In cross tracker search, perform a search on `toto` field: - With tracker A and tracker B => "An error occurred", an exception is thrown in QueryBuilder in rest_api_log - With tracker B and C => an error is displayed telling you that fields are not compatible - With tracker C => an error is displayed telling you that field is not supported Change-Id: Ibddda64d50c7d69880055042e40bf1c85a8613c3 Signed-off-by: Joris Masson <joris.masson@enalean.com>

Modified Files

Name
M plugins/crosstracker/composer.json +7 −2 Go to diff View file
M plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php +15 −9 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchableCollectorParameters.php +8 −30 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchableCollectorVisitor.php +25 −4 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidTermCollectorVisitor.php +0 −18 Go to diff View file
R plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/ICheckMetadataForAComparison.php Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Field/FieldTypesAreIncompatibleException.php +45 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Field/FieldUsageChecker.php +61 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Field/SearchFieldTypes.php +32 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Field/TrackerFieldDao.php +44 −0 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataChecker.php +1 −1 Go to diff View file
M plugins/crosstracker/include/crosstrackerPlugin.php +15 −9 Go to diff View file
M plugins/crosstracker/site-content/fr_FR/LC_MESSAGES/tuleap-crosstracker.po +14 −1 Go to diff View file
M plugins/crosstracker/site-content/pt_BR/LC_MESSAGES/tuleap-crosstracker.po +10 −0 Go to diff View file
A plugins/crosstracker/tests/integration/CrossTracker/Report/Query/Advanced/QueryValidation/Field/TrackerFieldDaoTest.php +75 −0 Go to diff View file
A plugins/crosstracker/tests/unit/CrossTracker/Report/Query/Advanced/QueryValidation/Field/FieldUsageCheckerTest.php +87 −0 Go to diff View file
A plugins/crosstracker/tests/unit/CrossTracker/Tests/Stub/SearchFieldTypesStub.php +46 −0 Go to diff View file