Commit Graph

12483 Commits

Author SHA1 Message Date
Braden Anderson 363a24a3e1 use bright calendar colors for low-contrast users
test plan:
  * disable high-contrast stylesheet
  * load calendar
  * add events for multiple contexts
  * verify that the colors used are bright

  * enable high-contrast stylesheet
  * load calendar
  * verify that the colors used are dull

Change-Id: Id8b39aa1c683994411e9111e14667aab1f157fd1
Reviewed-on: https://gerrit.instructure.com/41072
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
2014-09-22 14:49:51 +00:00
Jeremy Stanley c5d2fc5d76 don't render content notices on full-width pages
test plan:
 0. configure a course navigation LTI tool with full-width launch
 1. start a content import via the API, specifying the parameter
    migration_settings[import_in_progress_notice]=1 **
 2. you should see the import notice on the course front page
 3. you should not see the notice when viewing the full-width
    LTI app

** alternatively, you can just turn on the import-in-progress
   notice in the Rails console, which will give you more time
   to test:

     course.add_content_notice :import_in_progress

   then remove it when you want it to go away:

     course.remove_content_notice :import_in_progress

fixes CNVS-15679

Change-Id: I3171812e0d631eab96ae7d0061280e57abbdcc46
Reviewed-on: https://gerrit.instructure.com/41456
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-09-22 14:27:00 +00:00
Matt Wheeler 290e7928d3 Gemspec for Academic Benchmarks gem uses a URI
Fixes CNVS-15705

This 'just' needed a valid uri to keep some versions of bundler from
throwing an invalid gemspec error, which could prevent bins or native
extensions from getting installed, causing problems in extreme cases.

Test plan:

