Make the Deactivate account template user selectable for both LDAP and WebGUI. Fixes bug #11482

This commit is contained in:
Colin Kuskie 2010-03-22 10:43:29 -07:00
parent c0206e61f5
commit d6f61c07d1
11 changed files with 124 additions and 11 deletions

View file

@ -7,6 +7,7 @@
- fixed: Unable to add threads with permission to edit CS but not in post group
- fixed #11478: Overzealous removal of double slashes in FilePump macro
- fixed thread pagination on search results, off by 1 error and modal direction
- fixed #11482: Template hard-coded in deactivateAccount
7.9.0
- added #11383: AJAX username checks at registration (Luke Robinson / Orchard Solutions)

Binary file not shown.

View file

@ -29,11 +29,27 @@ my $quiet; # this line required
my $session = start(); # this line required
addDeactivateAccountTemplateSettings($session);
# upgrade functions go here
finish($session); # this line required
#----------------------------------------------------------------------------
# Describe what our function does
sub addDeactivateAccountTemplateSettings {
my $session = shift;
print "\tAdd settings for deactivate account... " unless $quiet;
# and here's our code
$session->setting->add('webguiDeactivateAccountTemplate', 'zaHUYsE_PgKk8hnVd8ffEQ');
$session->db->write(<<EOSQL);
ALTER TABLE ldapLink ADD COLUMN ldapDeactivateAccountTemplate CHAR(22) NOT NULL
EOSQL
$session->db->write(<<EOSQL);
UPDATE ldapLink SET ldapDeactivateAccountTemplate='_P4PMiraGsLTfOjK4fYQPQ'
EOSQL
print "DONE!\n" unless $quiet;
}
#----------------------------------------------------------------------------
# Describe what our function does

View file

