diff --git a/lib/SimpleSAML/XHTML/IdPDisco.php b/lib/SimpleSAML/XHTML/IdPDisco.php index 71555a873e9e4b41abe5ce819480a5c70aaa13c6..e3c0517ad974fa85aa73b66f734aa0f2493b783f 100644 --- a/lib/SimpleSAML/XHTML/IdPDisco.php +++ b/lib/SimpleSAML/XHTML/IdPDisco.php @@ -637,6 +637,7 @@ class IdPDisco $t->data['entityID'] = $this->spEntityId; $t->data['urlpattern'] = htmlspecialchars($httpUtils->getSelfURLNoQuery()); $t->data['rememberenabled'] = $this->config->getBoolean('idpdisco.enableremember', false); + $t->data['rememberchecked'] = $this->config->getBoolean('idpdisco.rememberchecked', false); $t->send(); } diff --git a/src/css/default.scss b/src/css/default.scss index 93c4d034cfab25084d4a98e3a1304f114f482024..c13a8e05587b414089d5fe5d8a249aaaff0d9ea6 100644 --- a/src/css/default.scss +++ b/src/css/default.scss @@ -601,6 +601,13 @@ input[type="file"] { border-radius: 0; } +.pure-button { + margin-left: 1ex; +} + +.pure-control-group { + margin-bottom: 1ex; +} .pure-form-aligned .pure-controls { margin: 0 0 0 11em; } @@ -886,3 +893,18 @@ div.preferredidp { .hidden { display: none; } + +.idp { + border: 1px solid silver; + padding: 1ex; + margin: 1ex; +} + +.idp .idpname { + font-size: larger; + font-weight: bold; +} +.idp .idpdesc { + font-size: small; + color: gray; +} diff --git a/templates/selectidp-dropdown.twig b/templates/selectidp-dropdown.twig index 22b8f22206f8a573468d088c22799d55aa156805..5afc4f62ebb6ccd36d4d886fc450ee5cb90215ac 100644 --- a/templates/selectidp-dropdown.twig +++ b/templates/selectidp-dropdown.twig @@ -4,6 +4,10 @@ {% block content %} <h2>{{ pagetitle }}</h2> + {% if idplist|length == 0 %} + <div class="message-box message-box-error">{{ "No identity providers found. Cannot continue." | trans }}</div> + {% else %} + <p>{{ "Please select the identity provider where you want to authenticate:" | trans }}</p> <form method="get" action="{{ urlpattern }}" class="pure-form"> <input type="hidden" name="entityID" value="{{ entityID }}"> @@ -23,9 +27,12 @@ </div> {% if rememberenabled %} <div class="pure-control-group"> - <input type="checkbox" name="remember" id="remember" value="1"> - <label for="remember">{{ 'Remember my choice' | trans }}</label> + <label for="remember"> + <input type="checkbox" name="remember" id="remember" value="1"{% if rememberchecked %} checked{% endif %}> + {{ 'Remember my choice' | trans }} + </label> </div> {% endif %} </form> + {% endif %} {% endblock %} diff --git a/templates/selectidp-links.twig b/templates/selectidp-links.twig index cebe6962a1418573e241c02336afbbe6c32ef8bf..7cc83a708d0f3c246ce54388a584118f94f1bea0 100644 --- a/templates/selectidp-links.twig +++ b/templates/selectidp-links.twig @@ -4,42 +4,65 @@ {% block content %} <h2>{{ pagetitle }}</h2> + {% if idplist|length == 0 %} + <div class="message-box message-box-error">{{ "No identity providers found. Cannot continue." | trans }}</div> + {% else %} + <p>{{ "Please select the identity provider where you want to authenticate:" | trans }}</p> <form method="get" action="{{ urlpattern }}"> <input type="hidden" name="entityID" value="{{ entityID }}"> <input type="hidden" name="return" value="{{ return }}"> <input type="hidden" name="returnIDParam" value="{{ returnIDParam }}"> {% if rememberenabled %} - <p><input type="checkbox" name="remember" id="remember" value="1"> - <label for="remember">{{ 'Remember my choice' | trans }}</label></p> + <div class="pure-control-group"> + <label for="remember"> + <input type="checkbox" name="remember" id="remember" value="1"{% if rememberchecked %} checked{% endif %}> + {{ 'Remember my choice' | trans }} + </label> + </div> {% endif %} {% for idpentry in idplist %} {% if idpentry.entityid == preferredidp %} - <div class="preferredidp"> + <div class="idp preferredidp pure-g"> + <div class="pure-u-1-8"> + <button type="submit" class="pure-button pure-button-primary" name="idp_{{ idpentry.entityid }}">{{'Select'|trans}}</button> + </div> {% if idpentry.iconurl is defined %} - <img class="float-l" src="{{ idpentry.iconurl }}"> + <div class="pure-u-1-8"> + <img src="{{ idpentry.iconurl }}" alt=""> + </div> {% endif %} - <h3><i class="fa fa-star"></i> {{ idpentry.name }}</h3> - {% if idpentry.description is defined %} - <p>{{ idpentry.description }}</p> + <div class="pure-u-7-8"> + <span class="idpname"><i class="fa fa-star"></i> {{ idpentry.name }}</span> + {% if idpentry.description is defined and idpentry.description != idpentry.name %} + <br><span class="idpdesc">{{ idpentry.description }}</span> {% endif %} - <button type="submit" class="btn" name="idp_{{ idpentry.entityid }}">{{'Select'|trans}}</button> + </div> </div> {% endif %} {% endfor %} {% for idpentry in idplist %} {% if idpentry.entityid != preferredidp %} + <div class="idp pure-g"> + <div class="pure-u-1-8"> + <button type="submit" class="pure-button" name="idp_{{ idpentry.entityid }}">{{'Select'|trans}}</button> + </div> {% if idpentry.iconurl is defined %} - <img class="float-l" src="{{ idpentry.iconurl }}"> + <div class="pure-u-1-8"> + <img src="{{ idpentry.iconurl }}" alt=""> + </div> {% endif %} - <h3>{{ idpentry.name }}</h3> - {% if idpentry.description is defined %} - <p>{{ idpentry.description }}</p> + <div class="pure-u-7-8"> + <span class="idpname">{{ idpentry.name }}</span> + {% if idpentry.description is defined and idpentry.description != idpentry.name %} + <br><span class="idpdesc">{{ idpentry.description }}</span> {% endif %} - <button type="submit" class="btn" name="idp_{{ idpentry.entityid }}">{{'Select'|trans}}</button> + </div> + </div> {% endif %} {% endfor %} </form> + {% endif %} {% endblock %}