fixed: registration form again saves progress if there is an error
This commit is contained in:
parent
3c6ad74cae
commit
db5a948c6b
2 changed files with 48 additions and 38 deletions
|
|
@ -40,6 +40,7 @@
|
||||||
- Cleaned up code tested by the aforementioned tests
|
- Cleaned up code tested by the aforementioned tests
|
||||||
- Fixed all Test::WWW::Mechanize tests and updated the skeleton. Should be
|
- Fixed all Test::WWW::Mechanize tests and updated the skeleton. Should be
|
||||||
usable now.
|
usable now.
|
||||||
|
- fixed: Registration form now saves all progress if there is an error
|
||||||
|
|
||||||
|
|
||||||
7.5.10
|
7.5.10
|
||||||
|
|
|
||||||
|
|
@ -172,52 +172,61 @@ Array ref of template vars from subclass
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub createAccount {
|
sub createAccount {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $method = $_[0];
|
my $method = shift;
|
||||||
my $vars = $_[1];
|
my $vars = shift;
|
||||||
my $i18n = WebGUI::International->new($self->session);
|
my $i18n = WebGUI::International->new($self->session);
|
||||||
$vars->{title} = $i18n->get(54);
|
$vars->{title} = $i18n->get(54);
|
||||||
|
|
||||||
$vars->{'create.form.header'} = WebGUI::Form::formHeader($self->session,{});
|
$vars->{'create.form.header'}
|
||||||
$vars->{'create.form.header'} .= WebGUI::Form::hidden($self->session,{"name"=>"op","value"=>"auth"});
|
= WebGUI::Form::formHeader($self->session,{})
|
||||||
$vars->{'create.form.header'} .= WebGUI::Form::hidden($self->session,{"name"=>"method","value"=>$method});
|
. WebGUI::Form::hidden($self->session,{"name"=>"op","value"=>"auth"})
|
||||||
|
. WebGUI::Form::hidden($self->session,{"name"=>"method","value"=>$method})
|
||||||
#User Defined Options
|
;
|
||||||
|
|
||||||
|
# User Defined Options
|
||||||
my $userInvitation = $self->session->setting->get('userInvitationsEnabled');
|
my $userInvitation = $self->session->setting->get('userInvitationsEnabled');
|
||||||
$vars->{'create.form.profile'} = [];
|
$vars->{'create.form.profile'} = [];
|
||||||
foreach my $field (@{WebGUI::ProfileField->getRegistrationFields($self->session)}) {
|
foreach my $field (@{WebGUI::ProfileField->getRegistrationFields($self->session)}) {
|
||||||
my $id = $field->getId;
|
my $id = $field->getId;
|
||||||
my $label = $field->getLabel;
|
my $label = $field->getLabel;
|
||||||
my $emailAddress = '';
|
my $defaultValue = undef;
|
||||||
|
|
||||||
|
# Get the default email from the invitation
|
||||||
if ($field->get('fieldName') eq "email" && $userInvitation ) {
|
if ($field->get('fieldName') eq "email" && $userInvitation ) {
|
||||||
my $code = $self->session->form->get('code')
|
my $code = $self->session->form->get('code')
|
||||||
|| $self->session->form->get('uniqueUserInvitationCode');
|
|| $self->session->form->get('uniqueUserInvitationCode');
|
||||||
($emailAddress) = $self->session->db->quickArray('select email from userInvitations where inviteId=?',[$code]);
|
$defaultValue
|
||||||
$vars->{'create.form.header'} .= WebGUI::Form::hidden($self->session, {name=>"uniqueUserInvitationCode", value=>$code});
|
= $self->session->db->quickScalar(
|
||||||
|
'SELECT email FROM userInvitations WHERE inviteId=?',
|
||||||
|
[$code]
|
||||||
|
);
|
||||||
|
$vars->{'create.form.header'} .= WebGUI::Form::hidden($self->session, {name=>"uniqueUserInvitationCode", value=>$code});
|
||||||
}
|
}
|
||||||
my $formField = $field->formField(undef, undef, undef, undef, $emailAddress); ##Manually set the field
|
my $formField = $field->formField(undef, undef, undef, undef, $defaultValue);
|
||||||
my $required = $field->isRequired;
|
my $required = $field->isRequired;
|
||||||
|
|
||||||
# Old-style field loop.
|
# Old-style field loop.
|
||||||
push @{$vars->{'create.form.profile'}},
|
push @{$vars->{'create.form.profile'}}, {
|
||||||
{ 'profile.formElement' => $formField,
|
'profile.formElement' => $formField,
|
||||||
'profile.formElement.label' => $label,
|
'profile.formElement.label' => $label,
|
||||||
'profile.required' => $required };
|
'profile.required' => $required,
|
||||||
|
};
|
||||||
|
|
||||||
# Individual field template vars.
|
# Individual field template vars.
|
||||||
my $prefix = 'create.form.profile.'.$id.'.';
|
my $prefix = 'create.form.profile.'.$id.'.';
|
||||||
$vars->{$prefix.'formElement'} = $formField;
|
$vars->{ $prefix . 'formElement' } = $formField;
|
||||||
$vars->{$prefix.'formElement.label'} = $label;
|
$vars->{ $prefix . 'formElement.label' } = $label;
|
||||||
$vars->{$prefix.'required'} = $required;
|
$vars->{ $prefix . 'required' } = $required;
|
||||||
}
|
}
|
||||||
|
|
||||||
$vars->{'create.form.submit'} = WebGUI::Form::submit($self->session,{});
|
$vars->{'create.form.submit'} = WebGUI::Form::submit($self->session,{});
|
||||||
$vars->{'create.form.footer'} = WebGUI::Form::formFooter($self->session,);
|
$vars->{'create.form.footer'} = WebGUI::Form::formFooter($self->session,);
|
||||||
|
|
||||||
$vars->{'login.url'} = $self->session->url->page('op=auth;method=init');
|
$vars->{'login.url'} = $self->session->url->page('op=auth;method=init');
|
||||||
$vars->{'login.label'} = $i18n->get(58);
|
$vars->{'login.label'} = $i18n->get(58);
|
||||||
|
|
||||||
return WebGUI::Asset::Template->new($self->session,$self->getCreateAccountTemplateId)->process($vars);
|
return WebGUI::Asset::Template->new($self->session,$self->getCreateAccountTemplateId)->process($vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue