public Object newOrder() {
HttpSession session = ctx.getRequest().getSession();
if (shippingAddressRequired) {
shippingAddressRequired = false;
return new TemplateResult(this, SHIPPING);
} else if (!isConfirmed()) {
return new TemplateResult(this, CONFIRM_ORDER);
} else if (getOrder() != null) {
orderService.insertOrder(order);
CartActionBean cartBean = ctx.getMain().createAction(ctx, CartActionBean.class);
cartBean.clear();
setMessage("Thank you, your order has been submitted.");
return new TemplateResult(this, VIEW_ORDER);
} else {
setMessage("An error occurred processing your order (order was null).");
return new TemplateResult(this, ERROR);
}
}