Run `bundle install` and see that you don't get an error about an
invalid gemspec (using an impacted version of bundler, such as 1.3.2.

Alternative, just trust me that this fixes the error, don't worry about
changing your bundler version, and simply verify that Canvas
still bundles.

Change-Id: Ibd658c55e47118355f5bed516f23c627edf1d153
Reviewed-on: https://gerrit.instructure.com/41482
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2014-09-22 13:14:35 +00:00
Transifreq ff9b163d31 Updated nb translation
Change-Id: Id00aaf6931b1e7629d5da3195124f99e0e9287c9
2014-09-22 05:26:49 -06:00
Transifreq fdaf97c2d9 Updated fr translation
Change-Id: Ia916b311dfa77153f9e2694c887c800a5ce678da
2014-09-22 05:11:14 -06:00
Transifreq cd14299550 Updated nb translation
Change-Id: Id25d04ec91232f0da5dc68bf17f71e05c250f2b5
2014-09-21 05:24:45 -06:00
Simon Williams a972592ee7 Revert "DA - course dashboard recent activity"
This reverts commit aa73005690.

Change-Id: Ib5ed3f0381a2fe0d4eb6c6e6afcc95a46177903e
Reviewed-on: https://gerrit.instructure.com/41484
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Matthew Wheeler <mwheeler@instructure.com>
2014-09-20 23:48:43 +00:00
Transifreq 2c120858e9 Updated fr translation
Change-Id: Ie0d253d6132c95181ee42b26d4e167f5d0790beb
2014-09-20 05:11:53 -06:00
Joel Hough 37a81a9ac7 make Notification.find work with string ids
fixes CNVS-15695

test plan
- running in production mode, cause a notification to be sent
- ensure the notification sends

Change-Id: Ie98cca4bc78597327d4199b1b6f64f2f0bfe12be
Reviewed-on: https://gerrit.instructure.com/41448
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-09-19 23:53:36 +00:00
Derek DeVries 298e946c4a fix issue with infinite loop existing a partially completed quiz
fixes CNVS-11763

test plan:
  - login as a user
  - take a quiz in Chrome
  - while taking the quiz in, press 'backspace' or 'delete' twice quickly
  - prompt 'are you sure you want to leave this page?' appears
  - you should be able to dismiss the prompt and remain on the page

  - other things to check
  - trying to leave multiple times will continue to show the prompt every time
  - you should be able to successfully leave the page from the prompt

Change-Id: I1e9454ae902e6686f48c48f1c05cf1e28f2d0c39
Reviewed-on: https://gerrit.instructure.com/41457
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-09-19 22:14:38 +00:00
Cameron Sutter aa73005690 DA - course dashboard recent activity
fixes CNVS-14101

test plan:
 * setup DA
 - go to a course home page
 * as a student
 - 'recent activity' should not show notifications about
   assignments/discussions that are not visible to the student
 * as a teacher
 - 'recent activity' should show notifications for all
   assignments/discussions

 - make sure it works normally with DA off

Change-Id: I7d4cad8fd6e6cc5ed4dc48ed139182bcc59652eb
Reviewed-on: https://gerrit.instructure.com/40722
Reviewed-by: Liz Abinante <labinante@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-09-19 21:48:35 +00:00
Ahmad Amireh 5713c8ef67 CQS: accessible answer bars chart
Closes CNVS-15303

Enhancements:

  - chart is ignored by SR
  - a table is now provided for SR instead that reads the response
    counts in a in a friendly manner:
    * each answer text is prepended with the answer position
    * correct answers are read as such
    * the answer text itself acts like the row's header, so you hear a
       full sentence describing both the answer and its response count
    * hearing-friendly response counts

Here's an example of what you'll hear for a table with the following
data:

[ A               | 50 ]
[ B               | 0  ]
[ Something else  | 5 ]
[ No answer       | 3 ]

"Answer one: A. This is a correct answer. Fifty responses."
"Answer two: B. No response."
"Answer three: Something else. Five responses."
"Answer four: No answer. Three responses."

TEST PLAN
---- ----

  - go to CQS
  - using SR, visit question boxes that have the Answer Distribution bar
    chart
    + verify you do not gain focus to the chart, it should be totally
      ignored by the SR
    + verify you hear the answers laid out as described above (I've had
      to use the table mode in VoiceOver for this effect)

Change-Id: Iad32a3b5ed652ab531b9b1bc98a3a4dcf91d0dfd
Reviewed-on: https://gerrit.instructure.com/41331
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-09-19 21:13:24 +00:00
Cody Cutrer 3d157f5f02 remove finding assets by non-signature
Change-Id: I757bd754466491aa0b1f1df2b8a5d0dcd5b355c4
Reviewed-on: https://gerrit.instructure.com/41376
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-09-19 20:20:45 +00:00
Chris Hart 95f06c1d36 Add toggle-style checkbox component to styleguide
Fixes: DES-259

Test plan:
- Go to /styleguide and click on the Toggle link
- Test out the toggle for usability and accessibilty
- It should support keyboard navigation and a
  disabled state added to the input element

Change-Id: I5823969a8b2195230fa19445f61004ac1300143d
Reviewed-on: https://gerrit.instructure.com/40857
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2014-09-19 20:16:16 +00:00
Nathan Mills 3216d2e2a4 make all_tools_for return a scope
fixes: PLAT-650

test-plan:
*you should still be able to select a external tool for a module item
*the list external tools api should still work

Change-Id: I6ec4826b4efc92f33ceb5852ed9dbb0d971f3590
Reviewed-on: https://gerrit.instructure.com/41403
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-09-19 20:09:08 +00:00
Colleen Palmer 42ec3aa43d Contrast Ratio Fixed in Gradebook
fixes CNVS-12669

This fixes the contrast ratio issues we were having on normal and
high contrast UI.

Testing Process:

- Make sure you have letter grading enabled for assignments
- Make sure you have some students that have had assignments
graded
- As a teacher or admin, go to Grades
- The letter grade that shows in the "Total" column should be passing
contrast in Webaim for Regular and High Contrast now
Example: http://cl.ly/image/350X350X0623
- Click on a student
- The letter grade that shows up in the "Score" column should also
be passing Webaim for contrast in both regular and High contrast
settings
Example: http://cl.ly/image/3F2e352v3x1O

Change-Id: Ibb92571df760add588e998e82bd0455eca322a77
Reviewed-on: https://gerrit.instructure.com/41066
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Colleen Palmer <colleen@instructure.com>
2014-09-19 19:36:46 +00:00
Nick Cloward 47803cad63 bump ruby-saml-mod version
fixes: CNVS-14531

ruby-saml-mod 0.1.30 fixes a bug with enforcing ISO-8859-1 encoding when
verifying the signature on the XML.  This will fix issues with saml
assertions containing non ASCII characters.

Test Plan:

  - Setup a SAML provider
  - Setup a user in the provider that has a non ASCII/UTF-8 character in the
    attributes passed back with the SAML response.
  - Create a user to match from the provider in Canvas.
  - The user should be able to log in throught the SAML provider.

Change-Id: Ib95c8d87acfad94c0d96957d3c2f0713738854f4
Reviewed-on: https://gerrit.instructure.com/41367
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Paul Hinze <paulh@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-09-19 19:34:34 +00:00
Chris Hart dc460a4160 More accessible focus states for buttons, links, tabs
Fixes: CNVS-14477 CNVS-14478 CNVS-14479 CNVS-14886

All link elements in Canvas should now be marked with
a clear light blue outline when focused by keyboard
navigation. The same visual treatment has also been
applied to buttons and tabs.

Screencast: http://screencast.com/t/QxzcHXsC8s

Test plan:

- Use the keyboard to tab through the navigations
  and various pages of Canvas.
- Make sure the focus state looks the same as in
  the screencast.
- Note: keyboard navigation is implemented differently
  in every browser. Make sure your browser preferences
  are set to allow keyboard navigation.

Change-Id: I9702d2381fc05126106988c3b5523cced9a8f6d4
Reviewed-on: https://gerrit.instructure.com/41091
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2014-09-19 19:07:57 +00:00
Cameron Matheson bcdc5f3328 prevent ungrouped users from submitting to group assignments
fixes CNVS-15524

Test plan:
  * Make a group set with no groups
  * Make an assignment with that group set
  * No students should be able to submit to the assignment
  * Make some groups.  Add (some) students to one of the groups
  * Students in that group should be able to submit, others still can't
    submit
  * the speedgrader/downloading submissions should work

Change-Id: Ic4357b1fc28dfe6408de3b98fdea279757995a84
Reviewed-on: https://gerrit.instructure.com/41297
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-09-19 18:26:54 +00:00
Brad Horrocks 3640d6bb77 Spec for testing announcement notifications
Just trying to make the world a better place

Change-Id: If8841288402936868fc8336729a9def975cb0d7a
Reviewed-on: https://gerrit.instructure.com/41284
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
2014-09-19 15:54:34 +00:00
Jeff Belser 22b7696c00 communication channel confirmation_url param for users api
fixes CAT-422

Test Plan
  1. With an admin user, submit a POST request to the canvas api
     to create a new user with the [:communication_channel][:confirmation_url]
     param set to true
  2. Ensure that the json payload returned contains a valid [:confirmation_url]
     value which can be used to complete the user registration on canvas
  3. Ensure that users outside site-admins and account-admins cannot
     access this data via the api

Change-Id: I6566202c12241893590bb98705e28287b1fa76fc
Reviewed-on: https://gerrit.instructure.com/40851
Reviewed-by: Dave Donahue <ddonahue@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
2014-09-19 15:52:10 +00:00
Jeremy Stanley 3bfb9aee31 cache the module views separately per timezone
test plan:
 0. have a course with a module that will be unlocked at a
    future time
 1. enroll two teachers, and set different time zones for
    each in their user preferences
 2. each teacher should see the unlock time in her own
    time zone (not the time zone of whoever saw the page
    first)

fixes CNVS-12088

Change-Id: Ifcde9af7c7abaf2298ba59180fd0737a73945a3d
Reviewed-on: https://gerrit.instructure.com/41351
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-09-19 15:34:11 +00:00
Simon Williams 1a4d0c65ef fix assignment index course homepage for invitation previews
fixes CNVS-15496

test plan:
- create a course (not public)
- set the home page to be the assignment list
- invite a user
- in an incognito window, load the invitation link (/courses/x?invitation=zzz)
- it should load

Change-Id: Ia2d2274a4a3b1f7d1c76cd891f03a2c5c9c02d11
Reviewed-on: https://gerrit.instructure.com/41344
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-09-19 14:30:07 +00:00
James Williams d33b47f491 bump moodle2cc to 0.2.16
test plan:
* import the package referenced in the ticket
* the questionnaire question should have yes/no choices

fixes #CNVS-15606

Change-Id: I21bc5cc679524dd45adf2b178d6783f7e58ed5dc
Reviewed-on: https://gerrit.instructure.com/41276
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-09-19 13:43:52 +00:00
Transifreq e5ef5e2de5 Updated ko translation
Change-Id: I872999f3a47f3e3e98ca6ea0666da66504a62b45
2014-09-19 05:28:27 -06:00
Transifreq 0203178cf8 Updated zh translation
Change-Id: Iea71d78d768d7136f4853564191e61a37d7f1b6a
2014-09-19 05:14:52 -06:00
Cody Cutrer 79efca88b8 optimize ContextExternalTool.find_external_tool
refs CNVS-15408

 * don't do a query that's guaranteed to return nothing
 * use a single query to get all tools for all pertinent contexts

test plan:
 * use an LTI tool
 * it should still work

Change-Id: Ibc7d8ac8cd88fd3f7d806f8f14d90014d969882b
Reviewed-on: https://gerrit.instructure.com/40881
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-09-18 23:08:47 +00:00
Brian Palmer c5abe5a455 avoid using a relative path for gem plugin loading
Change-Id: I33108ffccaa26a5995543e740f2696d4829254c4
Reviewed-on: https://gerrit.instructure.com/41358
Reviewed-by: Dave Donahue <ddonahue@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-09-18 22:29:07 +00:00
Brian Palmer 2eb1b4db7c rails4: gemify attachment_fu
closes CNVS-14268

Since this is very clearly our own fork of the gem at this point, I've
removed a lot of unused code, rather than fixing it up to work as a gem.
This includes:

* all the other processors besides mini_magick
  * red_artisan, it was only used by the core_image processor
  * geometry and the Array monkey patch, it was only used by image science
* the db_file_backend
* the Tempfile monkey patch, I fixed the AttachmentFu code to properly
  create tempfiles with the desired extension
* removed the Technoweenie outer namespace, to match normal gem practices

test plan:

Attachments should still work as before, including viewing, uploading,
downloading, and thumbnail generation.

Change-Id: I94ff63182af839ec54b64714defd6912b0d91f65
Reviewed-on: https://gerrit.instructure.com/41281
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-09-18 22:28:54 +00:00
Ahmad Amireh cb7bdbbea9 Quiz taking: reliable auto-submission
The big change: on browsers that support it (everything except IE8 and
9), we now use a Web Worker for time-limit checks. This is much more
reliable cross-browser than plain setInterval() when tabs are
inactivated as the workers are spawned in an actual background thread
and run until the parent page is killed.

This not only has the benefit of updating every X seconds consistently,
but it will also make sure the quiz is submitted when time is out, even
if the student isn't looking at the Canvas page.

The second change is a secondary defense line: when we submit, we use
either the current time, or the time at which the quiz session should've
timed out, to not confuse support that the student seems to have had
extra time when it was really just JS code being stalled.

Closes CNVS-8463

NEW STUFF
--- -----

  - r.js plugin for loading web-workers, if browser support exists,
    otherwise returns null so you can define fallback code

TEST PLAN
---- ----

  - create a quiz with 1 minute time limit
  - in Chrome, open the console tab, right click and enable the "Log
    XMLHttpRequests" option so you can see the requests we're making to
    the Canvas API
  - start taking the quiz by a student, and keep watching the console
  - tab away to some other page
    + after like 10 seconds, go back to the quiz page and verify you see
      the timer has reached 50 seconds or so
  - sleep for a while until the countdown has reached like -7 seconds
    + tab back and verify you see the "Auto-submitting in ..." dialog
    + tab away!!!
      - in 7-10 seconds, if you watch the console, you will see that the
        quiz is auto-submitting
      - if you go back to the tab, you will also see that you are no
        longer on the quiz-taking page, but are instead redirected back
        to the quiz page just as if you were on that tab

Change-Id: I640b1124de1c397dc7d7b8a2317f66917aa9328c
Reviewed-on: https://gerrit.instructure.com/41236
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-09-18 21:41:27 +00:00
Ahmad Amireh 98daa66b62 CQS: correct-answer ratio donut chart a11y
Closes CNVS-15302

Enhancements:

  - the redundant "Correct answer" is no longer read by SR
  - the chart is ignored by the SR
  - the description is read by the SR: "XX% of your students correctly
    answered this question."

Enhancements to other parts:

  - question description is now read right after the question position
  - no longer using <aside /> for the control button container, so SR
    won't stop to say "Entering (exiting) complimentary landmark", it
    will just speak the button directly instead

TEST PLAN
---- ----

  - go to CQS
  - head over to a question that has the correct-answer donut chart
  - verify the enhancements written above are in effect

Change-Id: Ia689441901bd4d310c3b18c0aafb40f5333246aa
Reviewed-on: https://gerrit.instructure.com/41330
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-09-18 21:41:18 +00:00
Ahmad Amireh eaa99b075a Numerical question answer of 0 should be displayed
Closes CNVS-13831

TEST PLAN
---- ----

  - edit a quiz
  - create a numerical question
  - choose an "Exact answer" with a number of 0
  - click Update Question
    + re-edit the question
    + verify you see 0 as the answer, not an empty input box
  - rinse and repeat with other numbers, and back to 0

Change-Id: Ic6c45665519055d37e9aa480ce1b09ea48d4d1f3
Reviewed-on: https://gerrit.instructure.com/41319
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-09-18 21:41:10 +00:00
Aaron Cannon dbadd7f147 a11y: Fixed screen reader issues with Kyle menus.
Screen readers no longer enter, exit, or report applications mode/region when
passing over menu trigger controls. Menu triggers can also be navigated
to with screen reader "jump to next/previous button" navigation shortcuts.

Fixes CNVS-15275

Test plan:
- Visit each kyle menu in Canvas.
- Verify with a screen reader:
  - That the trigger is reachable via normal arrow key navigation
  - That the trigger is reachable when navigating by buttons
  - That the menu opens when enter is pressed on the menu trigger
  - That forms mode is activated when the menu is opened (N/A in Voice Over).
  - That the up and down arrow keys allow one to navigate through the menu
  - That pressing enter on a menu option activates that action
- Verify that menu triggers are reachable by the keyboard (sans screen reader).
- Verify that all the other functionality relating to menus as discussed above
  is accessible to keyboard only users.

Change-Id: I81d7678251b7c43e67504d5569e59ccd2f846949
Reviewed-on: https://gerrit.instructure.com/40951
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
2014-09-18 21:33:17 +00:00
Jeremy Stanley 2d33566c57 fix incorrect file state in Attachment#restore
test plan:
 0. BEFORE APPLYING THIS PATCHSET,
    a) delete a file in a course
    b) restore it via /courses/X/undelete
    c) notice that the restored file is not visible
       to students (but is visible to teachers)
 1. apply this patchset and run migrations
 2. confirm that the file deleted in step 0 is now visible
    to students
 3. delete and restore another file
 4. confirm that the restored file is visible to students

