[ic] Necessity of delete $Vend::Session->{mv_order_number} in Dispatch.pm?

John Young interchange-users@icdevgroup.org
Fri Mar 28 22:18:00 2003


Hi, all.

In IC 4.9.7+, how necessary is

     delete $Vend::Session->{mv_order_number};

at line 406 in the latest (23 Mar 03) version of Dispatch.pm?

I've been working on some custom order number generation code, and
setting it in Session->{mv_order_number} does not work across all of my
order routes (including setting Values->{mv_order_number}, as well).

If I set Session->{mv_order_number} in log_transaction, receipt.html
still uses OrderCounter.  If I set Session->{mv_order_number} in 
checkout.html,
all logs/reports still use OrderCounter.

Assuming an order number generation usertag called order_number(), and
using order routes like in Foundation, with "log main copy_user"
(log - log_transaction, main - receipt.html, copy_user - mail_receipt),
for instance, yields:

order_number() in log_tranaction
     - custom order number in db, but not receipt

order_number() in receipt.html
     - custom order number in receipt, but not db

Many other tests like the two above, always only obtaining custom
order number in some, but not all desired locations.

order_number() in checkout.html
     - custom order number nowhere

Yet:
order_number() in checkout.html
AND  "delete $Vend::Session->{mv_order_number};" omitted in Dispatch.pm
     - custom order number everywhere, all is fine.

So, the last test above works well, but I don't like to modify the
distribution if I can avoid doing so.  Any tips?  Am I doing something
dangerous?  If I am, would I be okay by deleting Session->{mv_order_number}
from within, say, log_transaction, once I've committed my order number?


Thanks for any comments, and have a nice weekend!
John Young