From 18301e3bfdeabfa76692b9e5b1c2247fcb868d29 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 10 May 2010 16:43:53 -0700 Subject: [PATCH] Make address form fields less sticky. If you want data saved, you must choose the Update address option. --- lib/WebGUI/Shop/AddressBook.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/WebGUI/Shop/AddressBook.pm b/lib/WebGUI/Shop/AddressBook.pm index 0a0d79193..ddebef482 100644 --- a/lib/WebGUI/Shop/AddressBook.pm +++ b/lib/WebGUI/Shop/AddressBook.pm @@ -82,32 +82,33 @@ sub appendAddressFormVars { $properties ||= {}; $prefix ||= ''; $var ||= {}; + my $hasAddress = keys %{ $properties }; for ( qw{ address1 address2 address3 label firstName lastName city state organization } ) { $var->{ $prefix . $_ . 'Field' } = WebGUI::Form::text( $session, { name => $prefix . $_, maxlength => 35, - defaultValue => $properties->{ $_ } || $form->get($prefix . $_), + defaultValue => $hasAddress ? $properties->{ $_ } : $form->get($prefix . $_), } ); } $var->{ $prefix . 'countryField' } = WebGUI::Form::country( $session,{ name => $prefix . 'country', - defaultValue => $properties->{ country } || $form->get($prefix . 'country' ), + defaultValue => $hasAddress ? $properties->{ country } : $form->get($prefix . 'country' ), } ); $var->{ $prefix . 'codeField' } = WebGUI::Form::zipcode( $session, { name => $prefix . 'code', - defaultValue => $properties->{ code } || $form->get($prefix . 'code' ), + defaultValue => $hasAddress ? $properties->{ code } : $form->get($prefix . 'code' ), } ); $var->{ $prefix . 'phoneNumberField' } = WebGUI::Form::phone( $session, { name => $prefix . 'phoneNumber', - defaultValue => $properties->{ phoneNumber } || $form->get($prefix . 'phoneNumber' ), + defaultValue => $hasAddress ? $properties->{ phoneNumber } : $form->get($prefix . 'phoneNumber' ), } ); $var->{ $prefix . 'emailField' } = WebGUI::Form::email( $session, { name => $prefix . 'email', - defaultValue => $properties->{ email } || $form->get($prefix . 'email' ), + defaultValue => $hasAddress ? $properties->{ email } : $form->get($prefix . 'email' ), } ); }