fixes CNVS-15616

Change-Id: Id8be88e63686cd0811409dfe6adb8bbf1a9d74c3
Reviewed-on: https://gerrit.instructure.com/41286
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-09-18 21:06:18 +00:00
Mark Severson 80e06448bf fix calendar event creation creating undated events
test plan:
 - preconfiguration variants:
   - with & without user set to a different timezone
   - with & without different locales (e.g. Japanese)
 * navigate to the calendar
 * click on a day to begin creating an event
 * fill in the date and start/end times
   - with & without valid start/end times
 * click 'More Options'
   - ensure the edit page includes start/end times as typed
   - correct invalid start/end times, if necessary
 * click 'Update Event'
   - ensure the event appears on the calendar with the correct date/time
 * click on a day to begin creating another event
 * fill in the date and start/end times
 * click 'Submit'
   - ensure the event appears on the calendar with the correct date/time

fixes CNVS-11067

Change-Id: I31f6b1d7550b166a90c45d3f02132379c6dd7459
Reviewed-on: https://gerrit.instructure.com/40374
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
2014-09-18 19:28:33 +00:00
Ahmad Amireh c00c732f54 Quiz stats: escape HTML in answers in SA CSV
Closes CNVS-9167

TEST PLAN
---- ----

  - create a quiz with the question types listed in the ticket
  - take the quiz as a student and fill in answers like these:
    + <em>fill in the blank</em>
    + <em>fill in multiple blanks</em>
    + ...
  - visit statistics page and generate student analysis report CSV
  - open the sheet and verify the answers do not include the <em />
    tags, only the text within

