diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 351c58b1b..32cd22da9 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -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) diff --git a/docs/upgrades/packages-7.9.1/root_import_auth.wgpkg b/docs/upgrades/packages-7.9.1/root_import_auth.wgpkg new file mode 100644 index 000000000..d8ae7932f Binary files /dev/null and b/docs/upgrades/packages-7.9.1/root_import_auth.wgpkg differ diff --git a/docs/upgrades/upgrade_7.9.0-7.9.1.pl b/docs/upgrades/upgrade_7.9.0-7.9.1.pl index 8ede20cca..0971fd390 100644 --- a/docs/upgrades/upgrade_7.9.0-7.9.1.pl +++ b/docs/upgrades/upgrade_7.9.0-7.9.1.pl @@ -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(<db->write(<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. diff --git a/lib/WebGUI/Auth/LDAP.pm b/lib/WebGUI/Auth/LDAP.pm index f2db85138..77f385b0f 100644 --- a/lib/WebGUI/Auth/LDAP.pm +++ b/lib/WebGUI/Auth/LDAP.pm @@ -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); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index 75a49ec96..f96fc4c6b 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -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"; diff --git a/lib/WebGUI/Help/AuthLDAP.pm b/lib/WebGUI/Help/AuthLDAP.pm index 6acb014f2..69ac451dd 100644 --- a/lib/WebGUI/Help/AuthLDAP.pm +++ b/lib/WebGUI/Help/AuthLDAP.pm @@ -88,6 +88,7 @@ our $HELP = { fields => [], related => [], }, + }; 1; diff --git a/lib/WebGUI/Help/AuthWebGUI.pm b/lib/WebGUI/Help/AuthWebGUI.pm index 9eb272195..04cec68f7 100644 --- a/lib/WebGUI/Help/AuthWebGUI.pm +++ b/lib/WebGUI/Help/AuthWebGUI.pm @@ -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; diff --git a/lib/WebGUI/Operation/LDAPLink.pm b/lib/WebGUI/Operation/LDAPLink.pm index 6d8f31f4e..178ccaa00 100644 --- a/lib/WebGUI/Operation/LDAPLink.pm +++ b/lib/WebGUI/Operation/LDAPLink.pm @@ -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")) { diff --git a/lib/WebGUI/i18n/English/AuthLDAP.pm b/lib/WebGUI/i18n/English/AuthLDAP.pm index a92390f74..5e32cf677 100644 --- a/lib/WebGUI/i18n/English/AuthLDAP.pm +++ b/lib/WebGUI/i18n/English/AuthLDAP.pm @@ -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.

|, 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, diff --git a/lib/WebGUI/i18n/English/AuthWebGUI.pm b/lib/WebGUI/i18n/English/AuthWebGUI.pm index d3618d565..a3f2f3bec 100644 --- a/lib/WebGUI/i18n/English/AuthWebGUI.pm +++ b/lib/WebGUI/i18n/English/AuthWebGUI.pm @@ -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,