Remove trailing whitespaces

This commit is contained in:
Xavier Guimard 2019-04-03 14:15:16 +02:00
parent 141ba96c92
commit ece9b21219
34 changed files with 66 additions and 67 deletions

View File

@ -28,7 +28,7 @@ Before release
Replace https://lemonldap-ng.org/documentation/X.X/parameterlist by
/tmp/prmlist.txt content
$ make documentation
- Update changelog:
@ -56,7 +56,7 @@ For major release
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
- Change "latest" symlink in dokuwiki
- Change "latest" symlink in dokuwiki
- Edit scripts/doc.pl in trunk to point on the new documentation path

View File

@ -765,7 +765,7 @@ lemonldap-ng (1.4.0) stable; urgency=low
* [LEMONLDAP-712] - strange behaviour with session cache
* [LEMONLDAP-386] - use LL::NG::Handler instead of custom perl module in apache config
* [LEMONLDAP-430] - httpSession and updateSession + deleteSessionFromLocalStorage optimization
* [LEMONLDAP-591] - Portal should refresh their configuration cache on expiration
* [LEMONLDAP-591] - Portal should refresh their configuration cache on expiration
* [LEMONLDAP-600] - Rewrite object libs with Moo or Mouse
* [LEMONLDAP-636] - Manage exported variables per UserDB module
* [LEMONLDAP-648] - Build French documentation in Makefile
@ -868,7 +868,7 @@ lemonldap-ng (1.3.0) stable; urgency=low
Common
* [LEMONLDAP-412] - Passwrd policy expiration warning time not friendly
displayed
* [LEMONLDAP-493] - Make LL::NG's rpm spec file more portable
* [LEMONLDAP-493] - Make LL::NG's rpm spec file more portable
* [LEMONLDAP-500] - do not burden config in memory with useless things
* [LEMONLDAP-524] - minimize weight of relaystate in SAML session backend
* [LEMONLDAP-559] - Refine useXForwardedForIP option by setting trusted
@ -900,7 +900,7 @@ lemonldap-ng (1.3.0) stable; urgency=low
session
* [LEMONLDAP-613] - Log applied rule in debug mode
* [LEMONLDAP-615] - Add AuthGoogle module
* [LEMONLDAP-617] - [SAML] Allow to skip the IDP selection
* [LEMONLDAP-617] - [SAML] Allow to skip the IDP selection
* [LEMONLDAP-621] - Config storage in JSON file
* [LEMONLDAP-623] - WebID authentication and user DB modules
* [LEMONLDAP-632] - Rename liblemonldap-ng-conf-perl to
@ -1065,7 +1065,7 @@ lemonldap-ng (1.2.0) stable; urgency=low
* [LEMONLDAP-371] - custom function declaration doesn't work through
management UI
* [LEMONLDAP-373] - Field values lost in manager
* [LEMONLDAP-375] - empty query string in redirect url
* [LEMONLDAP-375] - empty query string in redirect url
* [LEMONLDAP-376] - wrong authentication mode stored in session with
authMulti when SSLRequire set to 0
* [LEMONLDAP-380] - Mail reset session not destroyed when password is
@ -1105,7 +1105,7 @@ lemonldap-ng (1.2.0) stable; urgency=low
* [LEMONLDAP-446] - Server error when a password mail reset session is
unavailable and the token is passed to mail.pl
* [LEMONLDAP-447] - Bad identifier in grantSession logs
* [LEMONLDAP-448] - defined(%hash) is deprecated
* [LEMONLDAP-448] - defined(%hash) is deprecated
* [LEMONLDAP-450] - SAML Authn not working with binding HTTP Redirect
* [LEMONLDAP-454] - Replace $ip with client IP in forging HTTP headers
doesn't work
@ -1280,14 +1280,14 @@ lemonldap-ng (1.1.0) stable; urgency=low
* [LEMONLDAP-348] - Possibility to access menu tab with an URL
lemonldap-ng (1.0.6) stable; urgency=low
* [LEMONLDAP-297] - LDAP attributes are not explicitely requested
* [LEMONLDAP-298] - Multi option with # not accepted in Manager
* [LEMONLDAP-304] - Cannot use spaces between values of Multi
authentication
parameter
* [LEMONLDAP-305] - Parameters are not overriden in the first Multi module
* [LEMONLDAP-307] - Base64 encoded IDs can contain more than one "/", but
* [LEMONLDAP-307] - Base64 encoded IDs can contain more than one "/", but
only the first is escaped
lemonldap-ng (1.0.5) stable; urgency=low
@ -1983,7 +1983,7 @@ lemonldap-ng (0.7b11) unstable; urgency=low
* New features:
- Cross Domain Authentication
- SOAP configuration access
- READMEs and documentation update
- READMEs and documentation update
-- Xavier Guimard <x.guimard@free.fr> Tue, 27 Feb 2007 15:01:09 +0100