Change-Id: I1523578801e27beeb4b29394fdcba93fdbda9bd4
Reviewed-on: https://gerrit.instructure.com/41234
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-09-18 16:21:28 +00:00
Cody Cutrer 4b38652108 remove unused config option
especially since we don't use dynamic finders anymore

refs CNVS-15126

Change-Id: Idba2142a8b4559ddf7932e5f155d4744f30c7c19
Reviewed-on: https://gerrit.instructure.com/41280
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-09-18 16:21:12 +00:00
Ahmad Amireh 1d1b12ef88 CQS: accessible report generation
This patch makes the report-generation functionality more accessible to
screen-reader and keyboard users. It also uses qTip instead of the old
jQueryUI.tooltip library we're using in Canvas for reliable keyboard
support and repositioning.

I'll highlight changes in the test plan.

Closes CNVS-15110

TEST PLAN
---- ----

Prepare for tests:

  - create a quiz with any number of questions
  - go to statistics cqs

We want to see if we can generate the reports using only the keyboard,
and another time without looking at the screen at all.

> Drive 1: generating the report using only the keyboard

  - use TAB to reach the "Student Analysis" generation button
    + verify the tooltip automatically opens as soon as you focus the
      button
    + press ENTER/RETURN
      - verify the report generation begins
      - verify the tooltip adjusts its position as the content changes
      - when it's complete:
        + press ESCAPE to close the dialog
        + verify that the focus is still locked to the button (which is
          now really a link)
        + click ENTER/RETURN
          - verify you get the Save-As file prompt
          - tooltip should now read "Report has been generated." or
            similar

