From 19262519741d46bc548edb9fde25cee4514ab7a9 Mon Sep 17 00:00:00 2001 From: Ryan Shaw Date: Fri, 9 Nov 2012 09:29:16 -0700 Subject: [PATCH] handle more device types on mobile login page fixes: #11476 restyle mobile login page to handle different screen dimensions and resolution (retina/non-retina) so that it works on new iPhone, android browsers, etc. use mobile_login for iPad iOS app and android app too the iOS and android apps are now going to pass a query string param of mobile=1 when it loads the webview for login. it will set a cookie to remember that it prefers the mobile optimized login screen so that if it goes through any redirection (bad user/pass) it still looks right. fixes: #11686 Change-Id: Iafdc7522189dc44be5c5bc4592c5cb194a188612 Reviewed-on: https://gerrit.instructure.com/15283 Tested-by: Jenkins Reviewed-by: Chris Hart --- .../pseudonym_sessions_controller.rb | 13 ++++++++--- .../pseudonym_sessions/mobile_login.html.erb | 21 ++++++++++++++---- .../images/canvas_logo_for_mobile_login.png | Bin 0 -> 17349 bytes .../pseudonym_sessions_controller_spec.rb | 3 --- 4 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 public/images/canvas_logo_for_mobile_login.png diff --git a/app/controllers/pseudonym_sessions_controller.rb b/app/controllers/pseudonym_sessions_controller.rb index 69aeca84a6d..81c366c2a21 100644 --- a/app/controllers/pseudonym_sessions_controller.rb +++ b/app/controllers/pseudonym_sessions_controller.rb @@ -114,7 +114,14 @@ class PseudonymSessionsController < ApplicationController end def maybe_render_mobile_login(status = nil) - if request.user_agent.to_s =~ /ipod|iphone|Android/i + cookies['mobile'] = true if params['mobile'] + # Our iOS and Android native apps are always going to pass a query string param of ?mobile=1 + # to this page, so they will be always given the mobile formatted page for the native app login + # process. We do not show the mobile formated page if you come to web canvas on mobile devices + # on purpose, because the rest of the site is not mobile formated--with the exception of iPod + # and iPhone, which we continue to do because that is what we have done and did not want to + # change existing functionalitiy. + if cookies['mobile'] || request.user_agent.to_s =~ /ipod|iphone/i @login_handle_name = @domain_root_account.login_handle_name rescue AccountAuthorizationConfig.default_login_handle_name @login_handle_is_email = @login_handle_name == AccountAuthorizationConfig.default_login_handle_name @shared_js_vars = { @@ -312,7 +319,7 @@ class PseudonymSessionsController < ApplicationController if response.is_valid? aac.debug_set(:is_valid_login_response, 'true') if debugging - + if response.success_status? @pseudonym = @domain_root_account.pseudonyms.custom_find_by_unique_id(unique_id) @@ -324,7 +331,7 @@ class PseudonymSessionsController < ApplicationController #Successful login and we have a user @domain_root_account.pseudonym_sessions.create!(@pseudonym, false) @user = @pseudonym.login_assertions_for_user - + if debugging aac.debug_set(:login_to_canvas_success, 'true') aac.debug_set(:logged_in_user_id, @user.id) diff --git a/app/views/pseudonym_sessions/mobile_login.html.erb b/app/views/pseudonym_sessions/mobile_login.html.erb index bb41a7b22b7..59a694ef044 100644 --- a/app/views/pseudonym_sessions/mobile_login.html.erb +++ b/app/views/pseudonym_sessions/mobile_login.html.erb @@ -14,14 +14,23 @@ } html, body { height: 100%; - width: 100%; } - body { + + html { margin: 0; padding: 0; - background: #353534 url("/images/mobile_login/mobile-login-bg.jpg") left -40px; + background-color: black; + background: url('/images/Money_Noise_tm.png?1348625397'), + -webkit-gradient(radial, 50% 0px, 0, 50% 0px, 0, color-stop(0%, rgba(255, 255, 255, 0.4)), color-stop(100%, transparent)), + -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2B2B2B), color-stop(100%, black)); + background: url('/images/Money_Noise_tm.png?1348625397'), + -webkit-radial-gradient(50% 0px, circle cover, rgba(255, 255, 255, 0.4) 0%, transparent 100%), + -webkit-linear-gradient(top, #2B2B2B, black); + background: url('/images/Money_Noise_tm.png?1348625397'), + radial-gradient(50% -100px, circle cover, rgba(255, 255, 255, 0.6) 0%, transparent 100%), + linear-gradient(top, #2B2B2B, black); + min-height: 420px; /* this is a workaround to be high enough on an iphone */ font-size: 114%; - -webkit-background-size: cover; -webkit-perspective: 800; font-family: Helvetica; } @@ -37,6 +46,10 @@ width: 300px; height: 198px; z-index: 1; + background-image: url("/images/canvas_logo_for_mobile_login.png?1"); + background-position: center 30px; + background-repeat: no-repeat; + background-size: 270px 48px; } .face.back { display: none; diff --git a/public/images/canvas_logo_for_mobile_login.png b/public/images/canvas_logo_for_mobile_login.png new file mode 100644 index 0000000000000000000000000000000000000000..2a411153d5ded8be5ef5d25b0dd1fc9aaabffc0d GIT binary patch literal 17349 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 literal 0 HcmV?d00001 diff --git a/spec/controllers/pseudonym_sessions_controller_spec.rb b/spec/controllers/pseudonym_sessions_controller_spec.rb index a22fdf2b8cc..22c247fab08 100644 --- a/spec/controllers/pseudonym_sessions_controller_spec.rb +++ b/spec/controllers/pseudonym_sessions_controller_spec.rb @@ -25,9 +25,6 @@ describe PseudonymSessionsController do [ "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", - "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", - "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Sprint APA9292KT Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", - "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" ] end