From feb82c6d4ba15a5c34c064b342285ea8309151a9 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Wed, 27 Jun 2007 13:07:13 +0000 Subject: [PATCH] fix: image profile field edit errors --- docs/changelog/7.x.x.txt | 2 ++ lib/WebGUI/Operation/User.pm | 2 +- lib/WebGUI/ProfileField.pm | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 3a6a2588b..8e563f543 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -44,6 +44,8 @@ - Added User Invitations (Funded by United Knowledge) - fix: Calendar Event import ignores time zone http://www.webgui.org/bugs/tracker/calendar-feed-shows-wrong-time + - fix: Image profile fields edit issues + http://www.webgui.org/bugs/tracker/user-profile-images-disappear-after-updat 7.3.19 diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 3a7b88be7..fbd5d5ac7 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -451,7 +451,7 @@ sub www_editUserSave { # Loop through all profile fields, and update them with new values. foreach my $field (@{WebGUI::ProfileField->getFields($session)}) { next if $field->getId =~ /contentPositions/; - $u->profileField($field->getId,$field->formProcess); + $u->profileField($field->getId,$field->formProcess($u)); } # Update group assignements diff --git a/lib/WebGUI/ProfileField.pm b/lib/WebGUI/ProfileField.pm index 5096fde69..499e81553 100644 --- a/lib/WebGUI/ProfileField.pm +++ b/lib/WebGUI/ProfileField.pm @@ -255,7 +255,9 @@ Returns the value retrieved from a form post. sub formProcess { my $self = shift; - my $result = $self->session->form->process($self->getId,$self->get("fieldType"),WebGUI::Operation::Shared::secureEval($self->session,$self->get("dataDefault")), $self->_formProperties); + my $u = shift || $self->session->user; + my $properties = $self->_formProperties({value => $u->profileField($self->getId)}); + my $result = $self->session->form->process($self->getId,$self->get("fieldType"),WebGUI::Operation::Shared::secureEval($self->session,$self->get("dataDefault")), $properties); if (ref $result eq "ARRAY") { my @results = @$result; for (my $count=0;$count