user profile edit form fixes
This commit is contained in:
parent
3cd41eaa43
commit
abf5a15749
1 changed files with 18 additions and 23 deletions
|
|
@ -207,34 +207,29 @@ A WebGUI::User object reference to use instead of the currently logged in user.
|
||||||
|
|
||||||
sub formField {
|
sub formField {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $properties = $self->_formProperties(shift);
|
my $properties = $self->_formProperties(shift);
|
||||||
my $withWrapper = shift;
|
my $withWrapper = shift;
|
||||||
my $u = shift;
|
my $u = shift || $self->session->user;
|
||||||
my $skipDefault = shift;
|
my $skipDefault = shift;
|
||||||
my $assignedValue = shift;
|
my $assignedValue = shift;
|
||||||
my $default;
|
|
||||||
if ($skipDefault) {
|
if ($skipDefault) {
|
||||||
|
$properties->{value} = undef;
|
||||||
}
|
}
|
||||||
# display form version in case there is an error on submit, so they don't have to retype
|
elsif (defined $assignedValue) {
|
||||||
elsif (defined $self->session->form->process($properties->{name})) {
|
$properties->{value} = $assignedValue;
|
||||||
$default = $self->session->form->process($properties->{name});
|
|
||||||
}
|
}
|
||||||
# get it from the user profile if we already have a user object
|
else {
|
||||||
elsif (defined $u && defined $u->profileField($properties->{name})) {
|
# start with specified (or current) user's data. previous data needed by some form types as well (file).
|
||||||
$default = $u->profileField($properties->{name});
|
$properties->{value} = $u->profileField($self->getId);
|
||||||
|
# use submitted data if it exists
|
||||||
|
if (defined $self->session->form->process($properties->{name})) {
|
||||||
|
$properties->{value} = $self->session->form->process($self->getId,$self->get("fieldType"), undef, $properties);
|
||||||
|
}
|
||||||
|
# fall back on default
|
||||||
|
if(!defined $properties->{value}) {
|
||||||
|
$properties->{value} = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
# 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});
|
|
||||||
}
|
|
||||||
# get it from the defaults if necessary
|
|
||||||
else {
|
|
||||||
$default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
|
|
||||||
}
|
|
||||||
$properties->{value} = $default;
|
|
||||||
if (defined $assignedValue) {
|
|
||||||
$properties->{value} = $assignedValue;
|
|
||||||
}
|
|
||||||
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) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue