[ic] 4.6.2/3 Bug??

Lee Hoffman lee@rsub.net
Sun, 11 Feb 2001 21:11:34 -0500


I've been running a store with 4.6.1 for the last month. Last week I
upgraded to 4.6.2 and all of a sudden the multi-page checkout (first page
takes billing & shipping info, and second page confirms totals/shipping
costs etc and takes the credit card info) completes orders after just the
first step (the second page is skipped and no credit card info is ever
taken). Is this a bug, or just a quirky change in syntax?

Below are the two relevant order profiles (the rest of the profiles.order
file remains unchanged from the construct catalog). checkout_profile_init is
the first order profile that checks shipping address and mode, and billing
address. checkout_profile, the second order profile, checks everything. The
first checkout page is checkout.html, the second is confirm.html

----------------------------------------------------------------------------
---------------------

__NAME__                            checkout_profile_init
fname=required
lname=required
address1=required
city=required
country=required
[if value country =~ /^(US|CA)$/i]
        state=state_province "[value state]" is not a valid US/Canada state
or province.
        zip=postcode "[value zip]" is not a valid US/Canada postal code.
        &or phone_day=phone, phone_night=phone Must have evening or day
phone_number
[else]
        &or phone_day=phone, phone_night=phone Must have evening or day
phone_number
[/else]
[/if]

&fatal = yes
email=required
email=email

&set = mv_successpage ord/confirm.html
&final=no

&setcheck=mv_email [value email]

__END__

__NAME__                            checkout_profile
fname=required
lname=required
address1=required
city=required
country=required
[if value country =~ /^(US|CA)$/i]
        state=state_province "[value state]" is not a valid US/Canada state
or province.
        zip=postcode "[value zip]" is not a valid US/Canada postal code.
        &or phone_day=phone, phone_night=phone Must have evening or day
phone_number
[else]
        &or phone_day=phone, phone_night=phone Must have evening or day
phone_number
[/else]
[/if]

&fatal = yes
email=required
email=email

&set = mv_payment Incomplete

[if value fax_order == 1]
&set = mv_payment Check or Money Order (will call)

[elsif value fax_order == 2]
project_id=required Please include your PO number
&set = mv_payment Purchase order [value project_id]
[value name=tmp_total set="[total-cost noformat=1]" hide=1]
[perl tables="pricing products userdb"]
        $CGI->{credit_limit_ok} = 1;
        my $total = delete $Values->{tmp_total};
        return unless $limit = tag_data('userdb', 'credit_limit',
$Session->{username});
        Log("credit_limit=$limit total=$total");
        delete $CGI->{credit_limit_ok};
        if($limit >= $total) {
                $CGI->{credit_limit_ok} = 1;
        }
        return;
[/perl]
credit_limit_ok=mandatory Credit limit exceeded.
[/elsif]

[elsif value fax_order == 3]
&set = mv_payment COD
[value name=mv_handling set=cod hide=1]
[/elsif]
[elsif variable MV_PAYMENT_MODE]
&credit_card=standard keep __CREDIT_CARDS_ACCEPTED__
&charge=[var MV_PAYMENT_MODE][cgi mv_payment_test]
&set=mv_payment Real-time ([var MV_PAYMENT_MODE]) Credit Card
[/elsif]

[elsif config CyberCash]
&fail=../special_pages/failed
&charge=[var CYBER_MODE]
[/elsif]

[elsif config CreditCardAuto]
mv_credit_card_valid=required Credit card fails tests.
&set=mv_payment Credit Card (%c)
[/elsif]

[else]
&credit_card=standard __CREDIT_CARDS_ACCEPTED__
&set=mv_payment Credit Card (%c)
[/else]
[/if]

&calc = $Values->{mv_payment} =~ s/\%c/$Values->{mv_credit_card_type}/g; 1;
&final = yes
&setcheck=mv_email [value email]

__END__

----------------------------------------------------------------------------
----------

Lee