> Drive two: generating the report with eyes shut

  - Turn on NVDA, JAWS, or VoiceOver
  - don't look at the browser! only these instructions
  - hit TAB until you hear "Generate item analysis report, button"
  - press ENTER/RETURN
    + you should soon hear "Report is being generated"
    + if you're lucky[1], you will hear the following updates:
      - "Less than half way to go" (when it's 50-75%)
      - "Almost done" 75-99%
      - "Report has been generated." at 100% and just before the button
        gets converted into a link
    + when it's done, you *should* hear "Download item analysis report,
link"
    + you should be prompted to save the file as usual
    + now when you close the dialog, if you TAB once, you should hear:
      - "Report has been generated."
  - reload the page
  - TAB a bit until you get to any of the (already generated) reports:
    + you should hear the "download..." message
    + if you TAB again, you should also hear *when* it was generated,
      something like: "Generated: Sunday ..."

[1] Even for quizzes with 400+ submissions, the report on my machine
would be generated in less than a second so I could not reliably get the
progress update messages to read all the time so it wasn't really
useful. YMMV. If you try this many times though, you'll at least hear
enough variations. Presumably, on production things take longer and
this will be more useful.

Change-Id: Ie879c20f5621e22b1b506f14e40877cf55eafb86
Reviewed-on: https://gerrit.instructure.com/40685
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-09-18 16:21:10 +00:00
Colleen Palmer 5a48c520be Courses index right sidebar breaking layout
fixes CNVS-15246

There was a random </div> close tag in here that was causing
the right sidebar to be pushed wayyyy right. This fixes it.

Test plan:

- Go to /accounts/
- Choose an account you know has courses
- On that index page the right sidebar should no longer be pushed
all the way to the right

Should look like this now: http://cl.ly/image/1N253D1b2F0u

Change-Id: Ibc813ddbf8051f0514673e3bba9e1da86d285123
Reviewed-on: https://gerrit.instructure.com/41182
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2014-09-18 16:11:03 +00:00
Cameron Sutter 0425b8652b DA - gradebook csv
fixes CNVS-14085

test plan:
 * enable DA
 - download gb csv
 > assignments without visibility should have "N/A" in the cell
 - upload gb csv
 > assignments without visibility should be ignored even if the "N/A"
   was replaced with a score in the cell
 > non-DA assignments can be changed like normal

 * without DA
 - download/upload csv
 > it should work like normal

Change-Id: I05984b4feb9046bc8de43bcf67aa46f2f751cafc
Reviewed-on: https://gerrit.instructure.com/40517
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
2014-09-18 15:49:31 +00:00
Cameron Sutter 248bdbe140 DA - gb csv modal
fixes CNVS-15487

test plan:
 - open the gb csv upload modal
 - click the link to learn more
 > it should open a new tab and take you to the guide pages

Change-Id: Ief4cffbdac0a59de8896ae8c17c2cde28d0d6311
Reviewed-on: https://gerrit.instructure.com/41175
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
2014-09-18 15:49:19 +00:00
Ahmad Amireh aed232828e Always shuffle quiz matching question matches
Closes CNVS-4342

TEST PLAN
---- ----

  - create a quiz with:
    + a matching question and 3 pairs of answers/matches and a bunch of
      distractors
    + infinite multiple attempts
    + shuffle answers option turned OFF
  - take the quiz by a student:
    + look at the order of the matches
    + submit and re-take
      + verify that the order of the matches has changed (if not, you
        may just been hit by the RNG wand, try again)
  - turn on the option to shuffle answers and verify the matches still
    shuffle like they did without the option

Change-Id: I492fa15f168ff26c50b1300d79ff0c589e626fe2
Reviewed-on: https://gerrit.instructure.com/41237
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-09-18 14:53:37 +00:00
Jeremy Stanley 9d3aa1004e ensure account nav tabs change in response to permissions
test plan:
 1. have a user in an account role that grants "manage outcomes"
 2. as this user, view the outcomes page
 3. modify the role to revoke the "manage outcomes" right
 4. wait one hour for various caches to expire
 5. ensure that:
   a) the Outcomes tab no longer appears in the account page
      left nav
   b) visiting the page manually (/accounts/X/outcomes)
      gives a flash message that the outcomes page can't be
      accessed and redirects to the main account page

