Added new setting - Enable Users after Anonymous Registration?
This commit is contained in:
parent
182fc16021
commit
7b1e385dd3
5 changed files with 50 additions and 8 deletions
|
|
@ -2,6 +2,7 @@
|
|||
- added #9668 extension template variable to attachment loops for the following assets:
|
||||
Article,Post,Event,File,Form::Attachments,Folder
|
||||
- added WaitForUserConfirmation workflow activity
|
||||
- added new setting - Enable Users after Anonymous Registration?
|
||||
- added the optional WebGUI::Content::PDFGenerator, not enabled by default
|
||||
(see the module's documentation).
|
||||
- fixed #12204: Default forum notification template produces invalid HTML
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ my $quiet; # this line required
|
|||
|
||||
my $session = start(); # this line required
|
||||
addWaitForConfirmationWorkflow($session);
|
||||
addCreateUsersEnabledSetting($session);
|
||||
finish($session); # this line required
|
||||
|
||||
|
||||
|
|
@ -46,6 +47,17 @@ sub addWaitForConfirmationWorkflow {
|
|||
}
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
sub addCreateUsersEnabledSetting {
|
||||
my $session = shift;
|
||||
my $s = $session->setting;
|
||||
my $name = 'enableUsersAfterAnonymousRegistration';
|
||||
return if $s->has($name);
|
||||
print "Adding $name setting..." unless $quiet;
|
||||
$s->add($name => 1);
|
||||
print "Done!\n" unless $quiet;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Describe what our function does
|
||||
#sub exampleFunction {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ use WebGUI::User;
|
|||
use WebGUI::Utility;
|
||||
use WebGUI::Form::Captcha;
|
||||
use WebGUI::Macro;
|
||||
use Scope::Guard qw(guard);
|
||||
use Encode ();
|
||||
|
||||
our @ISA = qw(WebGUI::Auth);
|
||||
|
|
@ -269,12 +270,26 @@ sub createAccountSave {
|
|||
$properties->{ identifier } = $self->hashPassword($password);
|
||||
$properties->{ passwordLastUpdated } = time();
|
||||
$properties->{ passwordTimeout } = $setting->get("webguiPasswordTimeout");
|
||||
$properties->{ status } = 'Deactivated' if ($setting->get("webguiValidateEmail"));
|
||||
|
||||
my $afterCreateMessage = $self->SUPER::createAccountSave($username,$properties,$password,$profile);
|
||||
my $sendEmail = $setting->get('webguiValidateEmail');
|
||||
|
||||
# We need to deactivate the user and log him out if there are additional
|
||||
# things that need to be done before he should be logged in.
|
||||
my $cleanupUser;
|
||||
if ($sendEmail || !$setting->get('enableUsersAfterAnonymousRegistration')) {
|
||||
$cleanupUser = guard {
|
||||
$self->user->status('Deactivated');
|
||||
$session->var->end($session->var->get('sessionId'));
|
||||
$session->var->start(1, $session->getId);
|
||||
my $u = WebGUI::User->new($session, 1);
|
||||
$self->{user} = $u;
|
||||
$self->logout;
|
||||
};
|
||||
}
|
||||
|
||||
# Send validation e-mail if required
|
||||
if ($setting->get("webguiValidateEmail")) {
|
||||
if ($sendEmail) {
|
||||
my $key = $session->id->generate;
|
||||
$self->saveParams($self->userId,"WebGUI",{emailValidationKey=>$key});
|
||||
my $mail = WebGUI::Mail::Send->create($self->session, {
|
||||
|
|
@ -290,12 +305,6 @@ WebGUI::Asset::Template->new($self->session,$self->getSetting('accountActivation
|
|||
$mail->addText($text);
|
||||
$mail->addFooter;
|
||||
$mail->queue;
|
||||
$self->user->status("Deactivated");
|
||||
$session->var->end($session->var->get("sessionId"));
|
||||
$session->var->start(1,$session->getId);
|
||||
my $u = WebGUI::User->new($session,1);
|
||||
$self->{user} = $u;
|
||||
$self->logout;
|
||||
return $self->displayLogin($i18n->get('check email for validation','AuthWebGUI'));
|
||||
}
|
||||
return $afterCreateMessage;
|
||||
|
|
|
|||
|
|
@ -381,6 +381,15 @@ sub definition {
|
|||
hoverHelp=>$i18n->get('118 description'),
|
||||
defaultValue=>$setting->get("anonymousRegistration")
|
||||
});
|
||||
push(@fields, {
|
||||
tab => 'user',
|
||||
fieldType => 'yesNo',
|
||||
name => 'enableUsersAfterAnonymousRegistration',
|
||||
label => $i18n->get('Enable Users after Anonymous Registration?'),
|
||||
hoverHelp => $i18n->get('enableUsersAfterAnonymousRegistration help'),
|
||||
defaultValue => $setting->get('enableUsersAfterAnonymousRegistration')
|
||||
}
|
||||
);
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
|
|
|
|||
|
|
@ -4743,6 +4743,17 @@ Users may override this setting in their profile.
|
|||
context => 'Add, as in to append or add more',
|
||||
},
|
||||
|
||||
'Enable Users after Anonymous Registration?' => {
|
||||
message => 'Enable Users after Anonymous Registration?',
|
||||
lastUpdated => 1311618346,
|
||||
},
|
||||
|
||||
'enableUsersAfterAnonymousRegistration help' => {
|
||||
message => 'If this is off, '
|
||||
. 'users must be manually activated by a workflow or an admin.',
|
||||
lastUpdated => 1311618419,
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue