Rollback r3340 since it broke specialState:init.

This commit is contained in:
Drake 2006-12-06 17:49:22 +00:00
parent f3f2a2296b
commit e795f06fd8
4 changed files with 19 additions and 22 deletions

View file

@ -43,7 +43,6 @@
- add: workflow activity for expiry of email-unvalidated users. This is not - add: workflow activity for expiry of email-unvalidated users. This is not
enabled by default; add an instance of it to an appropriate workflow if you enabled by default; add an instance of it to an appropriate workflow if you
want it to run. want it to run.
- fix: new profile fields and new users not handling profile defaults right
- fix: subscription dates - fix: subscription dates
- fix: Default Rich Editor setting not rendering correctly - fix: Default Rich Editor setting not rendering correctly
- fix: visitor name disappearing on preview in CS - fix: visitor name disappearing on preview in CS

View file

@ -351,11 +351,10 @@ sub www_editUser {
foreach my $field (@{$category->getFields}) { foreach my $field (@{$category->getFields}) {
next if $field->getId =~ /contentPositions/; next if $field->getId =~ /contentPositions/;
my $label = $field->getLabel . ($field->isRequired ? "*" : ''); my $label = $field->getLabel . ($field->isRequired ? "*" : '');
my $defaultValue = WebGUI::Operation::Shared::secureEval($session, $field->get('dataDefault'));
if ($field->getId eq "alias" && $u->userId eq '1') { if ($field->getId eq "alias" && $u->userId eq '1') {
$tabform->getTab("profile")->raw($field->formField({label=>$label, value=>$defaultValue},1,undef,1)); $tabform->getTab("profile")->raw($field->formField({label=>$label},1,undef,1));
} else { } else {
$tabform->getTab("profile")->raw($field->formField({label=>$label, value=>$defaultValue},1,$u)); $tabform->getTab("profile")->raw($field->formField({label=>$label},1,$u));
} }
} }
$tabform->getTab("profile")->fieldSetEnd($category->getLabel); $tabform->getTab("profile")->fieldSetEnd($category->getLabel);

View file

@ -107,14 +107,6 @@ sub create {
my $self = $class->new($session,$id); my $self = $class->new($session,$id);
$self->setCategory($categoryId); $self->setCategory($categoryId);
$self->set($properties); $self->set($properties);
# Since we're creating a new profile field, give every user the default value for it.
my $default = WebGUI::Operation::Shared::secureEval($session,$properties->{dataDefault});
foreach my $userId ($session->db->buildArray("SELECT userId FROM users")) {
my $user = WebGUI::User->new($session, $userId);
$user->profileField($id, $default);
}
return $self; return $self;
} }
@ -191,7 +183,7 @@ sub formField {
} else { } else {
$default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault}); $default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
} }
$properties->{value} = $default unless defined $properties->{value}; $properties->{value} = $default;
if ($withWrapper == 1) { if ($withWrapper == 1) {
return WebGUI::Form::DynamicField->new($self->session,%{$properties})->displayFormWithWrapper; return WebGUI::Form::DynamicField->new($self->session,%{$properties})->displayFormWithWrapper;
} elsif ($withWrapper == 2) { } elsif ($withWrapper == 2) {

View file

@ -63,13 +63,6 @@ sub _create {
$session->db->write("insert into users (userId,dateCreated) values (?,?)",[$userId, time()]); $session->db->write("insert into users (userId,dateCreated) values (?,?)",[$userId, time()]);
WebGUI::Group->new($session,2)->addUsers([$userId]); WebGUI::Group->new($session,2)->addUsers([$userId]);
WebGUI::Group->new($session,7)->addUsers([$userId]); WebGUI::Group->new($session,7)->addUsers([$userId]);
# Give user all profile fields as default values.
foreach my $field (@{WebGUI::ProfileField->getFields($session)}) {
my $defaultValue = WebGUI::Operation::Shared::secureEval($session, $field->get('dataDefault'));
$session->db->write("INSERT INTO userProfileData (userId, fieldName, fieldData) VALUES (?, ?, ?)", [$userId, $field->getId, $defaultValue]);
}
return $userId; return $userId;
} }
@ -392,8 +385,22 @@ sub new {
my %user; my %user;
tie %user, 'Tie::CPHash'; tie %user, 'Tie::CPHash';
%user = $session->db->quickHash("select * from users where userId=".$session->db->quote($userId)); %user = $session->db->quickHash("select * from users where userId=".$session->db->quote($userId));
my %profile = $session->db->buildHash("SELECT fieldName, fieldData FROM userProfileData WHERE userId = ?", [$user{userId}]); my %profile = $session->db->buildHash("select userProfileField.fieldName, userProfileData.fieldData
$profile{alias} = $user{username} if $profile{alias} !~ /\w/; from userProfileField, userProfileData where userProfileField.fieldName=userProfileData.fieldName and
userProfileData.userId=".$session->db->quote($user{userId}));
my %default = $session->db->buildHash("select fieldName, dataDefault from userProfileField");
foreach my $key (keys %default) {
my $value;
if ($profile{$key} eq "" && $default{$key}) {
$value = eval($default{$key});
if (ref $value eq "ARRAY") {
$profile{$key} = $$value[0];
} else {
$profile{$key} = $value;
}
}
}
$profile{alias} = $user{username} if ($profile{alias} =~ /^\W+$/ || $profile{alias} eq "");
$userData = { $userData = {
_userId => $userId, _userId => $userId,
_user => \%user, _user => \%user,