refactor: use hooks to extend bulk_transaction (backport #43058) #43434
+5
−0
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.
Bulk Transaction is very useful feature, but now it is really difficult to add more methods.
When creating a new app, there is a chance that the the new kind of bulk transaction is required.
This PR move the mapper function inside a Doctype so it can be extened by super() in other app (I can't find a proper doctype other than Bulk Transaction Detail Log to place the get_mapper()).
I.e., I have a new app, and so I can do something like this with override_doctype_class.
Note: IMHO, writing method within a class should be a preferred way to allow easier extension. Currently, in many case, I always need to do monkey patch and method overwrite (which is not good for upgrade).
This is an automatic backport of pull request #43058 done by Mergify.