This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-php-gateway.git
commit fd6675b85ea6f193b476c85b65c43330c52a3b25 Author: Marcus Christie <[email protected]> AuthorDate: Fri Nov 3 11:56:31 2017 -0400 AIRAVATA-2502 External logins listed first (on the left) --- app/controllers/AccountController.php | 4 ++++ app/libraries/CommonUtilities.php | 12 ++++++---- app/views/account/create.blade.php | 25 +++++++++++-------- app/views/account/login-desktop.blade.php | 36 +++++++++++++++++++++------- app/views/account/login.blade.php | 37 +++++++++++++++++++++-------- app/views/partials/login-external.blade.php | 14 +++++------ public/css/bootstrap.min.css | 28 ++++++++++++++++++++++ 7 files changed, 115 insertions(+), 41 deletions(-) diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php index f9ea073..083bff0 100644 --- a/app/controllers/AccountController.php +++ b/app/controllers/AccountController.php @@ -79,6 +79,7 @@ class AccountController extends BaseController $auth_password_option = CommonUtilities::getAuthPasswordOption(); // Support for many external identity providers (authorization code auth flow) $auth_code_options = CommonUtilities::getAuthCodeOptions(); + $has_auth_code_and_password_options = $auth_password_option != null && count($auth_code_options) > 0; // If no username/password option and only one external identity // provider, just redirect immediately @@ -88,6 +89,7 @@ class AccountController extends BaseController return View::make('account/login', array( "auth_password_option" => $auth_password_option, "auth_code_options" => $auth_code_options, + "has_auth_code_and_password_options" => $has_auth_code_and_password_options, )); } } @@ -98,6 +100,7 @@ class AccountController extends BaseController $auth_password_option = CommonUtilities::getAuthPasswordOption(); // Support for many external identity providers (authorization code auth flow) $auth_code_options = CommonUtilities::getAuthCodeOptions(); + $has_auth_code_and_password_options = $auth_password_option != null && count($auth_code_options) > 0; // If no username/password option and only one external identity // provider, just redirect immediately @@ -107,6 +110,7 @@ class AccountController extends BaseController return View::make('account/login-desktop', array( "auth_password_option" => $auth_password_option, "auth_code_options" => $auth_code_options, + "has_auth_code_and_password_options" => $has_auth_code_and_password_options, )); } } diff --git a/app/libraries/CommonUtilities.php b/app/libraries/CommonUtilities.php index 525ec40..877339b 100644 --- a/app/libraries/CommonUtilities.php +++ b/app/libraries/CommonUtilities.php @@ -468,10 +468,14 @@ class CommonUtilities public static function getAuthPasswordOption() { $auth_options = Config::get('pga_config.wsis')['auth-options']; - $auth_password_option_array = array_filter($auth_options, function($auth_option) { - return $auth_option["oauth-grant-type"] == "password"; - }); - return count($auth_password_option_array) > 0 ? $auth_password_option_array[0] : null; + $auth_password_option = null; + foreach ($auth_options as $key => $auth_option) { + if ($auth_option["oauth-grant-type"] == "password") { + $auth_password_option = $auth_option; + break; + } + } + return $auth_password_option; } public static function getAuthCodeOptions() { diff --git a/app/views/account/create.blade.php b/app/views/account/create.blade.php index c490761..ab6187f 100644 --- a/app/views/account/create.blade.php +++ b/app/views/account/create.blade.php @@ -6,8 +6,22 @@ @section('content') +@if (!empty($auth_code_options)) + <div class="col-md-offset-1 col-md-4 center-column"> + @foreach ($auth_code_options as $auth_code_option) + @include('partials/login-external', array("auth_code_option" => $auth_code_option)) + @endforeach + </div> + <div class="col-md-2 center-column"> + <h3 id="login-option-separator" class="horizontal-rule">OR</h3> + </div> +@endif + +@if (!empty($auth_code_options)) +<div class="col-md-4 center-column"> +@else <div class="col-md-offset-4 col-md-4"> - @if (!empty($auth_password_option)) +@endif <div class="page-header"> <h3>Create New {{{ $auth_password_option["name"] }}} Account <small> @@ -73,15 +87,6 @@ <input name="Submit" type="submit" class="btn btn-primary btn-block" value="Create"> </form> - @if (!empty($auth_code_options)) - <h3 id="login-option-separator" class="horizontal-rule">OR</h4> - @endif - @endif {{-- @if (!empty($auth_password_option)) --}} - - @if (!empty($auth_code_options)) - @include('partials/login-external', array("auth_code_options" => $auth_code_options)) - @endif - <style media="screen" type="text/css"> .form-group.required .control-label:after { content: " *"; diff --git a/app/views/account/login-desktop.blade.php b/app/views/account/login-desktop.blade.php index 2108206..646f821 100755 --- a/app/views/account/login-desktop.blade.php +++ b/app/views/account/login-desktop.blade.php @@ -6,16 +6,34 @@ @section('content') -<div class="col-md-offset-4 col-md-4"> - @if (!empty($auth_password_option)) - @include('partials/login-form', array("auth_name" => $auth_password_option["name"], "desktop" => true)) - @if (!empty($auth_code_options)) - <h3 id="login-option-separator" class="horizontal-rule">OR</h4> - @endif +@if(count($auth_code_options) > 0) + @if($has_auth_code_and_password_options) + <div class="col-md-offset-1 col-md-4 center-column"> + @else + <div class="col-md-offset-4 col-md-4 center-column"> @endif - @if (!empty($auth_code_options)) - @include('partials/login-external', array("auth_code_options" => $auth_code_options)) + + @foreach ($auth_code_options as $auth_code_option) + @include('partials/login-external', array("auth_code_option" => $auth_code_option)) + @endforeach + </div> +@endif + +@if($has_auth_code_and_password_options) + <div class="col-md-2 center-column"> + <h3 id="login-option-separator" class="horizontal-rule">OR</h3> + </div> +@endif + +@if(!empty($auth_password_option)) + @if($has_auth_code_and_password_options) + <div class="col-md-4 center-column"> + @else + <div class="col-md-offset-4 col-md-4 center-column"> @endif -</div> + + @include('partials/login-form', array("auth_name" => $auth_password_option["name"], "desktop" => true)) + </div> +@endif @stop \ No newline at end of file diff --git a/app/views/account/login.blade.php b/app/views/account/login.blade.php index 1e8a52a..4d49c12 100755 --- a/app/views/account/login.blade.php +++ b/app/views/account/login.blade.php @@ -6,17 +6,34 @@ @section('content') -<div class="col-md-offset-4 col-md-4"> - - @if (!empty($auth_password_option)) - @include('partials/login-form', array("auth_name" => $auth_password_option["name"])) - @if (!empty($auth_code_options)) - <h3 id="login-option-separator" class="horizontal-rule">OR</h4> - @endif +@if(count($auth_code_options) > 0) + @if($has_auth_code_and_password_options) + <div class="col-md-offset-1 col-md-4 center-column"> + @else + <div class="col-md-offset-4 col-md-4 center-column"> @endif - @if (!empty($auth_code_options)) - @include('partials/login-external', array("auth_code_options" => $auth_code_options)) + + @foreach ($auth_code_options as $auth_code_option) + @include('partials/login-external', array("auth_code_option" => $auth_code_option)) + @endforeach + </div> +@endif + +@if($has_auth_code_and_password_options) + <div class="col-md-2 center-column"> + <h3 id="login-option-separator" class="horizontal-rule">OR</h3> + </div> +@endif + +@if(!empty($auth_password_option)) + @if($has_auth_code_and_password_options) + <div class="col-md-4 center-column"> + @else + <div class="col-md-offset-4 col-md-4 center-column"> @endif -</div> + + @include('partials/login-form', array("auth_name" => $auth_password_option["name"])) + </div> +@endif @stop \ No newline at end of file diff --git a/app/views/partials/login-external.blade.php b/app/views/partials/login-external.blade.php index 393048a..82ecb1a 100644 --- a/app/views/partials/login-external.blade.php +++ b/app/views/partials/login-external.blade.php @@ -1,9 +1,7 @@ -@foreach ($auth_code_options as $auth_code_option) - <a href="{{ $auth_code_option["auth_url"] }}" class="btn btn-primary btn-block"> - @if (isset($auth_code_option["logo"])) - <img src="{{ $auth_code_option["logo"] }}"> - @endif - Sign in with {{{ $auth_code_option["name"] }}} - </a> -@endforeach +<a href="{{ $auth_code_option["auth_url"] }}" class="btn btn-primary btn-block btn-external-login"> + @if (isset($auth_code_option["logo"])) + <img src="{{ $auth_code_option["logo"] }}"> + @endif + Sign in with {{{ $auth_code_option["name"] }}} +</a> diff --git a/public/css/bootstrap.min.css b/public/css/bootstrap.min.css index cae0f80..995e9d9 100644 --- a/public/css/bootstrap.min.css +++ b/public/css/bootstrap.min.css @@ -193,3 +193,31 @@ body{ left: 0.5em; margin-right: -50%; } + +/* vertically center a Bootstrap column. Must be applied to every column in the row. */ +.center-column { + display: inline-block; + vertical-align: middle; + float: none; + font-size: 0; + width: 100%; +} + +.btn-external-login + .btn-external-login { + margin-top: 40px; +} + +@media (min-width: 992px) { + .center-column.col-md-12 { width:100% } + .center-column.col-md-11 { width:91.66666667% } + .center-column.col-md-10 { width:83.33333333% } + .center-column.col-md-9 { width:75% } + .center-column.col-md-8 { width:66.66666667% } + .center-column.col-md-7 { width:58.33333333% } + .center-column.col-md-6 { width:50% } + .center-column.col-md-5 { width:41.66666667% } + .center-column.col-md-4 { width:33.33333333% } + .center-column.col-md-3 { width:25% } + .center-column.col-md-2 { width:16.66666667% } + .center-column.col-md-1 { width:8.33333333% } +} -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