fixes CNVS-15396
fixes CNVS-15608

Change-Id: Ie0a38c9663c0661cd32f3c35dad0e503063fb5f1
Reviewed-on: https://gerrit.instructure.com/41095
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-09-18 14:27:15 +00:00
Transifreq 89239c02c5 Updated zh translation
Change-Id: I9248f6100f060c723692a2addeb7b793c2b77bdf
2014-09-18 05:16:40 -06:00
Transifreq 9db7bac1a1 Updated de translation
Change-Id: Ie8ddb4c2a1f12d192dc24b9a3ba278617810db65
2014-09-18 05:08:02 -06:00
Ryan Shaw a0cb52f56a polish for the header in new files.
fixes: CNVS-15375
refs: CNVS-14390

this implements the new multi-select workflow
and makes the header all responsive and nice

test plan:
* select multiple things and delete, move, download them
* the "preview" and "edit status" are buttons are
  their own tickets.
* resize the browser window, the header should resize
  nicely.

Change-Id: I00088e41169c595127ff01d0b672855c6b4c0bc0
Reviewed-on: https://gerrit.instructure.com/41074
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-09-18 02:14:24 +00:00
Ryan Shaw f44dcfe1c2 Implement fancy breadcrumbs in new files
closes: CNVS-15249 CNVS-15372

