I think we should discuss this. Product.productTypeId is not part of Product
prmary key.
You may create other services that may not rely on OOTB createProduct and then you get caught by this when using the UI (even an UI
based on OOTB UI)
Also consider that this is only checking if the value is there. As OOTB it's mandatory there is no problems: it can't hurt (I know
you don't like this sentence ;o).
When I say we should discuss this, I don't think about this peculiar case but at large: should we consider only OOTB cases when
enforcing NPE or such?
Jacques
Scott Gray wrote:
Check the createProduct service definition. productTypeId is required and the
out of the box code shouldn't have to deal with
any other scenario, please revert this.
Thanks
Scott
HotWax Media
http://www.hotwaxmedia.com
On 23/06/2010, at 11:16 PM, [email protected] wrote:
Author: jleroux
Date: Wed Jun 23 11:16:33 2010
New Revision: 957160
URL: http://svn.apache.org/viewvc?rev=957160&view=rev
Log:
Product.productTypeId may not exist in a custom application
Modified:
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
Modified:
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl?rev=957160&r1=957159&r2=957160&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
(original) +++
ofbiz/trunk/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl Wed
Jun 23 11:16:33 2010 @@ -156,7 +156,7 @@ under
the License. <span style="color: red; font-size:
15px;">[${backOrdered?if_exists} ${uiLabelMap.OrderBackOrdered}]</span>
</#if>
</#if>
- <#if (availableToPromiseMap.get(cartLine.getProductId()) <= 0)
&& (shoppingCart.getOrderType() ==
'SALES_ORDER') && product.productTypeId != "DIGITAL_GOOD" && product.productTypeId !=
"MARKETING_PKG_AUTO" &&
product.productTypeId != "MARKETING_PKG_PICK"> +
<#if
(availableToPromiseMap.get(cartLine.getProductId()) <= 0)
&& (shoppingCart.getOrderType() == 'SALES_ORDER')
&& product.productTypeId! != "DIGITAL_GOOD" && product.productTypeId! !=
"MARKETING_PKG_AUTO" &&
product.productTypeId! != "MARKETING_PKG_PICK"> <span style="color:
red;">[${cartLine.getQuantity()} ${uiLabelMap.OrderBackOrdered}]</span>
<#else> <#if
(availableToPromiseMap.get(cartLine.getProductId()) < cartLine.getQuantity())
&& (shoppingCart.getOrderType() == 'SALES_ORDER')
&& product.productTypeId != "DIGITAL_GOOD" && product.productTypeId !=
"MARKETING_PKG_AUTO" && product.productTypeId !=
"MARKETING_PKG_PICK">