Avatar profile field does not update immediatly when you are admin

This commit is contained in:
JT Smith 2007-01-30 18:15:06 +00:00
parent 7279930574
commit 70071838bc
4 changed files with 24 additions and 16 deletions

View file

@ -4,6 +4,7 @@
- rfe: Asset->get should return a copy of the properties hashref
- Fixed a typo in testEnvironment.pl version number for DBD::mysql
- Fixed a Recurring Payments processing bug: illegal division by zero
- fix: Avatar profile field does not update immediatly when you are admin
- fix: How to hose your assets (perlDreamer Consulting, LLC)
- fix: Exporting fails with strange URLs. Also factored the URL to path/file
translation out into a seperate method so it can be more easily maintained

View file

@ -149,30 +149,32 @@ deleting the file if it was specified.
sub getValueFromPost {
my $self = shift;
my $value = $self->session->form->param($self->get("name"));
my $value = $self->get("value");
if ($self->session->form->param($self->privateName('delete'))) {
my $storage = WebGUI::Storage->get($self->session,$value);
$storage->delete;
$storage->delete if defined $storage;
return '';
} elsif ($self->session->form->param($self->privateName('action')) eq 'keep') {
return $value;
} elsif ($self->session->form->param($self->privateName('action')) eq 'upload') {
my $storage = undef;
if ($self->get("value") ne "") {
$storage = WebGUI::Storage::Image->get($self->session, $self->get("value"));
if ($value ne "") {
$storage = WebGUI::Storage::Image->get($self->session, $value);
} else {
$storage = WebGUI::Storage::Image->create($self->session);
}
$storage->addFileFromFormPost($self->get("name"),1000);
$storage->addFileFromFormPost($self->get("name")."_file",1000);
my @files = @{ $storage->getFiles };
if (scalar(@files) < 1) {
$storage->delete;
return undef;
} else {
my $id = $storage->getId;
$self->set("value", $id);
return $id;
}
}
return undef;
}
#-------------------------------------------------------------------
@ -205,9 +207,8 @@ sub toHtml {
$uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n";
}
}
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d");
uploader.addRow();
</script>!, $self->get("name"), $i18n->get("removeLabel"), $maxFiles;
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); uploader.addRow(); </script>!
, $self->get("name")."_file", $i18n->get("removeLabel"), $maxFiles;
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />";
} else {
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->get("name"), -value => $self->get("value")})->toHtml()."<br />";

View file

@ -143,7 +143,6 @@ See WebGUI::Form::File::getValueFromPost() for details. Generates a thumbnail.
sub getValueFromPost {
my $self = shift;
my $id = $self->SUPER::getValueFromPost(@_);
if (defined $id) {
my $storage = WebGUI::Storage::Image->get($self->session, $id);
if (defined $storage) {
@ -192,9 +191,8 @@ sub toHtml {
$uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n";
}
}
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d");
uploader.addRow();
</script>!, $self->get("name"), $i18n->get("removeLabel"), $maxNewFiles;
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); uploader.addRow(); </script>!,
$self->get("name")."_file", $i18n->get("removeLabel"), $maxNewFiles;
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />";
} else {
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->get("name"), -value => $self->get("value")})->toHtml()."<br />";

View file

@ -175,13 +175,21 @@ sub formField {
my $skipDefault = shift;
my $default;
if ($skipDefault) {
} elsif (defined $self->session->form->process($properties->{name})) {
}
# display form version in case there is an error on submit, so they don't have to retype
elsif (defined $self->session->form->process($properties->{name})) {
$default = $self->session->form->process($properties->{name});
} elsif (defined $u && defined $u->profileField($properties->{name})) {
}
# get it from the user profile if we already have a user object
elsif (defined $u && defined $u->profileField($properties->{name})) {
$default = $u->profileField($properties->{name});
} elsif (!defined $u && defined $self->session->user->profileField($properties->{name})) {
}
# get it from the user profile if we don't have the user object
elsif (!defined $u && defined $self->session->user->profileField($properties->{name})) {
$default = $self->session->user->profileField($properties->{name});
} else {
}
# get it from the defaults if necessary
else {
$default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
}
$properties->{value} = $default;