@ -406,7 +406,7 @@ sub deactivateAccount {
$var{'yes.label'} = $i18n->get(44);
$var{'no.url'} = $self->session->url->page();
$var{'no.label'} = $i18n->get(45);
return WebGUI::Asset::Template->new($self->session,"PBtmpl0000000000000057")->process(\%var);
return WebGUI::Asset::Template->new($self->session,$self->get('getDeactivateAccountTemplateId'))->process(\%var);
}
#-------------------------------------------------------------------
@ -662,6 +662,18 @@ sub getCreateAccountTemplateId {
#-------------------------------------------------------------------
=head2 getDeactivateAccountTemplateId ( )
This method should be overridden by the subclass and should return the template ID for the deactivate account screen.
=cut
sub getDeactivateAccountTemplateId {
return "PBtmpl0000000000000057";
}
#-------------------------------------------------------------------
=head2 getDefaultLoginTemplateId ( )
This method should be overridden by the subclass and should return the default template ID for the login screen.

View file

@ -600,7 +600,22 @@ sub getCreateAccountTemplateId {
my $self = shift;
my $ldapConnect = $self->getLDAPConnection;
return "PBtmpl0000000000000005" unless $ldapConnect;
return ($self->getLDAPConnection->{ldapCreateAccountTemplate} || "PBtmpl0000000000000005");
return ($ldapConnect->{ldapCreateAccountTemplate} || "PBtmpl0000000000000005");
}
#-------------------------------------------------------------------
=head2 getDeactivateAccountTemplateId ( )
Get the default template ID for the deactivate account form.
=cut
sub getDeactivateAccountTemplateId {
my $self = shift;
my $ldapConnect = $self->getLDAPConnection;
return $self->SUPER::getDeactivateAccountTemplateId unless $ldapConnect;
return ($ldapConnect->{ldapDeactivateAccountTemplate} || $self->SUPER::getDeactivateAccountTemplateId);
}
#-------------------------------------------------------------------

View file

@ -580,6 +580,13 @@ sub editUserSettingsForm {
-namespace => "Auth/WebGUI/Create",
-label => $i18n->get("create account template"),
-hoverHelp => $i18n->get("create account template help"),
);
$f->template(
-name => "webguiDeactivateAccountTemplate",
-value => $self->session->setting->get("webguiDeactivateAccountTemplate"),
-namespace => "Auth/WebGUI/Deactivate",
-label => $i18n->get("deactivate account template"),
-hoverHelp => $i18n->get("deactivate account template help"),
);
$f->template(
-name => "webguiExpiredPasswordTemplate",
@ -661,15 +668,16 @@ sub editUserSettingsFormSave {
}
$s->set("webguiPasswordRecoveryRequireUsername", $f->process("webguiPasswordRecoveryRequireUsername","yesNo"));
$s->set("webguiValidateEmail", $f->process("webguiValidateEmail","yesNo"));
$s->set("webguiUseCaptcha", $f->process("webguiUseCaptcha","yesNo"));
$s->set("webguiAccountTemplate", $f->process("webguiAccountTemplate","template"));
$s->set("webguiCreateAccountTemplate", $f->process("webguiCreateAccountTemplate","template"));
$s->set("webguiExpiredPasswordTemplate", $f->process("webguiExpiredPasswordTemplate","template"));
$s->set("webguiLoginTemplate", $f->process("webguiLoginTemplate","template"));
$s->set("webguiPasswordRecoveryTemplate", $f->process("webguiPasswordRecoveryTemplate","template"));
$s->set("webguiWelcomeMessageTemplate", $f->process("webguiWelcomeMessageTemplate","template"));
$s->set("webguiAccountActivationTemplate", $f->process("webguiAccountActivationTemplate","template"));
$s->set("webguiValidateEmail", $f->process("webguiValidateEmail","yesNo"));
$s->set("webguiUseCaptcha", $f->process("webguiUseCaptcha","yesNo"));
$s->set("webguiAccountTemplate", $f->process("webguiAccountTemplate","template"));
$s->set("webguiCreateAccountTemplate", $f->process("webguiCreateAccountTemplate","template"));
$s->set("webguiDeactivateAccountTemplate", $f->process("webguiDeactivateAccountTemplate","template"));
$s->set("webguiExpiredPasswordTemplate", $f->process("webguiExpiredPasswordTemplate","template"));
$s->set("webguiLoginTemplate", $f->process("webguiLoginTemplate","template"));
$s->set("webguiPasswordRecoveryTemplate", $f->process("webguiPasswordRecoveryTemplate","template"));
$s->set("webguiWelcomeMessageTemplate", $f->process("webguiWelcomeMessageTemplate","template"));
$s->set("webguiAccountActivationTemplate", $f->process("webguiAccountActivationTemplate","template"));
if (@errors) {
return \@errors;
@ -691,6 +699,12 @@ sub getCreateAccountTemplateId {
return $self->session->setting->get("webguiCreateAccountTemplate") || "PBtmpl0000000000000011";
}
#-------------------------------------------------------------------
sub getDeactivateAccountTemplateId {
my $self = shift;
return $self->session->setting->get("webguiDeactivateAccountTemplate") || $self->SUPER::getDeactivateAccountTemplateId;
}
#-------------------------------------------------------------------
sub getDefaultLoginTemplateId {
return "PBtmpl0000000000000013";

View file

@ -88,6 +88,7 @@ our $HELP = {
fields => [],
related => [],
},
};
1;

View file

@ -185,6 +185,21 @@ our $HELP = {
fields => [],
related => []
},
'webgui deactivate account template' => {
title => 'deactivate account template title',
body => '',
isa => [
{ namespace => "Auth",
tag => "deactivate account template"
},
],
variables => [
],
fields => [],
related => []
},
};
1;

View file

@ -295,6 +295,13 @@ sub www_editLDAPLink {
-label =>$i18n->get("create account template"),
-hoverHelp =>$i18n->get("create account template description"),
);
$f->template(
-name =>"ldapDeactivateAccountTemplate",
-value =>$form->template("ldapDeactivateAccountTemplate") || $db{ldapDeactivateAccountTemplate},
-namespace =>"Auth/LDAP/Deactivate",
-label =>$i18n->get("deactivate account template"),
-hoverHelp =>$i18n->get("deactivate account template description"),
);
$f->template(
-name =>"ldapLoginTemplate",
-value =>$form->template("ldapLoginTemplate") || $db{ldapLoginTemplate},
@ -340,6 +347,7 @@ sub www_editLDAPLinkSave {
$properties->{ldapWelcomeMessage} = $session->form->textarea("ldapWelcomeMessage");
$properties->{ldapAccountTemplate} = $session->form->template("ldapAccountTemplate");
$properties->{ldapCreateAccountTemplate} = $session->form->template("ldapCreateAccountTemplate");
$properties->{ldapDeactivateAccountTemplate} = $session->form->template("ldapDeactivateAccountTemplate");
$properties->{ldapLoginTemplate} = $session->form->template("ldapLoginTemplate");
$session->db->setRow("ldapLink","ldapLinkId",$properties);
if($session->form->process("returnUrl")) {

View file

@ -74,6 +74,11 @@ our $I18N = {
lastUpdated => 1078852969
},
'deactivate account template' => {
message => q|Deactivate Account Template|,
lastUpdated => 1269278436,
},
'login template' => {
message => q|Login Template|,
lastUpdated => 1078852969
@ -84,6 +89,11 @@ our $I18N = {
lastUpdated => 1184793098
},
'deactivate account template title' => {
message => q|LDAP Authentication Deactivate Account Template Variables|,
lastUpdated => 1269279436,
},
'11' => {
message => q|No connect DN specified for this user|,
lastUpdated => 1071848383
@ -622,6 +632,11 @@ and should be entered as such.</p>|,
lastUpdated => 1120164594,
},
'deactivate account template description' => {
message => q|Template to be used to show the form for deactivating an account.|,
lastUpdated => 1269278461,
},
'login template description' => {
message => q|Template used to display login information to the user as an operation, as opposed to inside of a page via a macro.|,
lastUpdated => 1165512102,

View file

@ -32,6 +32,16 @@ our $I18N = {
lastUpdated => 1078852836,
},
'deactivate account template' => {
message => q|Deactivate Account Template|,
lastUpdated => 1269277147,
},
'deactivate account template help' => {
message => q|Select a template to display the screen where the user deactivates their account.|,
lastUpdated => 1269277148,
},
'expired password template' => {
message => q|Expired Password Template|,
lastUpdated => 1078852836
@ -68,6 +78,12 @@ our $I18N = {
context => q|The title of the help page for the webgui auth account activition mail template.|,
},
'account deactivate account template title' => {
message => q|WebGUI Authentication Deactivate Account Template|,
lastUpdated => 1269279365,
context => q|The title of the help page for the webgui auth account activition mail template.|,
},
'account activation template' => {
message => q|Account Activation Mail Template|,
lastUpdated => 1230600500,