Go to file
August Thornton 2a8b3c95a4 Add QR for Mobile Login link to /profile routes
closes USERS-458
flag=mobile_qr_login

This commit changes how we're adding the link to render the mobile
QR code modal. We're going to be using the profile tab approach
instead of adding it directly to the global profile tray. This
will allow it to exist not only in the global profile tray, but
the user profile, and even the global mobile nav. The QR for mobile
link tab will show up for any active path under '/profile'

Test Plan:
 - Ensure your version of canvas has an up to date
   instructure_misc_plugin
 - create a developer key
 - add https://sso.canvaslms.com/canvas/login as its only redirect URI
 - In a rails console
   - a = Account.default
   - a.settings[:ios_mobile_sso_developer_key_id] = <dev key global id>
   - a.save!
   - a.account_domains.create!(name: 'sso.canvaslms.com')

With the :mobile_qr_login feature flag enabled:

*Web View*
 - Navigate to '/'
 - Open the profile tray and click 'QR for Mobile Login'
 - Ensure the QR code image is generated with the title and expire tag
 - Navigate to '/profile'
 - Click on 'QR for Mobile Login' on the left hand side section tabs
 - Ensure the QR code image is generated with the title and expire tag

*Mobile Web View*
 - Shrink browser horizontally until Canvas web view is rendered
 - Click on the down carrot menu at the top of the global nav
 - Click on 'QR for Mobile Login' option at the bottom
 - Ensure the QR code image is generated with the title and expire tag
 - Click on the hamburger menu in the top left
 - Select the Account drop-down
 - Click on 'QR for Mobile Login'
 - Ensure the QR code image is generated with the title and expire tag

- 'QR for Mobile Login' link tab should only appear for paths
  under '/profile'

With the :mobile_qr_login feature flag disabled:

 - Verify the 'QR for Mobile Login' link tab does not appear
   in any of the above locations previously tested
 - Hitting the '/profile/qr_for_Mobile' path directly renders
   a 404

