Bilgin,
about the "Ship to Another Party" feature already available in the
standard checkout process: there is actually a remarkable difference
from what I have implemented in the quickcheckout page.
In the quickcheckout, you really change the party in the
SHIP_TO_CUSTOMER role (stored in the OrderRole entity), while in the
standard checkout the party is not changed and you just use a
PostalAddress of a different party.
In my opinion the latter is not quit correct and should be fixed to work
in a similar way the quickcheckout works.
Jacopo
Jacopo Cappellato wrote:
Thanks Bilgin,
I've applied your fix in rev. 574538
About your question about the "Ship to Another Party"; I'll verify and
let you know later today.
Thanks!
Jacopo
Bilgin Ibryam wrote:
Jacopo,
after run-install and logged with admin user i get and error in Quick
Finalize Order screen.
Target exception: java.lang.NullPointerException: Null Pointer in Method
Invocation
(Sourced file:
component://order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh)
(Error running BSH script at
[component://order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh],
line [93]: Sourced file:
component://order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh
: at Line: 93 : in file:
component://order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh
: salesReprs .size ( )
This will fix it:
Index: order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh
===================================================================
--- order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh
(revision 574505)
+++ order/webapp/ordermgr/WEB-INF/actions/entry/checkoutoptions.bsh
(working
copy)
@@ -90,10 +90,12 @@
cartParties.add(shoppingCart.getSupplierAgentPartyId());
}
List salesReprs =
(List)shoppingCart.getAdditionalPartyRoleMap().get("SALES_REP");
-for (int i = 0; i < salesReprs.size(); i++) {
- String salesRep = (String)salesReprs.get(i);
- if (!cartParties.contains(salesRep)) {
- cartParties.add(salesRep);
+if (salesReprs != null) {
+ for (int i = 0; i < salesReprs.size(); i++) {
+ String salesRep = (String)salesReprs.get(i);
+ if (!cartParties.contains(salesRep)) {
+ cartParties.add(salesRep);
+ }
}
}
context.put("cartParties", cartParties);
Should i create issue for this, or it ok to copy from here ?
BTW is this functionality the same with Ship to Another Party in checkout
screen or it is more behind it? Of course this one is in quick checkout
mode/screen :)
Regards,
Bilgin Ibryam