test plan:
go to new files and make sure the breadcrumbs look like blakes mockups
especially try it when you have a bunch of crumbs and a small screen
it should have a '...' that opens in a drop down.

Change-Id: I632e4278aec4ee2d7373a6864d7d7c50fd067abc
Reviewed-on: https://gerrit.instructure.com/41052
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2014-09-18 02:13:24 +00:00
Ryan Shaw 2f4acbb850 get rid of margin below edit name form:
should look like: http://cl.ly/image/1k1Z0S193r3t
not: http://cl.ly/image/2A3A0q3p0b1i

Change-Id: Ifa5b69b3d311b94ca1f294f7747514ee760ae4af
Reviewed-on: https://gerrit.instructure.com/41293
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-09-18 01:22:26 +00:00
Nick Cloward 7e2bd8c0dd unknown user url redirect loop
fixes: CNVS-15618

Checks for a blank unknown_user_url along with a nil before defaulting
to the login_url.

Test Plan:

  - Setup SAML or CAS with a user that does not exist in Canvas.
  - Make sure the unknown_user_url is an empty string for the accounts
    authorization config.
  - Attempt to login to the user with and it should show a Canvas login
    page with an error that the user does not exist.
  - Change the unknown_user_url to nil and it should behave the same as
    if it was an empty string.
  - Change the unknown_user_url to a custom url and it should redirect
    to that page instead of showing the Canvas login page with an error.

Change-Id: I3d8de694100e2849119adfc3b0dd08ead58a80ed
Reviewed-on: https://gerrit.instructure.com/41296
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-09-18 00:17:40 +00:00
Joel Hough e190910cfe fix cross-shard conversations
cross-shard conversations caused a error when configured to access a
master/slave database setup

test plan:
 * with two users, in separate shards
 * send a message from one user to the other
 * the second user should receive the message successfully

fixes CNVS-15084

Change-Id: If4bde0bf966d44cb94fa1fd23f09190b6fc1e88e
Reviewed-on: https://gerrit.instructure.com/41075
Reviewed-by: Mark Severson <markse@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-09-17 23:10:56 +00:00