diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 1af3c3a32..0801c155d 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -6,6 +6,7 @@ - fix: WebGUI::Group->new doesn't check group validity - add form element template variables for event user defined fields - fix: File Pile doesn't have save and commit button + - fix: Anonymous user creation doesn't use default values for yes/no fields 7.4.7 - fix: misspelled i18n in webgui password recovery diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index 0303d1604..dc5c33cb8 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -208,7 +208,7 @@ sub createAccountSave { } } $error .= $self->error unless($self->_isValidPassword($password,$passConfirm)); - my ($profile, $temp, $warning) = WebGUI::Operation::Profile::validateProfileData($self->session); + my ($profile, $temp, $warning) = WebGUI::Operation::Profile::validateProfileData($self->session, {regOnly => 1}); $error .= $temp; return $self->createAccount($error) unless ($error eq ""); diff --git a/lib/WebGUI/Operation/Profile.pm b/lib/WebGUI/Operation/Profile.pm index 9718081f0..dbd40f109 100644 --- a/lib/WebGUI/Operation/Profile.pm +++ b/lib/WebGUI/Operation/Profile.pm @@ -150,11 +150,15 @@ warning if it is a duplicate. sub validateProfileData { my $session = shift; - my %data = (); + my $opts = shift || {}; + my $regOnly = $opts->{regOnly}; + my %data = (); my $error = ""; my $warning = ""; my $i18n = WebGUI::International->new($session); - foreach my $field (@{WebGUI::ProfileField->getEditableFields($session)}) { + my $fields = $regOnly ? WebGUI::ProfileField->getRegistrationFields($session) + : WebGUI::ProfileField->getEditableFields($session); + foreach my $field (@$fields) { my $fieldValue = $field->formProcess; if (ref $fieldValue eq "ARRAY") { $data{$field->getId} = $$fieldValue[0];