This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 5f11ebad2d Fixed: Accounting Invoice Overview - PDF failed
(OFBIZ-12735)
5f11ebad2d is described below
commit 5f11ebad2d097d49d972b4a02bfa33380e6fb951
Author: Jacques Le Roux <[email protected]>
AuthorDate: Thu Jan 12 11:52:52 2023 +0100
Fixed: Accounting Invoice Overview - PDF failed (OFBIZ-12735)
>hen clicking “PDF” button in the invoice view, it failed with a
StackOverflow
A quick fix in DocTypeTemplate.groovy:
in def getCustomScreenTemplate()
Change:
parentTypeValue =
from(entityTypeName).where().cache().queryFirst().parentTypeId
To:
String parentTypeValue =
from(entityTypeName)
.where("invoiceTypeId", fieldTypeValue)
.cache()
.queryFirst()
.parentTypeId
jleroux: I noticed this Ingo's not applied patch at OFBIZ-10215:
https://issues.apache.org/jira/secure/attachment/13045313/DocTypeTemplate-1.patch
It's very similar to Yannong's but a bit more general. We don't need to
worry
about the 3 types (invoice, order, quote). It's already handled.
I also formatted getCustomScreenTemplate()
Thanks: Yannong Huang for report a proposition fic
---
.../groovyScripts/template/DocTypeTemplate.groovy | 33 +++++++++++++---------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git
a/applications/commonext/groovyScripts/template/DocTypeTemplate.groovy
b/applications/commonext/groovyScripts/template/DocTypeTemplate.groovy
index 1c5986392d..a2234dfc56 100644
--- a/applications/commonext/groovyScripts/template/DocTypeTemplate.groovy
+++ b/applications/commonext/groovyScripts/template/DocTypeTemplate.groovy
@@ -30,19 +30,26 @@ def getFieldTypeName(String entityName) {
* If no value found, do a recursive search on parentType
*/
def getCustomScreenTemplate(String entityTypeName, String fieldTypeValue) {
- if (! fieldTypeValue) {
- return null
- }
- GenericValue tplCustScreen = from("PartyPrefDocTypeTplAndCustomScreen")
- .where(getFieldTypeName(entityTypeName), fieldTypeValue)
- .cache()
- .queryFirst()
- if (tplCustScreen) {
- return tplCustScreen
- }
- // No template found for this type, try if the parent had
- String parentTypeValue =
from(entityTypeName).where().cache().queryFirst().parentTypeId
- return getCustomScreenTemplate(entityTypeName, parentTypeValue)
+ if (!fieldTypeValue) {
+ return null
+ }
+
+ GenericValue tplCustScreen = from("PartyPrefDocTypeTplAndCustomScreen")
+ .where(getFieldTypeName(entityTypeName), fieldTypeValue)
+ .cache()
+ .queryFirst()
+
+ if (tplCustScreen) {
+ return tplCustScreen
+ }
+
+ // No template found for this type, try if the parent had
+ String parentTypeValue = from(entityTypeName)
+ .where(getFieldTypeName(entityTypeName), fieldTypeValue)
+ .cache()
+ .queryFirst()
+ .parentTypeId
+ return getCustomScreenTemplate(entityTypeName, parentTypeValue)
}
// first resolve the document reference passed on the context