Don't let the cart crash on invalid addressIds
This commit is contained in:
parent
f748aa1b83
commit
10ea82d6ec
3 changed files with 27 additions and 3 deletions
|
|
@ -4,6 +4,8 @@
|
||||||
- fixed #11984: No JS allows invalid dates in Event asset
|
- fixed #11984: No JS allows invalid dates in Event asset
|
||||||
- fixed bug in shopping cart where in some cases the shipper selectbox would
|
- fixed bug in shopping cart where in some cases the shipper selectbox would
|
||||||
be empty ( Martin Kamerbeek / Oqapi )
|
be empty ( Martin Kamerbeek / Oqapi )
|
||||||
|
- fixed bug where an invalid address ids would prevent a customer from ever
|
||||||
|
checking out again ( Martin Kamerbeek / Oqapi )
|
||||||
|
|
||||||
7.10.6
|
7.10.6
|
||||||
- fixed #11974: Toolbar icons unclickable in Webkit using HTML5
|
- fixed #11974: Toolbar icons unclickable in Webkit using HTML5
|
||||||
|
|
|
||||||
|
|
@ -1174,7 +1174,10 @@ sub www_view {
|
||||||
|
|
||||||
my $billingAddressId = $self->get('billingAddressId');
|
my $billingAddressId = $self->get('billingAddressId');
|
||||||
if ($billingAddressId) {
|
if ($billingAddressId) {
|
||||||
$billingAddressOptions{'update_address'} = sprintf $i18n->get('Update %s'), $self->getBillingAddress->get('label');
|
my $billingAddress = eval { $self->getBillingAddress };
|
||||||
|
if ( defined $billingAddress ) {
|
||||||
|
$billingAddressOptions{'update_address'} = sprintf $i18n->get('Update %s'), $billingAddress->get('label');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%billingAddressOptions = (%billingAddressOptions, %addressOptions);
|
%billingAddressOptions = (%billingAddressOptions, %addressOptions);
|
||||||
|
|
@ -1190,7 +1193,10 @@ sub www_view {
|
||||||
|
|
||||||
my $shippingAddressId = $self->get('shippingAddressId');
|
my $shippingAddressId = $self->get('shippingAddressId');
|
||||||
if ($shippingAddressId) {
|
if ($shippingAddressId) {
|
||||||
$shippingAddressOptions{'update_address'} = sprintf $i18n->get('Update %s'), $self->getShippingAddress->get('label');
|
my $shippingAddress = eval { $self->getShippingAddress };
|
||||||
|
if ( defined $shippingAddress ) {
|
||||||
|
$shippingAddressOptions{'update_address'} = sprintf $i18n->get('Update %s'), $shippingAddress->get('label');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
%shippingAddressOptions = (%shippingAddressOptions, %addressOptions);
|
%shippingAddressOptions = (%shippingAddressOptions, %addressOptions);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ my $i18n = WebGUI::International->new($session, "Shop");
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Tests
|
# Tests
|
||||||
|
|
||||||
plan tests => 34; # Increment this number for each test you create
|
plan tests => 36; # Increment this number for each test you create
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# put your tests here
|
# put your tests here
|
||||||
|
|
@ -207,5 +207,21 @@ is($cart->delete, undef, "Can destroy cart.");
|
||||||
$cart->update( { shippingAddressId => $shipper->getId } );
|
$cart->update( { shippingAddressId => $shipper->getId } );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Test (part of) www_view
|
||||||
|
{
|
||||||
|
my $shippingAddressId = $cart->get( 'shippingAddressId' );
|
||||||
|
my $billingAddressId = $cart->get( 'billingAddressId' );
|
||||||
|
|
||||||
|
$cart->update( { shippingAddressId => 'NoWayDude' } );
|
||||||
|
eval { $cart->www_view };
|
||||||
|
is( $@, '', 'Invalid shippingAddressId doesn\'t make www_view crash' );
|
||||||
|
|
||||||
|
$cart->update( { billingAddressId => 'WRONG!!!!', shippingAddressId => $shippingAddressId } );
|
||||||
|
eval { $cart->www_view };
|
||||||
|
is( $@, '', 'Invalid billingAddressId doesn\'t make www_view crash' );
|
||||||
|
|
||||||
|
$cart->update( { billingAddressId => $billingAddressId } );
|
||||||
|
}
|
||||||
|
|
||||||
$product->purge;
|
$product->purge;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue