Fix order api to support a pseudoConstant for financial_type_id #13317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Adds functionality & test to support 'Event Fee' instead of '4' for Order.create financial_type_id.
This improves consistency with Contribution.create api and others
Before
civicrm_api3('Order', 'create', [
'financial_type_id' => 'Event fee',
'total_amount' => 300,
'....
]);
Fails as financial_type_id cannot be validated
After
Above call works
Technical Details
Order.create api is an alias for Contribution.create api at the top level and it makes sense it supports the same pseudoconstants. Arguably it should start with the getfields output from Contribution.create but I've kept scope small & tested
Comments
@monishdeb @pradpnayak