migrate Settings operation to FormBuilder
This commit is contained in:
parent
98816c4b6b
commit
a3a5d44a7b
6 changed files with 261 additions and 197 deletions
|
|
@ -69,16 +69,16 @@ sub editUserSettingsForm {
|
|||
my ( $setting ) = $session->quick(qw( setting ));
|
||||
my $i18n = WebGUI::International->new( $session, 'Auth_Facebook' );
|
||||
|
||||
my $f = WebGUI::HTMLForm->new( $session );
|
||||
my $f = WebGUI::FormBuilder->new( $session );
|
||||
|
||||
$f->yesNo(
|
||||
$f->addField( "yesNo",
|
||||
name => 'facebookAuthEnabled',
|
||||
value => $setting->get( 'facebookAuthEnabled' ),
|
||||
label => $i18n->get('enabled'),
|
||||
hoverHelp => $i18n->get('enabled help'),
|
||||
);
|
||||
|
||||
$f->text(
|
||||
$f->addField( "text",
|
||||
name => 'facebookAuthAppId',
|
||||
value => $setting->get( 'facebookAuthAppId' ),
|
||||
label => $i18n->get('app id'),
|
||||
|
|
@ -86,14 +86,14 @@ sub editUserSettingsForm {
|
|||
subtext => $i18n->get('get app id'),
|
||||
);
|
||||
|
||||
$f->text(
|
||||
$f->addField( "text",
|
||||
name => 'facebookAuthSecret',
|
||||
value => $setting->get( 'facebookAuthSecret' ),
|
||||
label => $i18n->get('secret'),
|
||||
hoverHelp => $i18n->get('secret help'),
|
||||
);
|
||||
|
||||
$f->template(
|
||||
$f->addField( "template",
|
||||
name => 'facebookAuthTemplateIdChooseUsername',
|
||||
value => $setting->get( 'facebookAuthTemplateIdChooseUsername' ),
|
||||
label => $i18n->get('choose username template'),
|
||||
|
|
@ -101,7 +101,7 @@ sub editUserSettingsForm {
|
|||
namespace => 'Auth/Facebook/ChooseUsername',
|
||||
);
|
||||
|
||||
return $f->printRowsOnly;
|
||||
return $f;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ package WebGUI::Auth::LDAP;
|
|||
|
||||
use strict;
|
||||
use WebGUI::Auth;
|
||||
use WebGUI::HTMLForm;
|
||||
use WebGUI::FormBuilder;
|
||||
use WebGUI::Form;
|
||||
use WebGUI::LDAPLink;
|
||||
use WebGUI::Workflow;
|
||||
|
|
@ -327,21 +327,9 @@ sub editUserFormSave {
|
|||
|
||||
sub editUserSettingsForm {
|
||||
my $self = shift;
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
my $ldapConnection = WebGUI::Form::selectBox($self->session, {
|
||||
name=>"ldapConnection",
|
||||
options=>WebGUI::LDAPLink->getList($self->session,),
|
||||
value=>[$self->session->setting->get("ldapConnection")]
|
||||
});
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthLDAP');
|
||||
my $ldapConnectionLabel = $i18n->get("ldapConnection");
|
||||
my $buttons = "";
|
||||
if($self->session->setting->get("ldapConnection")) {
|
||||
$buttons = $self->session->icon->edit("op=editLDAPLink;returnUrl=".$self->session->url->escape($self->session->url->page("op=editSettings")).";llid=".$self->session->setting->get("ldapConnection"));
|
||||
}
|
||||
$buttons .= $self->session->icon->manage("op=listLDAPLinks;returnUrl=".$self->session->url->escape($self->session->url->page("op=editSettings")));
|
||||
$f->raw(qq|<tr><td class="formDescription" valign="top" style="width: 25%;">$ldapConnectionLabel</td><td class="tableData" style="width: 75%;">$ldapConnection $buttons</td></tr>|);
|
||||
return $f->printRowsOnly;
|
||||
my $f = WebGUI::FormBuilder->new($self->session);
|
||||
$f->addField( "LdapLink", name => "ldapConnection" );
|
||||
return $f;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -69,16 +69,16 @@ sub editUserSettingsForm {
|
|||
|
||||
my $keyUrl = 'http://dev.twitter.com/apps/new';
|
||||
|
||||
my $f = WebGUI::HTMLForm->new( $session );
|
||||
my $f = WebGUI::FormBuilder->new( $session );
|
||||
|
||||
$f->yesNo(
|
||||
$f->addField( "yesNo",
|
||||
name => 'twitterEnabled',
|
||||
value => $setting->get( 'twitterEnabled' ),
|
||||
label => $i18n->get('enabled'),
|
||||
hoverHelp => $i18n->get('enabled help'),
|
||||
);
|
||||
|
||||
$f->text(
|
||||
$f->addField( "text",
|
||||
name => 'twitterConsumerKey',
|
||||
value => $setting->get( 'twitterConsumerKey' ),
|
||||
label => $i18n->get('consumer key'),
|
||||
|
|
@ -86,14 +86,14 @@ sub editUserSettingsForm {
|
|||
subtext => sprintf( $i18n->get('get key'), ($keyUrl) x 2 ),
|
||||
);
|
||||
|
||||
$f->text(
|
||||
$f->addField( "text",
|
||||
name => 'twitterConsumerSecret',
|
||||
value => $setting->get( 'twitterConsumerSecret' ),
|
||||
label => $i18n->get('consumer secret'),
|
||||
hoverHelp => $i18n->get('consumer secret help'),
|
||||
);
|
||||
|
||||
$f->template(
|
||||
$f->addField( "template",
|
||||
name => 'twitterTemplateIdChooseUsername',
|
||||
value => $setting->get( 'twitterTemplateIdChooseUsername' ),
|
||||
label => $i18n->get('choose username template'),
|
||||
|
|
@ -101,7 +101,7 @@ sub editUserSettingsForm {
|
|||
namespace => 'Auth/Twitter/ChooseUsername',
|
||||
);
|
||||
|
||||
return $f->printRowsOnly;
|
||||
return $f;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ use strict;
|
|||
use URI;
|
||||
use WebGUI::Asset::Template;
|
||||
use WebGUI::Auth;
|
||||
use WebGUI::HTMLForm;
|
||||
use WebGUI::FormBuilder;
|
||||
use WebGUI::Macro;
|
||||
use WebGUI::Mail::Send;
|
||||
use WebGUI::Storage;
|
||||
|
|
@ -154,39 +154,39 @@ or an empty string if the check was successful.
|
|||
sub editUserForm {
|
||||
my $self = shift;
|
||||
my $userData = $self->get;
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
my $f = WebGUI::FormBuilder->new($self->session);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$f->password(
|
||||
$f->addField( "password",
|
||||
name=>"authWebGUI.identifier",
|
||||
label=>$i18n->get(51),
|
||||
value=>"password",
|
||||
extras=>'autocomplete="off"',
|
||||
);
|
||||
$f->interval(
|
||||
-name=>"authWebGUI.passwordTimeout",
|
||||
-label=>$i18n->get(16,'AuthWebGUI'),
|
||||
-value=>$userData->{passwordTimeout},
|
||||
-defaultValue=>$self->session->setting->get("webguiPasswordTimeout")
|
||||
$f->addField( "interval",
|
||||
name=>"authWebGUI.passwordTimeout",
|
||||
label=>$i18n->get(16,'AuthWebGUI'),
|
||||
value=>$userData->{passwordTimeout},
|
||||
defaultValue=>$self->session->setting->get("webguiPasswordTimeout")
|
||||
);
|
||||
my $userChange = $self->session->setting->get("webguiChangeUsername");
|
||||
if($userChange || $userChange eq "0"){
|
||||
$userChange = $userData->{changeUsername};
|
||||
}
|
||||
$f->yesNo(
|
||||
-name=>"authWebGUI.changeUsername",
|
||||
-value=>$userChange,
|
||||
-label=>$i18n->get(21,'AuthWebGUI')
|
||||
$f->addField( "yesNo",
|
||||
name=>"authWebGUI.changeUsername",
|
||||
value=>$userChange,
|
||||
label=>$i18n->get(21,'AuthWebGUI')
|
||||
);
|
||||
my $passwordChange = $self->session->setting->get("webguiChangePassword");
|
||||
if($passwordChange || $passwordChange eq "0"){
|
||||
$passwordChange = $userData->{changePassword};
|
||||
}
|
||||
$f->yesNo(
|
||||
-name=>"authWebGUI.changePassword",
|
||||
-value=>$passwordChange,
|
||||
-label=>$i18n->get(20,'AuthWebGUI')
|
||||
$f->addField( "yesNo",
|
||||
name=>"authWebGUI.changePassword",
|
||||
value=>$passwordChange,
|
||||
label=>$i18n->get(20,'AuthWebGUI')
|
||||
);
|
||||
return $f->printRowsOnly;
|
||||
return $f;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -233,165 +233,165 @@ sub editUserFormSave {
|
|||
sub editUserSettingsForm {
|
||||
my $self = shift;
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthWebGUI');
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
my $f = WebGUI::FormBuilder->new($self->session);
|
||||
|
||||
$f->integer(
|
||||
-name => "webguiPasswordLength",
|
||||
-value => $self->session->setting->get("webguiPasswordLength"),
|
||||
-label => $i18n->get(15),
|
||||
-hoverHelp => $i18n->get('15 help'),
|
||||
$f->addField( "integer",
|
||||
name => "webguiPasswordLength",
|
||||
value => $self->session->setting->get("webguiPasswordLength"),
|
||||
label => $i18n->get(15),
|
||||
hoverHelp => $i18n->get('15 help'),
|
||||
);
|
||||
$f->integer(
|
||||
-name => "webguiRequiredDigits",
|
||||
-label => $i18n->get('setting webguiRequiredDigits'),
|
||||
-value => $self->session->setting->get("webguiRequiredDigits"),
|
||||
-hoverHelp => $i18n->get('setting webguiRequiredDigits help'),
|
||||
$f->addField( "integer",
|
||||
name => "webguiRequiredDigits",
|
||||
label => $i18n->get('setting webguiRequiredDigits'),
|
||||
value => $self->session->setting->get("webguiRequiredDigits"),
|
||||
hoverHelp => $i18n->get('setting webguiRequiredDigits help'),
|
||||
);
|
||||
$f->integer(
|
||||
-name => "webguiNonWordCharacters",
|
||||
-label => $i18n->get('setting webguiNonWordCharacters'),
|
||||
-value => $self->session->setting->get("webguiNonWordCharacters"),
|
||||
-hoverHelp => $i18n->get('setting webguiNonWordCharacters help'),
|
||||
$f->addField( "integer",
|
||||
name => "webguiNonWordCharacters",
|
||||
label => $i18n->get('setting webguiNonWordCharacters'),
|
||||
value => $self->session->setting->get("webguiNonWordCharacters"),
|
||||
hoverHelp => $i18n->get('setting webguiNonWordCharacters help'),
|
||||
);
|
||||
$f->integer(
|
||||
-name => "webguiRequiredMixedCase",
|
||||
-label => $i18n->get('setting webguiRequiredMixedCase'),
|
||||
-value => $self->session->setting->get("webguiRequiredMixedCase"),
|
||||
-hoverHelp => $i18n->get('setting webguiRequiredMixedCase help'),
|
||||
$f->addField( "integer",
|
||||
name => "webguiRequiredMixedCase",
|
||||
label => $i18n->get('setting webguiRequiredMixedCase'),
|
||||
value => $self->session->setting->get("webguiRequiredMixedCase"),
|
||||
hoverHelp => $i18n->get('setting webguiRequiredMixedCase help'),
|
||||
);
|
||||
$f->interval(
|
||||
-name => "webguiPasswordTimeout",
|
||||
-label => $i18n->get(16),
|
||||
-value => $self->session->setting->get("webguiPasswordTimeout"),
|
||||
-hoverHelp => $i18n->get('16 help'),
|
||||
$f->addField( "interval",
|
||||
name => "webguiPasswordTimeout",
|
||||
label => $i18n->get(16),
|
||||
value => $self->session->setting->get("webguiPasswordTimeout"),
|
||||
hoverHelp => $i18n->get('16 help'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiExpirePasswordOnCreation",
|
||||
-value => $self->session->setting->get("webguiExpirePasswordOnCreation"),
|
||||
-label => $i18n->get(9),
|
||||
-hoverHelp => $i18n->get('9 help')
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiExpirePasswordOnCreation",
|
||||
value => $self->session->setting->get("webguiExpirePasswordOnCreation"),
|
||||
label => $i18n->get(9),
|
||||
hoverHelp => $i18n->get('9 help')
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiSendWelcomeMessage",
|
||||
-value => $self->session->setting->get("webguiSendWelcomeMessage"),
|
||||
-label => $i18n->get(868,'WebGUI'),
|
||||
-hoverHelp => $i18n->get('868 help','WebGUI'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiSendWelcomeMessage",
|
||||
value => $self->session->setting->get("webguiSendWelcomeMessage"),
|
||||
label => $i18n->get(868,'WebGUI'),
|
||||
hoverHelp => $i18n->get('868 help','WebGUI'),
|
||||
);
|
||||
$f->HTMLArea(
|
||||
-name => "webguiWelcomeMessage",
|
||||
-value => $self->session->setting->get("webguiWelcomeMessage"),
|
||||
-label => $i18n->get(869,'WebGUI'),
|
||||
-hoverHelp => $i18n->get('869 help','WebGUI'),
|
||||
$f->addField( "HTMLArea",
|
||||
name => "webguiWelcomeMessage",
|
||||
value => $self->session->setting->get("webguiWelcomeMessage"),
|
||||
label => $i18n->get(869,'WebGUI'),
|
||||
hoverHelp => $i18n->get('869 help','WebGUI'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiUseEmailAsUsername",
|
||||
-value => $self->session->setting->get("webguiUseEmailAsUsername"),
|
||||
-label => $i18n->get('use email as username label'),
|
||||
-hoverHelp => $i18n->get('use email as username description'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiUseEmailAsUsername",
|
||||
value => $self->session->setting->get("webguiUseEmailAsUsername"),
|
||||
label => $i18n->get('use email as username label'),
|
||||
hoverHelp => $i18n->get('use email as username description'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiChangeUsername",
|
||||
-value => $self->session->setting->get("webguiChangeUsername"),
|
||||
-label => $i18n->get(19),
|
||||
-hoverHelp => $i18n->get('19 help'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiChangeUsername",
|
||||
value => $self->session->setting->get("webguiChangeUsername"),
|
||||
label => $i18n->get(19),
|
||||
hoverHelp => $i18n->get('19 help'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiChangePassword",
|
||||
-value => $self->session->setting->get("webguiChangePassword"),
|
||||
-label => $i18n->get(18),
|
||||
-hoverHelp => $i18n->get('18 help'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiChangePassword",
|
||||
value => $self->session->setting->get("webguiChangePassword"),
|
||||
label => $i18n->get(18),
|
||||
hoverHelp => $i18n->get('18 help'),
|
||||
);
|
||||
$f->selectList(
|
||||
-name => "webguiPasswordRecovery",
|
||||
-value => $self->session->setting->get("webguiPasswordRecovery"),
|
||||
-label => $i18n->get(6),
|
||||
-hoverHelp => $i18n->get('webguiPasswordRecovery hoverHelp'),
|
||||
-options => $self->getPasswordRecoveryTypesAvailable,
|
||||
-size => 1,
|
||||
-multiple => 0,
|
||||
$f->addField( "selectList",
|
||||
name => "webguiPasswordRecovery",
|
||||
value => $self->session->setting->get("webguiPasswordRecovery"),
|
||||
label => $i18n->get(6),
|
||||
hoverHelp => $i18n->get('webguiPasswordRecovery hoverHelp'),
|
||||
options => $self->getPasswordRecoveryTypesAvailable,
|
||||
size => 1,
|
||||
multiple => 0,
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiPasswordRecoveryRequireUsername",
|
||||
-value => $self->session->setting->get("webguiPasswordRecoveryRequireUsername"),
|
||||
-label => $i18n->get('require username for password recovery'),
|
||||
-hoverHelp => $i18n->get('webguiPasswordRecoveryRequireUsername hoverHelp'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiPasswordRecoveryRequireUsername",
|
||||
value => $self->session->setting->get("webguiPasswordRecoveryRequireUsername"),
|
||||
label => $i18n->get('require username for password recovery'),
|
||||
hoverHelp => $i18n->get('webguiPasswordRecoveryRequireUsername hoverHelp'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiValidateEmail",
|
||||
-value => $self->session->setting->get("webguiValidateEmail"),
|
||||
-label => $i18n->get('validate email'),
|
||||
-hoverHelp => $i18n->get('validate email help'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiValidateEmail",
|
||||
value => $self->session->setting->get("webguiValidateEmail"),
|
||||
label => $i18n->get('validate email'),
|
||||
hoverHelp => $i18n->get('validate email help'),
|
||||
);
|
||||
$f->yesNo(
|
||||
-name => "webguiUseCaptcha",
|
||||
-value => $self->session->setting->get("webguiUseCaptcha"),
|
||||
-label => $i18n->get('use captcha'),
|
||||
-hoverHelp => $i18n->get('use captcha help'),
|
||||
$f->addField( "yesNo",
|
||||
name => "webguiUseCaptcha",
|
||||
value => $self->session->setting->get("webguiUseCaptcha"),
|
||||
label => $i18n->get('use captcha'),
|
||||
hoverHelp => $i18n->get('use captcha help'),
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiAccountTemplate",
|
||||
-value => $self->session->setting->get("webguiAccountTemplate"),
|
||||
-namespace => "Auth/WebGUI/Account",
|
||||
-label => $i18n->get("account template"),
|
||||
-hoverHelp => $i18n->get("account template help"),
|
||||
$f->addField( "template",
|
||||
name => "webguiAccountTemplate",
|
||||
value => $self->session->setting->get("webguiAccountTemplate"),
|
||||
namespace => "Auth/WebGUI/Account",
|
||||
label => $i18n->get("account template"),
|
||||
hoverHelp => $i18n->get("account template help"),
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiCreateAccountTemplate",
|
||||
-value => $self->session->setting->get("webguiCreateAccountTemplate"),
|
||||
-namespace => "Auth/WebGUI/Create",
|
||||
-label => $i18n->get("create account template"),
|
||||
-hoverHelp => $i18n->get("create account template help"),
|
||||
$f->addField( "template",
|
||||
name => "webguiCreateAccountTemplate",
|
||||
value => $self->session->setting->get("webguiCreateAccountTemplate"),
|
||||
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->addField( "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",
|
||||
-value => $self->session->setting->get("webguiExpiredPasswordTemplate"),
|
||||
-namespace => "Auth/WebGUI/Expired",
|
||||
-label => $i18n->get("expired password template"),
|
||||
-hoverHelp => $i18n->get("expired password template"),
|
||||
$f->addField( "template",
|
||||
name => "webguiExpiredPasswordTemplate",
|
||||
value => $self->session->setting->get("webguiExpiredPasswordTemplate"),
|
||||
namespace => "Auth/WebGUI/Expired",
|
||||
label => $i18n->get("expired password template"),
|
||||
hoverHelp => $i18n->get("expired password template"),
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiLoginTemplate",
|
||||
-value => $self->session->setting->get("webguiLoginTemplate"),
|
||||
-namespace => "Auth/WebGUI/Login",
|
||||
-label => $i18n->get("login template"),
|
||||
-hoverHelp => $i18n->get("login template help"),
|
||||
$f->addField( "template",
|
||||
name => "webguiLoginTemplate",
|
||||
value => $self->session->setting->get("webguiLoginTemplate"),
|
||||
namespace => "Auth/WebGUI/Login",
|
||||
label => $i18n->get("login template"),
|
||||
hoverHelp => $i18n->get("login template help"),
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiPasswordRecoveryTemplate",
|
||||
-value => $self->session->setting->get("webguiPasswordRecoveryTemplate"),
|
||||
-namespace => "Auth/WebGUI/Recovery2",
|
||||
-label => $i18n->get("password recovery template"),
|
||||
-hoverHelp => $i18n->get("password recovery template help")
|
||||
$f->addField( "template",
|
||||
name => "webguiPasswordRecoveryTemplate",
|
||||
value => $self->session->setting->get("webguiPasswordRecoveryTemplate"),
|
||||
namespace => "Auth/WebGUI/Recovery2",
|
||||
label => $i18n->get("password recovery template"),
|
||||
hoverHelp => $i18n->get("password recovery template help")
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiPasswordRecoveryEmailTemplate",
|
||||
-value => $self->session->setting->get('webguiPasswordRecoveryEmailTemplate'),
|
||||
-label => $i18n->get('Password Recovery Email Template'),
|
||||
-hoverHelp => $i18n->get("password recovery email template help"),
|
||||
-namespace => "Auth/WebGUI/RecoveryEmail",
|
||||
$f->addField( "template",
|
||||
name => "webguiPasswordRecoveryEmailTemplate",
|
||||
value => $self->session->setting->get('webguiPasswordRecoveryEmailTemplate'),
|
||||
label => $i18n->get('Password Recovery Email Template'),
|
||||
hoverHelp => $i18n->get("password recovery email template help"),
|
||||
namespace => "Auth/WebGUI/RecoveryEmail",
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiWelcomeMessageTemplate",
|
||||
-value => $self->session->setting->get("webguiWelcomeMessageTemplate"),
|
||||
-namespace => "Auth/WebGUI/Welcome",
|
||||
-label => $i18n->get("welcome message template"),
|
||||
-hoverHelp => $i18n->get("welcome message template help")
|
||||
$f->addField( "template",
|
||||
name => "webguiWelcomeMessageTemplate",
|
||||
value => $self->session->setting->get("webguiWelcomeMessageTemplate"),
|
||||
namespace => "Auth/WebGUI/Welcome",
|
||||
label => $i18n->get("welcome message template"),
|
||||
hoverHelp => $i18n->get("welcome message template help")
|
||||
);
|
||||
$f->template(
|
||||
-name => "webguiAccountActivationTemplate",
|
||||
-value => $self->session->setting->get("webguiAccountActivationTemplate"),
|
||||
-namespace => "Auth/WebGUI/Activation",
|
||||
-label => $i18n->get("account activation template"),
|
||||
-hoverHelp => $i18n->get("account activation template help")
|
||||
$f->addField( "template",
|
||||
name => "webguiAccountActivationTemplate",
|
||||
value => $self->session->setting->get("webguiAccountActivationTemplate"),
|
||||
namespace => "Auth/WebGUI/Activation",
|
||||
label => $i18n->get("account activation template"),
|
||||
hoverHelp => $i18n->get("account activation template help")
|
||||
);
|
||||
return $f->printRowsOnly;
|
||||
return $f;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -606,6 +606,14 @@ sub www_editSettings {
|
|||
$output .= '</ul>';
|
||||
}
|
||||
|
||||
# Start the form
|
||||
my $tabform = WebGUI::FormBuilder->new($session, action => '?op=saveSettings' );
|
||||
$tabform->addField( 'csrfToken', name => 'csrfToken' );
|
||||
$tabform->addField( "hidden",
|
||||
name => "op",
|
||||
value => "saveSettings"
|
||||
);
|
||||
|
||||
# Available tabs
|
||||
# TODO: Build this from the definition instead.
|
||||
tie my %tabs, 'Tie::IxHash', (
|
||||
|
|
@ -619,25 +627,19 @@ sub www_editSettings {
|
|||
auth => { label => $i18n->get("authentication") },
|
||||
perms => { label => $i18n->get("permissions") },
|
||||
);
|
||||
|
||||
# Start the form
|
||||
my $tabform = WebGUI::TabForm->new($session,\%tabs);
|
||||
$tabform->hidden({
|
||||
name => "op",
|
||||
value => "saveSettings"
|
||||
});
|
||||
for my $tabName ( keys %tabs ) {
|
||||
$tabform->addTab( name => $tabName, %{$tabs{$tabName}} );
|
||||
}
|
||||
|
||||
my $definitions = definition($session, $i18n);
|
||||
foreach my $definition (@{$definitions}) {
|
||||
$tabform->getTab($definition->{tab})->dynamicField(%{$definition});
|
||||
$tabform->getTab($definition->{tab})->addField( $definition->{fieldType}, %$definition );
|
||||
}
|
||||
|
||||
# Get fieldsets for avaiable auth methods
|
||||
foreach (@{$session->config->get("authMethods")}) {
|
||||
$tabform->getTab("auth")->fieldSetStart($_);
|
||||
foreach my $authName (@{$session->config->get("authMethods")}) {
|
||||
my $authInstance = WebGUI::Operation::Auth::getInstance($session,$_,1);
|
||||
$tabform->getTab("auth")->raw($authInstance->editUserSettingsForm);
|
||||
$tabform->getTab("auth")->fieldSetEnd;
|
||||
$tabform->getTab( "auth" )->addFieldset( $authInstance->editUserSettingsForm, name => $authName, label => $authName );
|
||||
}
|
||||
|
||||
# Get fieldsets for avaiable account methods
|
||||
|
|
@ -660,20 +662,18 @@ sub www_editSettings {
|
|||
}
|
||||
|
||||
#If editUserSettingsForm is empty, skip it
|
||||
next if $settingsForm eq "";
|
||||
next unless $settingsForm;
|
||||
|
||||
#Set the title of the fieldset
|
||||
my $title = $account->{title};
|
||||
WebGUI::Macro::process($title);
|
||||
|
||||
#Print the settings form for this account pluggin
|
||||
$tabform->getTab("account")->fieldSetStart($title);
|
||||
$tabform->getTab("account")->raw($settingsForm);
|
||||
$tabform->getTab("account")->fieldSetEnd;
|
||||
$tabform->getTab("account")->addFieldset( $settingsForm, name => $account->{identifier}, label => $title );
|
||||
}
|
||||
|
||||
$tabform->submit();
|
||||
$output .= $tabform->print;
|
||||
$tabform->addField( "submit", name => "submit" );
|
||||
$output .= $tabform->toHtml;
|
||||
|
||||
my $ac = WebGUI::AdminConsole->new($session,"settings");
|
||||
return $ac->render($output);
|
||||
|
|
@ -707,6 +707,7 @@ sub www_saveSettings {
|
|||
|
||||
my $authErrors = $authInstance->editUserSettingsFormSave;
|
||||
if ($authErrors) {
|
||||
$session->log->warn( "Problem saving settings: " . $authErrors );
|
||||
push @errors, @{ $authErrors };
|
||||
}
|
||||
}
|
||||
|
|
|
|||
75
t/Operation/Settings.t
Normal file
75
t/Operation/Settings.t
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# vim:syntax=perl
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 Plain Black Corporation.
|
||||
#-------------------------------------------------------------------
|
||||
# Please read the legal notices (docs/legal.txt) and the license
|
||||
# (docs/license.txt) that came with this distribution before using
|
||||
# this software.
|
||||
#------------------------------------------------------------------
|
||||
# http://www.plainblack.com info@plainblack.com
|
||||
#------------------------------------------------------------------
|
||||
|
||||
# Write a little about what this script tests.
|
||||
#
|
||||
#
|
||||
|
||||
use FindBin;
|
||||
use strict;
|
||||
use lib "$FindBin::Bin/lib";
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use WebGUI::Test; # Must use this before any other WebGUI modules
|
||||
use WebGUI::Test::Mechanize;
|
||||
use WebGUI::Session;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Init
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Tests
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Edit some settings up in here
|
||||
|
||||
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
|
||||
$mech->get_ok( '/' );
|
||||
$mech->session->user({ userId => 3 });
|
||||
|
||||
my %newSettings = (
|
||||
# Test some normal settings
|
||||
companyName => 'Shawshank Penetentiary',
|
||||
companyEmail => 'warden@shawshank.justice.gov',
|
||||
|
||||
# Test some Auth settings
|
||||
facebookAuthEnabled => 1,
|
||||
ldapConnection => 'SOME_RANDOM_ID',
|
||||
twitterEnabled => 1,
|
||||
webguiPasswordLength => 9_001,
|
||||
|
||||
# Test some Account settings
|
||||
overrideAbleToBeFriend => 1,
|
||||
inboxInviteUserSubject => 'Your incarceration adventure begins here!',
|
||||
);
|
||||
|
||||
$mech->get_ok( '/?op=editSettings' );
|
||||
$mech->submit_form_ok({
|
||||
fields => \%newSettings,
|
||||
},
|
||||
"Settings edited"
|
||||
);
|
||||
|
||||
my $testSettings = $session->db->buildHashRef("select * from settings", [], {noOrder => 1});
|
||||
cmp_deeply(
|
||||
$testSettings,
|
||||
superhashof( \%newSettings ),
|
||||
"Settings are set",
|
||||
);
|
||||
|
||||
diag $mech->content;
|
||||
diag explain $testSettings;
|
||||
|
||||
done_testing;
|
||||
|
||||
#vim:ft=perl
|
||||
Loading…
Add table
Add a link
Reference in a new issue