[
https://issues.apache.org/jira/browse/OFBIZ-6057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacques Le Roux reopened OFBIZ-6057:
------------------------------------
We still need to fix the other cases Forrest signaled, I reopen
> Quote item view FreeMarker error message due to changes made in OFBIZ-2120
> --------------------------------------------------------------------------
>
> Key: OFBIZ-6057
> URL: https://issues.apache.org/jira/browse/OFBIZ-6057
> Project: OFBiz
> Issue Type: Bug
> Components: accounting, order
> Affects Versions: Release Branch 13.07
> Environment: Linux
> Reporter: Forrest Rae
> Assignee: Deepak Dixit
> Fix For: 14.12.01, 13.07.02, Upcoming Branch
>
>
> In order to fix OFBIZ-2120, code was added to the
> applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl file at lines
> 53 through 57, with the offending line being at 5:
> https://github.com/apache/ofbiz/blob/trunk/applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl##L56
> Here is the commit:
> https://github.com/apache/ofbiz/commit/27253c4667e87721212fa8955d75c74a0d171c73
> This ends up causing the following error:
> [java] freemarker.core.InvalidReferenceException: The following has
> evaluated to null or missing:
> [java] ==> null [in template
> "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56,
> column 40]
> [java]
> [java] ----
> [java] Tip: If the failing expression is known to be legally refer to
> something that's null or missing, either specify a default value like
> myOptionalVar!myDefault, or use <#if
> myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the
> last step of the expression; to cover the whole expression, use parenthesis:
> (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
> [java] ----
> [java]
> [java] ----
> [java] FTL stack trace ("~" means nesting-related):
> [java] - Failed at: #assign product = null [in template
> "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 56,
> column 21]
> [java] - Reached through: #list quoteItems as quoteItem [in template
> "component://order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl" at line 52,
> column 13]
> The main reason for this is because there is no concept of "null" in
> FreeMarker 2.3, as the following thread explains:
> http://ehc.ac/p/freemarker/discussion/2346/thread/85da30a4/ Not sure how to
> go about fixing this error, the thread suggests setting the variable to the
> string "null".
> There are other instances of this bug as well:
> $ grep -r "<#assign" * | grep "= null"
> applications/order/webapp/ordermgr/return/returnItems.ftl:
> <#assign returnItemSubTotal = null > <#-- otherwise the last item's might
> carry over -->
> applications/order/webapp/ordermgr/quote/ViewQuoteItemInfo.ftl:
> <#assign product = null> <#-- don't drag it along to the next iteration
> -->
> applications/accounting/webapp/accounting/reports/DepositSlip.fo.ftl:
> <#assign creditCard = null/>
> framework/webtools/webapp/webtools/datafile/viewdatafile.ftl: <#assign
> lastRecordName = null>
> Reproduction Steps:
> 1) Visit http://demo-stable-ofbiz.apache.org/ordermgr/control/FindRequest
> 2) Click "New Request"
> 3) Set
> - Cust Request Type Id = Request for Quote
> - Requesting Party = DemoCustomer
> - Cust Request Name = Test Request
> - Description = This is a test request
> 4) Click "Sumbit"
> 5) "Create Quote from request"
> 6) error will appear
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)