Shipping address form processing.

This commit is contained in:
Colin Kuskie 2010-04-26 12:02:11 -07:00
parent 85c7beca70
commit 7826e3aea3

View file

@ -642,6 +642,7 @@ sub updateFromForm {
my $i18n = WebGUI::International->new($self->session, "Shop"); my $i18n = WebGUI::International->new($self->session, "Shop");
$error{id $self} = $i18n->get('mixed items warning'); $error{id $self} = $i18n->get('mixed items warning');
} }
my $book = $self->getAddressBook; my $book = $self->getAddressBook;
my %billingData = $book->processAddressForm('billing_'); my %billingData = $book->processAddressForm('billing_');
@ -649,25 +650,50 @@ sub updateFromForm {
$self->session->log->warn('billing addressId: '. $billingAddressId); $self->session->log->warn('billing addressId: '. $billingAddressId);
if ($billingAddressId eq 'new_address' && ! exists $billingData{'error'}) { if ($billingAddressId eq 'new_address' && ! exists $billingData{'error'}) {
##Add a new address ##Add a new address
$self->session->log->warn('add a new address'); $self->session->log->warn('add a new billing address');
my $newAddress = $book->addAddress(\%billingData); my $newAddress = $book->addAddress(\%billingData);
$self->update({billingAddressId => $newAddress->get('addressId'), }); $self->update({billingAddressId => $newAddress->get('addressId'), });
} }
elsif ($billingAddressId eq 'update_address' && $self->get('billingAddressId')) { elsif ($billingAddressId eq 'update_address' && $self->get('billingAddressId')) {
$self->session->log->warn('update an existing address'); $self->session->log->warn('update an existing billing address');
##User changed the address selector ##User changed the address selector
my $address = $self->getBillingAddress(); my $address = $self->getBillingAddress();
$address->update(\%billingData); $address->update(\%billingData);
} }
elsif ($billingAddressId ne 'new_address' && $billingAddressId) { elsif ($billingAddressId ne 'new_address' && $billingAddressId) {
$self->session->log->warn('change an address'); $self->session->log->warn('change an billing address');
$self->update({billingAddressId => $billingAddressId}); $self->update({billingAddressId => $billingAddressId});
} }
else { else {
$self->session->log->warn('address: something else: '. $billingData{error}); $self->session->log->warn('billing address: something else: '. $billingData{error});
}
my %shippingData = $book->processAddressForm('shipping_');
my $shippingAddressId = $form->process('shippingAddressId');
$self->session->log->warn('shipping addressId: '. $shippingAddressId);
if ($form->process('sameShippingAsBilling', 'yesNo')) {
$self->update({shippingAddressId => $self->get('billingAddressId'), });
}
elsif ($shippingAddressId eq 'new_address' && ! exists $shippingData{'error'}) {
##Add a new address
$self->session->log->warn('add a new shipping address');
my $newAddress = $book->addAddress(\%shippingData);
$self->update({shippingAddressId => $newAddress->get('addressId'), });
}
elsif ($shippingAddressId eq 'update_address' && $self->get('shippingAddressId')) {
$self->session->log->warn('update an existing shipping address');
##User changed the address selector
my $address = $self->getBillingAddress();
$address->update(\%shippingData);
}
elsif ($shippingAddressId ne 'new_address' && $shippingAddressId) {
$self->session->log->warn('change an shipping address');
$self->update({shippingAddressId => $shippingAddressId});
}
else {
$self->session->log->warn('shipping address: something else: '. $shippingData{error});
} }
#$book->processAddressForm()
my $cartProperties = {}; my $cartProperties = {};
$cartProperties->{ shipperId } = $form->process( 'shipperId' ) if $form->process( 'shipperId' ); $cartProperties->{ shipperId } = $form->process( 'shipperId' ) if $form->process( 'shipperId' );
$self->update( $cartProperties ); $self->update( $cartProperties );