Re: Proposed Route patch
Josh Lavin <[email protected]>
| Newsgroups | gmane.comp.web.interchange.users |
|---|---|
| Message-ID | <[email protected]> |
Quoting Mike Heins ([email protected]): > I'd have to look. This is a funny beast -- it is some of the first code in > Interchange and indeed is brought from the very earliest vend.pl code in > 1995. My worry is that there is a tri-sense for $status. True, false, and > undef. Have you looked at how it is used in the "submit" action in > Vend::Dispatch? Well, in Vend::Dispatch, it is "$ok" (line 476): ($ok, $order_no, $result_hash) = route_order( $::Values->{mv_order_route}, $Vend::Items ); return 1 unless $ok; In Vend::Order, the route_order() sub returns: if($main->{supplant}) { return ($status, $::Values->{mv_order_number}, $main); } So it is $status in Vend::Order, but $ok in Vend::Dispatch. The problem in Vend::Dispatch is that if $ok isn't set, it won't finish the order, at least to the customer's point of view. Thanks, Josh > On Fri, Dec 23, 2016 at 11:28 AM, Josh Lavin <[email protected]> wrote: > > > It seems that the long-standing comment about the 'main' Route in > > catalog.cfg is wrong: > > > > ## This route emails the order to you unless email is set to "", and > > ## failsafe-logs the order report a couple of places > > > > If you follow those instructions, then you see an error: > > > > > Empty order routing main_entry (and not explicitly empty). > > > Either attach or email are required in the route setting. > > > > Kevin's docs are correct in this area: > > "Note that either attach, email or empty must be set for a route." > > http://interchange.rtfm.info/icdocs/Order_routing.html#email > > > > If you blank out 'email', but also set either 'attach' or 'empty' to 1, > > then customer orders never show a receipt page, nor clear the cart, yet > > an order is accepted. > > > > I followed the rabbit, and this ocurrs as $status is returned by > > route_order() and is necessary to show the receipt and clear the cart. > > Yet, $status is only set if emails are sent. > > > > The following patch fixes it, and corrects the documentation: > > > > https://github.com/jdigory/interchange/commit/ > > 928a93b11c8862f38f201c0d1fdfb94d777cee69 > > > > Does anyone know if setting $status to true when no emails are sent is a > > problem? Routing is an odd beast, but this seems to work fine in my > > tests. > > > > Thanks, > > Josh > > -- > > Josh Lavin > > End Point Corporation > > > > _______________________________________________ > > interchange-users mailing list > > [email protected] > > http://www.icdevgroup.org/mailman/listinfo/interchange-users > > > > > > -- > The problem with Internet quotations is that many of them > are not genuine. -- Abraham Lincoln > _______________________________________________ > interchange-users mailing list > [email protected] > http://www.icdevgroup.org/mailman/listinfo/interchange-users -- Josh Lavin End Point Corporation