anon user creation didn't use defaults for yes/no fields

This commit is contained in:
Graham Knop 2007-09-26 21:33:34 +00:00
parent 202643d9b4
commit f2d27f96e3
3 changed files with 8 additions and 3 deletions

View file

@ -6,6 +6,7 @@
- fix: WebGUI::Group->new doesn't check group validity - fix: WebGUI::Group->new doesn't check group validity
- add form element template variables for event user defined fields - add form element template variables for event user defined fields
- fix: File Pile doesn't have save and commit button - 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 7.4.7
- fix: misspelled i18n in webgui password recovery - fix: misspelled i18n in webgui password recovery

View file

@ -208,7 +208,7 @@ sub createAccountSave {
} }
} }
$error .= $self->error unless($self->_isValidPassword($password,$passConfirm)); $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; $error .= $temp;
return $self->createAccount($error) unless ($error eq ""); return $self->createAccount($error) unless ($error eq "");

View file

@ -150,11 +150,15 @@ warning if it is a duplicate.
sub validateProfileData { sub validateProfileData {
my $session = shift; my $session = shift;
my %data = (); my $opts = shift || {};
my $regOnly = $opts->{regOnly};
my %data = ();
my $error = ""; my $error = "";
my $warning = ""; my $warning = "";
my $i18n = WebGUI::International->new($session); 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; my $fieldValue = $field->formProcess;
if (ref $fieldValue eq "ARRAY") { if (ref $fieldValue eq "ARRAY") {
$data{$field->getId} = $$fieldValue[0]; $data{$field->getId} = $$fieldValue[0];