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 - rfe: Asset->get should return a copy of the properties hashref
- Fixed a typo in testEnvironment.pl version number for DBD::mysql - Fixed a typo in testEnvironment.pl version number for DBD::mysql
- Fixed a Recurring Payments processing bug: illegal division by zero - 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: How to hose your assets (perlDreamer Consulting, LLC)
- fix: Exporting fails with strange URLs. Also factored the URL to path/file - 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 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 { sub getValueFromPost {
my $self = shift; 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'))) { if ($self->session->form->param($self->privateName('delete'))) {
my $storage = WebGUI::Storage->get($self->session,$value); my $storage = WebGUI::Storage->get($self->session,$value);
$storage->delete; $storage->delete if defined $storage;
return ''; return '';
} elsif ($self->session->form->param($self->privateName('action')) eq 'keep') { } elsif ($self->session->form->param($self->privateName('action')) eq 'keep') {
return $value; return $value;
} elsif ($self->session->form->param($self->privateName('action')) eq 'upload') { } elsif ($self->session->form->param($self->privateName('action')) eq 'upload') {
my $storage = undef; my $storage = undef;
if ($self->get("value") ne "") { if ($value ne "") {
$storage = WebGUI::Storage::Image->get($self->session, $self->get("value")); $storage = WebGUI::Storage::Image->get($self->session, $value);
} else { } else {
$storage = WebGUI::Storage::Image->create($self->session); $storage = WebGUI::Storage::Image->create($self->session);
} }
$storage->addFileFromFormPost($self->get("name"),1000); $storage->addFileFromFormPost($self->get("name")."_file",1000);
my @files = @{ $storage->getFiles }; my @files = @{ $storage->getFiles };
if (scalar(@files) < 1) { if (scalar(@files) < 1) {
$storage->delete; $storage->delete;
return undef; return undef;
} else { } else {
my $id = $storage->getId; my $id = $storage->getId;
$self->set("value", $id);
return $id; return $id;
} }
} }
return undef;
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -205,9 +207,8 @@ sub toHtml {
$uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n"; $uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n";
} }
} }
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); $uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); uploader.addRow(); </script>!
uploader.addRow(); , $self->get("name")."_file", $i18n->get("removeLabel"), $maxFiles;
</script>!, $self->get("name"), $i18n->get("removeLabel"), $maxFiles;
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />"; $uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />";
} else { } else {
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->get("name"), -value => $self->get("value")})->toHtml()."<br />"; $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 { sub getValueFromPost {
my $self = shift; my $self = shift;
my $id = $self->SUPER::getValueFromPost(@_); my $id = $self->SUPER::getValueFromPost(@_);
if (defined $id) { if (defined $id) {
my $storage = WebGUI::Storage::Image->get($self->session, $id); my $storage = WebGUI::Storage::Image->get($self->session, $id);
if (defined $storage) { if (defined $storage) {
@ -192,9 +191,8 @@ sub toHtml {
$uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n"; $uploadControl .= 'fileIcons["'.$ext.'"] = "'.$self->session->url->extras('fileIcons/'.$file).'";'."\n";
} }
} }
$uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); $uploadControl .= sprintf q!var uploader = new FileUploadControl("%s", fileIcons, "%s","%d"); uploader.addRow(); </script>!,
uploader.addRow(); $self->get("name")."_file", $i18n->get("removeLabel"), $maxNewFiles;
</script>!, $self->get("name"), $i18n->get("removeLabel"), $maxNewFiles;
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />"; $uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->privateName('action'), -value => 'upload'})->toHtml()."<br />";
} else { } else {
$uploadControl .= WebGUI::Form::Hidden->new($self->session, {-name => $self->get("name"), -value => $self->get("value")})->toHtml()."<br />"; $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 $skipDefault = shift;
my $default; my $default;
if ($skipDefault) { 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}); $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}); $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}); $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}); $default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
} }
$properties->{value} = $default; $properties->{value} = $default;