View File

@ -8,7 +8,7 @@ respawn
pre-start script
[ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; }
end script
end script
exec mkdir /var/run/llng-fastcgi-server; chown www-data:www-data /var/run/llng-fastcgi-server && /usr/sbin/llng-fastcgi-server -u www-data -g www-data -s /var/run/llng-fastcgi-server/llng-fastcgi.sock -p /var/run/llng-fastcgi-server/llng-fastcgi-server.pid

2
debian/tests/runner vendored
View File

@ -30,7 +30,7 @@ for LLLIB in $LIST; do
if [ -f "$SKIPLIST" ]; then
grep -v '^ *#' "$SKIPLIST" |grep -v '^ *$' > "$SKIPTMP"
fi
for T in $(run-parts --list --regex '(^[a-z0-9.]+$)' ${TESTDIR} | \
grep -v -F -f "$SKIPTMP") ; do
if echo "$T" | grep -q '\.t$'

View File

@ -60,7 +60,7 @@ describe('00 Lemonldap::NG', function() {
it('should authenticate with history', function() {
expect(browser.driver.findElement(by.css('[trspan="back2Portal"]')).getText()).toEqual('Retourner au portail');
browser.driver.findElement(by.css('[trspan="back2Portal"]')).click();
// Failed login attempt
browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho');
browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('ohwd');
@ -68,7 +68,7 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
expect(browser.driver.findElement(by.css('[trmsg="5"]')).getText()).toEqual('Mot de passe ou identifiant incorrect');
browser.driver.findElement(by.css('[trspan="goToPortal"]')).click();
// Login attempt
browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho');
browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('dwho');
@ -111,4 +111,4 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
});
});
});
});

View File

@ -64,7 +64,7 @@ describe('10 Lemonldap::NG', function() {
expect(links[2].getText()).toEqual('Gestionnaire 2ndFA');
expect(links[3].getText()).toEqual('Aller au portail');
expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Votre nouvelle clef TOTP. Testez-la et entrez le code');
// Submit an empty form
browser.driver.findElement(by.id('verify')).click();
expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Remplissez le formulaire');

View File

@ -8,7 +8,7 @@ respawn
pre-start script
[ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; }
end script
end script
exec mkdir __FASTCGISOCKDIR__; chown __USER__:__GROUP__ __FASTCGISOCKDIR__ && /usr/sbin/llng-fastcgi-server -u __USER__ -g __GROUP__ -s __FASTCGISOCKDIR__/llng-fastcgi.sock -p __FASTCGISOCKDIR__/llng-fastcgi-server.pid

View File

@ -347,7 +347,7 @@ __DATA__
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
</AttributeAuthorityDescriptor>
</TMPL_UNLESS>
<Organization>
<OrganizationName xml:lang="en"><TMPL_VAR NAME="samlOrganizationName"></OrganizationName>
<OrganizationDisplayName xml:lang="en"><TMPL_VAR NAME="samlOrganizationDisplayName"></OrganizationDisplayName>

View File

@ -481,7 +481,7 @@ Syslog facility. If empty, STDERR will be used for logging
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS

View File

@ -187,7 +187,7 @@ Example:
# Set headers
$req->respHeaders( "Location" => "http://x.y.z/", Etag => "XYZ", );
# Add header
$req->respHeaders->{"X-Key"} = "Value";
$req->respHeaders->{"X-Key"} = "Value";
=head2 set_param( $key, $value )
@ -220,7 +220,7 @@ contains "application/json" or "text/json").
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Common::PSGI>,
L<Lemonldap::NG::Hander::PSGI>, L<Plack::Request>,
L<Lemonldap::NG::Portal::Main::Constants>,
L<Lemonldap::NG::Portal::Main::Constants>,
=head1 AUTHORS

View File

@ -322,7 +322,7 @@ bookId parameter will be stored in $req->params('bookId');
$self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] );
=item to manage simultaneously the 2 previous examples
=item to manage simultaneously the 2 previous examples
$self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] )
->addRoute( books => { ':bookId' => { '*' => 'book' } }, ['GET'] );
@ -349,7 +349,7 @@ logLevel, staticPrefix, templateDir, links, syslog).
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS

View File

@ -112,7 +112,7 @@ Returns a list of groups to which user belongs.
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS

View File

@ -119,7 +119,7 @@ Returns a list of groups to which user belongs.
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS

View File

@ -26,7 +26,7 @@
+-> if protected:
Handler::PSGI::Base::_authAndTrace()
_Common::PSGI::run()_ returns a subroutine
## HTTP responses

View File

@ -339,7 +339,7 @@ our %EXPORT_TAGS = (
APPLYSECTION
NO
\$hashParameters
\@sessionTypes
\@sessionTypes
)
]
);
@ -735,7 +735,7 @@ some words for other developpers
if test is not defined for this type or if test must
be more restrictive, set here a regular expression or a subroutine. Arguments
passed to subroutine are (keyValue, newConf, currentKey). It returns 2
arguments: a boolean result and a message (if non empty message will be
arguments: a boolean result and a message (if non empty message will be
displayed as warning or error depending of result);
=item msgFail (optional):

View File

@ -5241,7 +5241,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
if (tooltip) {
tooltip.remove();
tooltip = null;
if (adjustmentTimeout) {
$timeout.cancel(adjustmentTimeout);
@ -5249,7 +5249,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
}
openedTooltips.remove(ttScope);
if (tooltipLinkedScope) {
tooltipLinkedScope.$destroy();
tooltipLinkedScope = null;
@ -7773,4 +7773,4 @@ angular.module('ui.bootstrap.position').run(function() {!angular.$$csp().noInlin
angular.module('ui.bootstrap.datepickerPopup').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibDatepickerpopupCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'); angular.$$uibDatepickerpopupCss = true; });
angular.module('ui.bootstrap.tooltip').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTooltipCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'); angular.$$uibTooltipCss = true; });
angular.module('ui.bootstrap.timepicker').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTimepickerCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-time input{width:50px;}</style>'); angular.$$uibTimepickerCss = true; });
angular.module('ui.bootstrap.typeahead').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTypeaheadCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'); angular.$$uibTypeaheadCss = true; });
angular.module('ui.bootstrap.typeahead').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTypeaheadCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'); angular.$$uibTypeaheadCss = true; });

View File

@ -383,12 +383,12 @@
if (element.prop('tagName').toLowerCase() === 'table') {
scope.$emptyElm = angular.element($window.document.createElement('tr'));
$trElm = element.find('tr');
//If we can find a tr, then we can use its td children as the empty element colspan.
if ($trElm.length > 0) {
emptyElmColspan = angular.element($trElm).children().length;
} else {
//If not, by setting a huge colspan we make sure it takes full width.
//TODO(jcarter): Check for negative side effects.
emptyElmColspan = 1000000;
@ -1512,7 +1512,7 @@
/**
* Get the event object for touches.
*
*
* @param {MouseEvent|TouchEvent} e MouseEvent or TouchEvent that kicked off dragX method.
* @return {MouseEvent|TouchEvent} Object returned as original event object.
*/
@ -1530,7 +1530,7 @@
/**
* Generate object used to store data about node being moved.
*
*
* {angular.$scope} node Scope of the node that is being moved.
*/
dragInfo: function (node) {
@ -1760,19 +1760,19 @@
pos.nowX = pageX;
pos.nowY = pageY;
//Distance mouse moved between events.
//Distance mouse moved between events.
pos.distX = pos.nowX - pos.lastX;
pos.distY = pos.nowY - pos.lastY;
//Direction mouse was moving.
//Direction mouse was moving.
pos.lastDirX = pos.dirX;
pos.lastDirY = pos.dirY;
//Direction mouse is now moving (on both axis).
//Direction mouse is now moving (on both axis).
pos.dirX = pos.distX === 0 ? 0 : pos.distX > 0 ? 1 : -1;
pos.dirY = pos.distY === 0 ? 0 : pos.distY > 0 ? 1 : -1;
//Axis mouse is now moving on.
//Axis mouse is now moving on.
newAx = Math.abs(pos.distX) > Math.abs(pos.distY) ? 1 : 0;
//Do nothing on first move.
@ -1782,7 +1782,7 @@
return;
}
//Calc distance moved on this axis (and direction).
//Calc distance moved on this axis (and direction).
if (pos.dirAx !== newAx) {
pos.distAxX = 0;
pos.distAxY = 0;
@ -1853,4 +1853,4 @@
return res;
}
})();
})();

View File

@ -6,7 +6,7 @@
<span ng-if="!currentCfg.next" trspan="currentConfiguration"></span>
<span ng-if="currentCfg.next" trspan="loadedConfiguration"></span>
<i ng-if="currentCfg.prev">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/diff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i>
</h3>
</TMPL_IF>
</div>

View File

@ -5,7 +5,7 @@
<span ng-if="!currentCfg.next" trspan="currentConfiguration"></span>
<span ng-if="currentCfg.next" trspan="loadedConfiguration"></span>
<i ng-if="currentCfg.prev && allowDiff">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/viewDiff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i>
</h3>
</div>
<table class="table table-striped">

View File

@ -37,10 +37,10 @@
</form>
</div>
</div>
</div>
</div>
<!-- Tree -->
<div class="text-center"><p class="badge">{{total}} <span trspan="session_s"></span></p></div>
<div class="region region-sidebar-first">
<section id="block-superfish-1" class="block block-superfish clearfix">
@ -58,7 +58,7 @@
</aside>
<!-- Right(main) div -->
<div id="right" class="col-lg-8 col-md-8 col-sm-7 col-xs-12 scrollable" ng-class="{'hidden-xs':showT&&!showM}">
<div id="right" class="col-lg-8 col-md-8 col-sm-7 col-xs-12 scrollable" ng-class="{'hidden-xs':showT&&!showM}">
<div class="panel panel-default" ng-hide="currentSession===null">
<div class="panel-heading">
<h1 class="panel-title text-center">{{translate("sessionTitle")}} {{currentSession.id}}</h1>

View File

@ -22,7 +22,7 @@
<div class="navbar-collapse" ng-class="{'collapse':!showM}" id="formmenu">
<ul class="nav navbar-nav">
<li><a class="link" ng-click="home()"><i class="glyphicon glyphicon-home"></i></a></li>
<TMPL_IF NAME="ALLOWBROWSER">
<li uib-dropdown>
<a id="navmenu" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-cog"></i> {{translate('browse')}} <span class="caret"></span></a>
@ -45,7 +45,7 @@
</li>
<li>
<i class="glyphicon glyphicon-lock"></i>
<u>{{translate('readOnlyMode')}}</u>
<u>{{translate('readOnlyMode')}}</u>
</li>
</ul>
</div>
@ -58,7 +58,7 @@
<div class="panel-body">
<iframe id="helpframe" width="100%" height="100%" ng-src="{{translate('/doc/')+'pages/documentation/current/'+helpUrl}}" frameborder="0"></iframe>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -3423,8 +3423,8 @@ Send logout request to a provider
Send logout response issue from a logout request to all other
providers. If information have to be displayed to users, such as
iframe to send HTTP-Redirect or HTTP-POST logout request, then
$self->{_info} will be updated.
iframe to send HTTP-Redirect or HTTP-POST logout request, then
$self->{_info} will be updated.
=head2 checkSignatureStatus

View File

@ -158,7 +158,7 @@ L<Lemonldap::NG::Portal> second factor plugins.
# If self registration is enabled and "activation" is set to "enabled",
# replace the rule to detect if user has registered a device key.
# The rule must be like this :
# By example :
# By example :
$self->conf->{u2fActivation} = '$_2fDevices =~ /"type":\s*"U2F"/s'
# Optionally, the rule can be : '$_2fDevices and $_2fDevices =~ /"type":\s*"U2F"/s'
# to avoid warning due to undef variable

View File

@ -63,7 +63,7 @@
</div>
</div>
</TMPL_IF>
</form>
</div>

View File

@ -61,11 +61,11 @@
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.min.js"></script>
//else -->
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.js"></script>
<!-- //endif -->
<!-- //endif -->
</div>
</div>
<TMPL_IF NAME="PORTAL_URL">
<div id="logout">
<div class="buttons">
@ -76,7 +76,7 @@
</div>
</div>
</TMPL_IF>
</form>
</div>

View File

@ -47,7 +47,7 @@
<span class="fa fa-envelope-open"></span>
<span trspan="sendPwd">Send me a link</span>
</button>
</div>
</form>
</div>

View File

@ -123,7 +123,7 @@
<TMPL_ELSE>
<div class="col-12">
</TMPL_IF>
<!-- Name and link (mandatory) -->
<h5 class="appname <TMPL_VAR NAME="appid"> card-title">
<TMPL_VAR NAME="appname">

View File

@ -1,7 +1,7 @@
<TMPL_INCLUDE NAME="header.tpl">
<div id="notifcontent" class="container">
<form action="/notifback" method="post" class="notif" role="form">
<TMPL_VAR NAME="HIDDEN_INPUTS">
<TMPL_IF NAME="CHOICE_VALUE">

View File

@ -41,7 +41,7 @@
</div>
</div>
</main>
<div class="buttons">
<a href="<TMPL_VAR NAME="PORTAL_URL">2fregisters" class="btn btn-info" role="button">
<span class="fa fa-shield"></span>

View File

@ -41,7 +41,7 @@
<span class="fa fa-shield"></span>
<span trspan="sfaManager">sfaManager</span>
</a>
<a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span>
<span trspan="goToPortal">Go to portal</span>

View File

@ -38,7 +38,7 @@
<span class="fa fa-shield"></span>
<span trspan="sfaManager">sfaManager</span>
</a>
<a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span>
<span trspan="goToPortal">Go to portal</span>

View File

@ -170,7 +170,7 @@ to test content _(to launch a `expectForm()` for example)_.
Same as `_get` except that a body is required. $body must be a file handle.
Example with IO::String:
ok(
ok(
$res = $client->_post(
'/',
IO::String->new('user=dwho&password=dwho'),

View File

@ -660,7 +660,7 @@ sub _get {
Same as C<_get> except that a body is required. $body must be a file handle.
Example with IO::String:
ok(
ok(
$res = $client->_post(
'/',
IO::String->new('user=dwho&password=dwho'),

View File

@ -78,8 +78,7 @@ for ( my $i = 0 ; $i < NB ; $i++ ) {
print "Result
+-----+-----------+----------+---------+-----------------------------------------+
| Req | Auth form | Post req | Menu | 5 access to test1.example.com
|
| Req | Auth form | Post req | Menu | 5 access to test1.example.com |
+-----+-----------+----------+---------+-----------------------------------------+
";