Change-Id: If69d5f3a7526f7aa84cfae22d0747e5afd2d617b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232750
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2020-04-08 21:38:26 +00:00
.github update PR auto assignments 2019-10-24 21:19:48 +00:00
Gemfile.d bump inst-jobs to 0.15.18 2020-04-03 17:30:02 +00:00
app Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
bin Generate schema.graphql on demand 2020-01-06 21:12:42 +00:00
build send datadog metrics even if there is an exception thrown 2020-04-08 20:11:10 +00:00
client_apps Add user_ids to quiz statistics endpoint 2019-12-04 19:24:27 +00:00
config Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
db/migrate add indexes to content tags and enrollments 2020-04-07 14:47:46 +00:00
doc enable auto-instrumentation for ddog APM 2020-03-17 19:15:15 +00:00
docker-compose enable instrumentation of APM for jobs 2020-03-23 15:11:25 +00:00
frontend_build spec: remove gradebook from size-exempt bundles 2020-03-20 23:01:23 +00:00
gems Follow redirect url for Google Doc plugin 2020-04-08 18:15:17 +00:00
hooks fix pre-commit hook with unfixable eslint error 2018-11-27 23:28:12 +00:00
jest add overrides and editing to bulk assignment edit 2020-04-06 21:36:14 +00:00
lib Add conversation message created live event 2020-04-07 19:30:23 +00:00
packages fix error with unexpected audio mime-type 2020-04-04 12:51:29 +00:00
pact Include context_name in planner item response 2018-08-29 22:20:52 +00:00
public do not confirm navigation for auto-previewed content for QO 2020-04-06 18:54:02 +00:00
script add CanvasDateInput and bulk edit test table 2020-03-31 03:52:27 +00:00
spec Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
.bowerrc introduced bower to manage js dependencies 2013-12-13 17:45:57 +00:00
.codeclimate.yml disable ESLint in code climate 2017-02-14 17:47:39 +00:00
.dive-ci Spec: Add dive build 2020-03-26 14:52:06 +00:00
.dockerignore use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
.editorconfig Add EditorConfig configuration file to help maintain code style 2016-11-15 20:08:55 +00:00
.eslintignore Run prettier on packages/ 2019-10-11 19:29:16 +00:00
.eslintrc.js Remove prettier whitelist 2019-10-11 19:29:31 +00:00
.gitignore use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
.gitmessage prepend some blank lines to .gitmessage 2019-08-09 16:12:53 +00:00
.i18nignore bump rails 3 to github branch for ruby 2.2 compatibility 2015-02-18 22:55:20 +00:00
.i18nrc upgrade to node 6 2016-08-09 23:37:07 +00:00
.lintstagedrc.js Remove prettier whitelist 2019-10-11 19:29:31 +00:00
.npmrc fix brand config previewing and skipping 2015-10-27 16:16:15 +00:00
.nvmrc require node 10.16 for brotli support 2020-04-03 19:48:37 +00:00
.prettierrc Add .prettierrc so it matches our existing code 2017-11-03 16:21:50 +00:00
.rubocop.yml Remove duplicated config in .rubocop.yml 2020-01-30 22:41:56 +00:00
.selinimumignore Revert and bring InstIcons into Canvas 2016-11-29 20:52:54 +00:00
.stylelintrc Lint for css that will break RTL 2018-10-17 20:21:25 +00:00
.travis.yml more travis builds 2014-02-10 16:23:19 +00:00
CONTRIBUTING.md Add CLA FAQ from legal 2018-01-22 16:41:44 -05:00
COPYRIGHT Initial commit. 2011-01-31 18:57:29 -07:00
Dockerfile use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
Dockerfile-production Default Dockerfiles to 2.4-xenial 2020-03-19 21:51:38 +00:00
Dockerfile.githook Add precommit hook for auto fixing files 2018-11-27 21:07:31 +00:00
Dockerfile.package-translations Create shared translation infrastructure for packages 2019-11-06 22:42:03 +00:00
Gemfile drop rails 5.1 2019-08-01 14:09:31 +00:00
Jenkinsfile Add a formatted tag for canvas image consumers 2020-04-06 19:46:12 +00:00
Jenkinsfile.contract-tests Add verbose flags to builds 2020-03-18 13:41:00 +00:00
Jenkinsfile.dive Spec: Add dive build 2020-03-26 14:52:06 +00:00
Jenkinsfile.js Add verbose flags to builds 2020-03-18 13:41:00 +00:00
Jenkinsfile.main-for-coverage add skipping on success to rspec and selenium 2020-03-27 16:46:51 +00:00
Jenkinsfile.master-bouncer-check-all add the master-bouncer check cron build 2020-01-30 16:48:02 +00:00
Jenkinsfile.package-translations allow the docker-cleanup script to fail 2019-12-12 16:26:24 +00:00
Jenkinsfile.selenium.flakey_spec_catcher Re-enable FSC while not failing builds due to timeouts 2020-03-24 15:09:44 +00:00
Jenkinsfile.selenium.performance.chrome use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
Jenkinsfile.test-subbuild Multiple rubies and postgres on Jenkins 2020-03-10 22:30:51 +00:00
Jenkinsfile.vendored-gems Add verbose flags to builds 2020-03-18 13:41:00 +00:00
Jenkinsfile.xbrowser Add verbose flags to builds 2020-03-18 13:41:00 +00:00
LICENSE Initial commit. 2011-01-31 18:57:29 -07:00
README.md Update README.md since Canvas is still modern 2016-12-15 03:18:28 +00:00
Rakefile use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
babel.config.js Fix the build 2019-09-17 21:26:07 +00:00
bower.json Move k5uplodaer to /packages 2019-05-10 18:30:51 +00:00
code_of_conduct.md contributor code of conduct 2014-12-23 18:13:59 +00:00
config.ru remove extra logging to debug Passenger connection orphan issue 2017-07-14 16:27:03 +00:00
docker-compose.jenkins.yml update rce-api version on jenkins second attempt 2019-07-19 20:24:19 +00:00
docker-compose.new-jenkins-flakey-spec-catcher.yml implement flakey_spec_catcher build 2020-02-11 19:39:47 +00:00
docker-compose.new-jenkins-karma.yml Rename build/new-jenkins/frontend/ to js/ 2019-12-03 00:56:38 +00:00
docker-compose.new-jenkins-package-translations.yml Create shared translation infrastructure for packages 2019-11-06 22:42:03 +00:00
docker-compose.new-jenkins-selenium.yml spec: upgrade chromedriver for chrome version 80 local and docker 2020-02-28 15:38:01 +00:00
docker-compose.new-jenkins-web.yml Rename linters-and-js build to frontend 2019-09-05 20:15:10 +00:00
docker-compose.new-jenkins.yml use parallel_tests for more parallelization 2020-03-30 21:38:47 +00:00
docker-compose.spring.yml add a spring docker-compose config 2019-08-19 13:48:15 +00:00
docker-compose.yml Use redis:alpine 2017-07-31 22:31:40 +00:00
gulpfile.js fix polyfill for old browsers 2019-09-09 20:00:17 +00:00
issue_template.md Make issue template disclaimer a comment 2018-05-01 15:00:27 +00:00
jest.config.js Allow running jest tests from plugins 2019-12-03 16:55:17 +00:00
karma.conf.js Allow forcing a failure in each JS stage 2020-01-20 21:18:25 +00:00
package.json add overrides and editing to bulk assignment edit 2020-04-06 21:36:14 +00:00
parallel_runtime_rspec.log spec: fix the parallel_runtime_rspec.log 2020-04-07 15:35:36 +00:00
webpack.config.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
webpack.test.config.js upgrade webpack to v4 2019-05-16 15:59:04 +00:00
yarn.lock add overrides and editing to bulk assignment edit 2020-04-06 21:36:14 +00:00

README.md

Canvas LMS

Canvas is a modern, open-source LMS developed and maintained by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.

Please see our main wiki page for more information

Installation

Detailed instructions for installation and configuration of Canvas are provided on our wiki.