rfe #9981: RedirectAfterLogin Setting

This commit is contained in:
Yung Han Khoe 2009-05-15 18:57:12 +00:00
parent 21452ce58f
commit 5f60eddaa7
5 changed files with 37 additions and 0 deletions

View file

@ -3,6 +3,7 @@
- Added WebGUI community statistics question to the site setup wizard.
- Added Ogone payment plugin ( Martin Kamerbeek / Oqapi )
- Improved VAT number management for admins ( Martin Kamerbeek / Oqapi )
- rfe #9981: RedirectAfterLogin Setting
7.7.6
- Added mobile style template. If enabled in settings, will serve alternate style templates

View file

@ -32,6 +32,7 @@ my $session = start(); # this line required
addOgoneToConfig( $session );
addUseEmailAsUsernameToSettings( $session );
alterVATNumberTable( $session );
addRedirectAfterLoginUrlToSettings( $session );
finish($session); # this line required
@ -56,6 +57,17 @@ sub addUseEmailAsUsernameToSettings {
print "Done.\n" unless $quiet;
}
#----------------------------------------------------------------------------
sub addRedirectAfterLoginUrlToSettings {
my $session = shift;
print "\tAdding redirectAfterLoginUrl to settings \n" unless $quiet;
$session->db->write("insert into settings (name, value) values ('redirectAfterLoginUrl',NULL)");
print "Done.\n" unless $quiet;
}
#----------------------------------------------------------------------------
sub alterVATNumberTable {
my $session = shift;
print "\tAdapting VAT Number table..." unless $quiet;

View file

@ -819,6 +819,9 @@ sub login {
) {
return $self->showMessageOnLogin;
}
elsif ( $self->session->setting->get("redirectAfterLoginUrl") ) {
$self->session->http->setRedirect($self->session->setting->get("redirectAfterLoginUrl"));
}
elsif ( $self->session->form->get('returnUrl') ) {
$self->session->http->setRedirect( $self->session->form->get('returnUrl') );
$self->session->scratch->delete("redirectAfterLogin");
@ -997,6 +1000,7 @@ sub showMessageOnLogin {
# Add the link to continue
my $redirectUrl = $self->session->form->get( 'returnUrl' )
|| $self->session->setting->get("redirectAfterLoginUrl")
|| $self->session->scratch->get( 'redirectAfterLogin' )
|| $self->session->url->getSiteURL . $self->session->url->gateway()
;

View file

@ -452,6 +452,14 @@ sub definition {
defaultValue=>$setting->get("passiveProfilingEnabled"),
extras=>'onchange="alert(\''.$i18n->get("Illegal Warning").'\')" '
});
push @fields, {
tab => "user",
name => "redirectAfterLoginUrl",
fieldType => "url",
defaultValue => $setting->get('redirectAfterLoginUrl'),
label => $i18n->get( 'redirectAfterLoginUrl label' ),
hoverHelp => $i18n->get( 'redirectAfterLoginUrl description' ),
};
push @fields, {
tab => "user",
name => "showMessageOnLogin",

View file

@ -3997,6 +3997,18 @@ LongTruncOk=1</p>
lastUpdated => 1202274234,
},
'redirectAfterLoginUrl label' => {
message => q{Redirect After Login Url},
lastUpdated => 0,
context => q{Label for site setting},
},
'showMessageOnLogin description' => {
message => q{Users will be redirected to this url after logging in.},
lastUpdated => 0,
context => q{Description for site setting},
},
'showMessageOnLogin label' => {
message => q{Show Message On Login?},
lastUpdated => 0,