Commit Graph

1412 Commits

Author SHA1 Message Date
Bracken Mosbacker 0e54b2b0bd changes to kaltura flash settings to help with stability
We read through much of the kaltura documentation and
changed some of the settings we send to the flash
widget. These changes can be activated with a new plugin
setting.

Test Plan:
 * Enable the new kaltura setting "Enable experimental flash settings"
   on an account
 * test kaltura
 * note any errors/weirdness that didn't happen before

Change-Id: I89cf5e25a53dd73127f97bd317380638523cac68
Reviewed-on: https://gerrit.instructure.com/29332
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
2014-01-28 19:53:06 +00:00
Jon Willesen 9f74c741e7 add drag-and-drop capability from month view to mini-calendar
fixes CNVS-10398

test plan:
 - navigate to calendar2 month view. this change does not apply
   to week view, agenda view, or to scheduler.
 - drag an event with a date and time to mini-calendar. UI
   should update and event should now be scheduled on the
   dropped date at the original time.
 - drag an all-day event to the mini-calendar. event should be
   rescheduled to the dropped date and remain an all-day event.
 - drag a midnight assignment to the mini-calendar. Note there
   is an existing bug dragging midnight assignments to
   Saturdays; see CNVS-10532.
 - drag a non-midnight assignment to the mini-calendar.
 - drag an undated event to the calendar and to the mini-
   calendar.
 - in-calendar drag and drop should still work as before in
   week view.
 - check on multiple browsers, and check for regressions.

Change-Id: I747ad05a40e5afa8a2c158a8903c203f5a53f02e
Reviewed-on: https://gerrit.instructure.com/29124
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-01-28 17:59:31 +00:00
Derek DeVries 4f815432c8 extract js_block in question_banks#show to external js file
fixes CNVS-10727

- test plan
  - navigate to the page for an individual question bank
  - ie: /courses/1/question_banks/1
  - mess around to make sure that everything continues to work
  - make sure no js errors show in the console log

Change-Id: I6b0e945edfe1ec5332961b5bf4ebd239e352fd00
Reviewed-on: https://gerrit.instructure.com/29108
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-01-24 17:54:27 +00:00
Michael Nomitch 75004e5e1c accessibility for what if score
fixes CNVS-7088

test plan:
  - Do the following with OSX screenreader and JAWS
    - as a student go to the grade summary page
    - using screenreader controls navigate to the what-if score
    - change the score and revert the score back to what it was
    - navigation should work properly
    - text that is read aloud should make sense
  - note: after changing the score you will refocus on the revert link,
    this is a fix for an OSX screenreader bug (and hopefully helpful too)

Change-Id: I84482d203e5ec73a4bc374bb663a0d451c502d51
Reviewed-on: https://gerrit.instructure.com/27995
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-01-24 16:19:09 +00:00
Jeremy Stanley 8d9d3a09c8 fix date parsing on course settings page
test plan:
 1. in course settings, enter a date such as "2/11/14" in the
    term start or end date
 2. save and reload the settings page
 3. go back to editing the page and ensure the date is still
    correct (and that it hasn't been interpreted as Nov 14 2002)
 4. also ensure selecting dates from the date picker widget
    continues to work
 5. also, make sure entering something that isn't a date
    doesn't cause a page error when saving

fixes CNVS-10339

Change-Id: I8c6eb5e47757899d42af04fc24676abe86c60ec3
Reviewed-on: https://gerrit.instructure.com/28350
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-01-23 21:22:39 +00:00
Ahmad Amireh 20a3562779 Quiz Submission Questions API - Update
This patch provides support for answering Quiz Questions via the API.

closes CNVS-9844, CNVS-10225

TEST PLAN
---- ----

Testing this will be a bit rough because there are many variations and
validations to cover. I'll spare the validations that are covered by
specs from the test plan.

Create a quiz with a question of *each* type except "Text" and "File
Upload". There's a script that creates a quiz with its questions
automatically for you if you don't want to keep doing this manually. See
references.

> Answering Questions

Now you need to answer each question via the API. Most of them vary in
formats, but they are fully specified in the API documentation page
(along with examples). See DOCUMENTATION for more info.

> Flagging Questions

Flagging, and unflagging, a question is the same regardless of its type,
see the "EXAMPLE REQUESTS" section.

> Access Validations

Here are some generic, non-question based validations to verify. You
should NOT be able to answer a question if:

  - the quiz submission has been turned in
  - the quiz submission is overdue
  - the Access Code for the quiz is invalid
  - the IP filter of the Quiz prohibits you from taking the quiz
  - the quiz submission :validation_token is incorrectly specified (ie,
    other students shouldn't be able to answer your questions)
  - you don't specify the latest :attempt, so if the Quiz has multiple
    attempts, and this is your 2nd take, you specify an :attempt of 1,
    3, or anything but 2 should fail
  - NEW: turn quiz into an OQAAT quiz with the "Can't go back" flag on;
    the API should not reject all requests to modify any of the
    questions with a 501 error saying that type of quizzes is not
    supported yet (support will come in CNVS-10224)

> Grading

Also, when you're done answering the questions, take a look at the
grades and make sure everything gets graded just like it does when using
the UI directly.

> Verifying results in the browser

While taking a quiz in the canvas UI, the scripts perform backups in the
background that would overwrite any changes you do via the API. If you
want to verify the changes you make via the API from the UI, you must
append "?backup=false" to the take quiz page URL, something like this:

http://localhost:3000/courses/1/quizzes/1/take?backup=false

Setting that flag will (for now) disable the backup behaviour and should
make things tick.

EXAMPLE REQUESTS
------- --------

Don't forget to set the 'Content-Type' header to 'application/json'!

> Answering a Multiple-Choice question

[PUT] /api/v1/quiz_submissions/:quiz_submission_id/questions/:id

{
  "attempt": 1,
  "validation_token": "1babd0...",
  "answer": 10
}

> Flagging a question

[PUT] /api/v1/quiz_submissions/:quiz_submission_id/questions/:id/flag

{
  "attempt": 1,
  "validation_token": "1babd0..."
}

> Unflagging a question

[PUT] /api/v1/quiz_submissions/:quiz_submission_id/questions/:id/unflag

{
  "attempt": 1,
  "validation_token": "1babd0..."
}

DOCUMENTATION
-------------

Run `bundle exec rake doc:api` and check out the Quiz Submission
Questions page. There's an Appendix that contains example requests for
each question type, as well as the errors produced by each handler.

LINKS
-----

  - bootstrap script:
    https://gist.github.com/amireh/e7e8f835ffbf1d053e4c
  - direct link to the API documentation page:
    http://canvas.docs.kodoware.com/quiz_submission_questions.html

Change-Id: I9a958323ece8854bc21a24c2affd8dc3972e46d5
Reviewed-on: https://gerrit.instructure.com/27206
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-01-23 17:49:36 +00:00
Stanley Stuart 3aac333542 add _.cloneDeep to lodash using lodash-cli
Change-Id: Ida5c3f7234efc7523c40e5244c45425ad1a4c21f
Reviewed-on: https://gerrit.instructure.com/28929
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
QA-Review: Stanley Stuart <stanley@instructure.com>
2014-01-21 16:46:43 +00:00
Aaron Cannon 904a6806f3 TinyMCE: Give Switch Views links more meaningful labels
Fixes CNVS-9799

Test plan:
- Visit every RCE editor in Canvas that offers a control for switching
  between the visual and HTML editor (nearly all of them).
- Verify that the control label is clear about what it does. I.E. not simply
  "Switch Views".
- Switch back and forth between views, and verify that the control always
  works, and that the label is correctly updated when the view changes.

Change-Id: Idc62f57b4914b170428c9e97b7286af177dac269
Reviewed-on: https://gerrit.instructure.com/27989
QA-Review: Myller de Araujo <myller@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-01-21 00:07:28 +00:00
Michael Nomitch fc62ee02f8 ensure that document matches student in speedgrader
fixes CNVS-1739

ajax calls to get the document were coming in out of order -
this fix makes sure that the student id of the response
matches the current student id

test plan:
  - As teacher make assignment that allows document submissions
  - As 5-10 students, submit pdfs/word documents for the assignment
  (no need to redo the above steps if you already have this setup somewhere)
  - In speedgrader try to click very quickly and get the wrong document to
    appear for a student (hint: this is easier with larger documents)
     - Do this with Crocodoc previews, Google Doc previews, and Scribd previews
     (each has a slightly different fix, so it is important to test each)
     - You shouldn't be able to get the wrong assignment to show up

Change-Id: Icac0a6d94f1ed7a73adbbc6fbcb47d84ff8e349d
Reviewed-on: https://gerrit.instructure.com/28300
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2014-01-20 21:31:27 +00:00
Michael Nomitch b57bdb95b2 round group_weights to two decimals
fixes CNVS-10309

Test Plan:
  - Go to old assignments index as teacher
  - Change group weights decimals to have many digits
  - Ensure:
    - Group weight gets rounded to two digits
    - Total weight is rounded to two digits

Change-Id: Idcedb1ea77a0d5bb4e3a14ea979d95c0197d52ba
Reviewed-on: https://gerrit.instructure.com/28325
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
2014-01-20 21:25:03 +00:00
Cameron Matheson 80ae6cad18 more hacking around our hacky onGridBlur event
fixes CNVS-10516

Test plan:
  * Turn on the teacher notes column in the gradebook
  * You should be able to click around in the textarea when editing
    custom columns

Change-Id: I290ab6cad6010856eab9cd11c19cbf3f93c66ac6
Reviewed-on: https://gerrit.instructure.com/28644
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Matthew Irish <mirish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-01-17 19:30:17 +00:00
Jon Jensen 54dcc3825a move login js from js_block to bundle, fixes CNVS-10544
because we added a dependency (see 130a1506) that wasn't in the common
bundle, the require in the js_block became asynchronous and would run
after the custom account js (r.js doesn't optimize js_blocks)

test plan:
1. use the following custom account js: http://bit.ly/1j4Js2x
2. go to the login page
3. you should see the custom field placeholders, and no weird overlapping
4. the javascript on the page should work (required fields, forgot
   password, etc.)

Change-Id: I6468f96dbf51f881e69aedb0f9c6968d9da061a0
Reviewed-on: https://gerrit.instructure.com/28765
Reviewed-by: Dan Dorman <ddorman@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-01-17 19:27:54 +00:00
Eric Berry 3ad41b9473 Submit to external tool form url built with ENV.COURSE_ID
Fixes PLAT-306

Change-Id: I61a77bdf7f05670d91ea03cecbe049076306d748
Reviewed-on: https://gerrit.instructure.com/28619
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
2014-01-16 22:03:07 +00:00
Josh Simpson a3ea2f14c6 add visual indicator to RCE color selector
fixes CNVS-6705
This commit adds a visual highlighting of the color chosen when selecting
colors in the tinymce editor.

Test Plan
1. Go to a page that includes the RCE (the quiz edit page includes one)
2. Switch between background and font colors using the color selector.
- There should be a visual indication of which color you chose (a
  shading of the background of the selected color)

Change-Id: Id3af0b7d36ee8f8fb3b069ef4fa9906558e9da2b
Reviewed-on: https://gerrit.instructure.com/28380
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-01-16 19:57:44 +00:00
Braden Anderson 4b2c6771bb discussions: use strings for IDs in ENV and materialized view
fixes CNVS-10341

test plan:
  * before applying this commit, if possible:
    * create a discussion
    * add a reply as a student
  * after applying this commit:
    * open the discussion as the student
    * verify that you can edit the reply you added before, but not
        those from other users
    * add a new reply
    * without refreshing, verify that you can edit your new reply
    * refresh the page
    * verify that you can still edit your reply

  * test basic canvas functionality (sorry)

Change-Id: Ifa654f7d853fd167d5bfbaee6184657209d58272
Reviewed-on: https://gerrit.instructure.com/28413
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-01-16 17:31:32 +00:00
Braden Anderson 41fbcc92b2 gradebook: focus selected section when opening popup
fixes CNVS-10420

test plan:
  * open gradebook in a course with multiple sections
  * open the section selection dropdown
  * select a section
  * reopen the dropdown
  * verify that the section you selected is focused

Change-Id: I18d7a346085fa77e1dcda6b8d17cda2f030b1b42
Reviewed-on: https://gerrit.instructure.com/28580
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
2014-01-15 17:10:02 +00:00
Derek DeVries fc77c13e17 disable regrade if a teacher removes an answer for a question after submissions are made
fixes CNVS-9853

test plan:
  as a teacher
    - create a quiz with a multiple choice answer
    - publish the quiz

  as a student
    - take the quiz

  as a teacher
  variation 1:
    - remove one of the answers from the multiple choice question
    - you should receive an alert telling you that regrade will disable for the question
    - confirm deleting the question
    - attempt to change the answer. The regrade box should not allow you to regrade
    - change the answer and save the quiz
    - edit the quiz again
    - once again attempt to change the answer for the question. Regrade should still be disabled

  variation 2:
    - remove one of the answers from the multiple choice question
    - you should receive an alert telling you that regrade is no disabled for the question
    - confirm deleting the question
    - don't change any answers.
    - save the quiz
    - edit the quiz again
    - attempt to change the answer for the question. Regrade should still be disabled

  variation 3:
    - attempt to change the answer. The regrade box should allow you to regrade
    - choose a regrade option (but don't update the question)
    - remove one of the answers from the multiple choice question
    - you should receive an alert telling you that regrade will disable for the question
    - confirm deleting the question
    - the regrade box should now say that the regrade is disabled
    - edit the quiz again
    - once again attempt to change the answer for the question. Regrade should still be disabled

  variation 4:
    - attempt to change the answer. The regrade box should allow you to regrade
    - choose a regrade option and save the quiz
    - regrade should be performed successfully

  other things to check:
    - various changes with the general idea that regrade should disable if you delete questions
    - copying quiz to a different course (regrade should re-enable when copied)
    - multiple submissions for a quiz (regrade should remain disabled)

Change-Id: Ic697e51519ce995a29064ef49b3384992a228b0b
Reviewed-on: https://gerrit.instructure.com/27838
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-01-15 03:44:01 +00:00
Braden Anderson 952cbefb75 lodash
fixes CNVS-10326

test plan:
  * require(['underscore'], function(_) {console.log(_.name)})
  * test canvas

Change-Id: If0b0e1e26f5344492250603dc4f863d138c28832
Reviewed-on: https://gerrit.instructure.com/28174
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-01-14 23:37:26 +00:00
Stanley Stuart 76ec23ecbd update to ember 1.3.1
Change-Id: Ia8ef4f9351bab01edb3fe989e628cfcb9412e227
Reviewed-on: https://gerrit.instructure.com/28542
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Stanley Stuart <stanley@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
2014-01-14 21:57:37 +00:00
Aaron Cannon 7e3576e857 TinyMCE: Added meaningful labels to the title and heading of the help dialog
Fixes CNVS-9796

Test plan:
- Launch a TinyMCE editor.
- With focus in the editor, press ALT+0 to open the Accessibility Help dialog.
- Using a screen reader, verify that the dialog title and first heading are
  meaningful and accurate.

Change-Id: Ibc1b9d61124686d69ef3e268af02b879c17c0c1c
Reviewed-on: https://gerrit.instructure.com/28443
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-01-13 19:56:11 +00:00
Cameron Matheson fbf3da7073 custom gradebook columns ui
closes CNVS-5856

Test plan:
  * in a course that has n custom gradebook columns, load the gradebook
    * the custom columns should be displayed in the frozen section
    * you should be able to edit the content for those cells and it
      should be remembered
  * enable the teacher notes column (in the gradebook dropdown)
  * use the teacher notes column
  * hide the teacher notes column

Change-Id: Ie7ab048d29047e895f4dac4018bce0d9b3897591
Reviewed-on: https://gerrit.instructure.com/27898
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
2014-01-10 23:21:08 +00:00
Braden Anderson d55cfcb536 calendar: upgrade color-slicer
fixes CNVS-10351

test plan:
  * open calendar2
  * verify that calendar colors look more distinct than in
      http://screencast.com/t/PpKgnpPZ

Change-Id: I488acb1e16af4e51728aa11c3dd667025b11fbc4
Reviewed-on: https://gerrit.instructure.com/28261
Reviewed-by: Braden Anderson <banderson@instructure.com>
QA-Review: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-01-10 21:50:46 +00:00
Stanley Stuart c639b1bea5 update to ember 1.3
Change-Id: I65b5520db5bd16bf7149e914b2119c11e283dfc1
Reviewed-on: https://gerrit.instructure.com/28159
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
QA-Review: Stanley Stuart <stanley@instructure.com>
2014-01-10 20:30:17 +00:00
Braden Anderson 6be1115fc7 clean up conferences js
fixes CNVS-10195

test plan:
  * regression test conferences
      (I suggest you compare to beta)

Change-Id: Idd8f8fff6636509f00d87b83193c097339d5fd14
Reviewed-on: https://gerrit.instructure.com/28094
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-01-10 20:00:54 +00:00
Sterling Cobb 1fe42ab856 allow accessible keyboard navigation in wiki-sidebar files tab
When inserting files many pages use wiki-sidebar. The files tab is now
accessible and allows navigation with the arrow keys and pressing enter.
There is also a dashed line that displays what area is currently being
focused on.

fixes CNVS-8997

Test Plan
With and without draftstate
Also, make sure you have files and folders created that are nested to
test this well.

1. Go to places in canvas that have wiki sidebars (editing a page for
instance).
2. Use keyboard arrows to navigate to the files tab on the wiki sidebar.
3. Use the tab key when on the Files Tab to start navigating the file
system.
4. Pressing the right arrow should expand a folder. Pressing it again
should go to its first child in the filesystem.
5. Pressing the left arrow should collapse a folder. If you press the
left arrow and are not on a folder it should take you to its closest
parent folder that is expanded.
6. Pressing up and down should navigate you to the next and previous
files/folders. When at the last file it will jump you to the next file
or folder in the file system.
7. Pressing enter on a file will insert the file into the text field
area. Focus will be in the text area.
8. There should be a dotted lined box that follows the focus on the
current file or folder.
9. It should also work in IE/Safari/Etc.Focus always remains on the
filesystem tree, it DOES NOT follow the currently selected items, we use
aria-selected tags to maintain this state for accessiblity. This is to
ensure Safari works sense it doesn't work when focus follows the
selected item.
10. When navigating with the keyboard scrolling the file section should
keep the highlighted or currently selected item in place.
11. Pressing the "end" button should take you to the last visible item
in the tree.
12. Pressing the "home" button should take you to the first visible item
in the tree.
13. When on the screen reader, folders should always be read with the
world 'folder' after their name and files will be read with 'file' after
their name.

Change-Id: I19bd5999298e96a21436f7e769e49bf3dbce9b29
Reviewed-on: https://gerrit.instructure.com/27616
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-01-09 22:12:44 +00:00
Sterling Cobb a5e82d930b fix accessibility issues with wiki sidebars image tab
It's now much easier to navigate and select images with the keyboard in
the 'images' tab of the wiki sidebar. Screenreader labels are now more
descriptive and when you click on 'upload a new image' it focuses you to
the first item automatically. Also, when searching flickr for photos,
you are now able to easily tab through the search results.

fixes CNVS-8998

Test Plan
1. Go to a page with a wikisidebar (Pages -> Select page -> Edit)
2. Use the keyboard to navigate to the images tab. Pressing the tab key
from the images tab should take you to the 'upload new image' link.
3.Hit enter to open and toggle the link. It should focus you
automatically on the select folder option.
4. When finding an image via the 'Find images on flickr creative
commons' link you should be able to use the keyboard to search and
navigate (via with tabs) the search results.
5. You should be able to insert an image into the editor after searching
by hitting the enter key.
6. Do steps 1 - 4 with the screenreader for detailed labels and to
ensure it can be navigated.

Change-Id: I714c19a87ae7f88525fc35aab37e4e057914f906
Reviewed-on: https://gerrit.instructure.com/28108
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-01-09 22:12:35 +00:00
Jeremy Stanley f34e456681 fix module item publish/unpublish logic
test plan:
 in modules page, with draft state enabled:
 - should be able to publish unpublished discussion topics,
   quizzes, assignments, and wiki pages by clicking the cloud icon
 - should be able to unpublish, via the cloud icon:
   * assignments with no submissions
   * quizzes with no submissions
   * discussion topics with no replies
   * wiki pages other than the front page
 - should not be able to unpublish (and a tooltip should appear
   explaining why, rather than an error message when you try):
   * assignments with one or more submissions
   * quizzes with one or more submissions
   * discussion topics with one or more replies
   * the front wiki page
   * attachments

fixes CNVS-9940

Change-Id: I57cd668ff5fa56d9aa2bb219bf06a54f97b8057c
Reviewed-on: https://gerrit.instructure.com/28105
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-01-09 19:45:13 +00:00
Liz Abinante 8a937b4a92 grades summary: toggles 'Show/Hide Details' button text
fixes CNVS-10253

test plan:
- on grades sumary page
- click 'show all details' button
- all details should expand
- button text should read 'hide all details'
- click 'hide all details' button
- all details should collapse
- button text should read 'show all details'

Change-Id: Iffade4195d520483995e6e0c7a8e0ab018c1bedd
Reviewed-on: https://gerrit.instructure.com/28137
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
2014-01-08 18:23:33 +00:00
Braden Anderson 62a1e0b994 discussions: handle keyboard shortcuts
fixes CNVS-5997

test plan:
  * open a discussion
  * verify that you can view shortcuts by pressing ? (or alt+shift+/)
  * verify that you can add a root entry by pressing n

  * focus a message
  * verify that you can edit it by pressing e
  * verify that you can delete it by pressing d
  * verify that you cannot edit or delete entries that you don't have
      permission to moderate
  * verify that you can reply to it by pressing r

  * verify that you can navigate through the entries with j and k
  * add more than ten replies to one entry and reload the page
  * verify that hidden replies are opened for navigation
  * verify that navigation order is correct for threaded and
      non-threaded discussions
  * verify that you can navigate through deleted items
      and newly added or edited items

  * verify that focus is maintained during these actions, including
      in rich editor launches
  * verify that these shortcuts work with a screenreader

Change-Id: I84bb061b9df30e3fb6006cd816b0b64e3da8c165
Reviewed-on: https://gerrit.instructure.com/27744
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-01-08 00:39:17 +00:00
Aaron Cannon 3b870087f0 TinyMCE: Improved the accessibility of the equation editor.
Fixes CNVS-6709

Test plan:
- Open the equation editor from within TinyMCE.
- Using the keyboard only, confirm that all controls are reachable and usable
  in both the simple and advanced views.
  - Using a screen reader:
  - Notice the hidden text recommending that screen reader users use the
    advanced view for improved accessibility.
  - Confirm that the advanced view is reachable and usable.
  - Confirm that the tabs are treated like tabs.
  - In the advanced view, confirm that each of the buttons within the toolbar
    has a label which says what will be inserted when pressing the button.
  - Confirm that the formula entry edit field in the advanced view has a
    meaningful label.

Change-Id: Ic71124b443494cdceda5792892048fdd3b6b405e
Reviewed-on: https://gerrit.instructure.com/27676
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-01-07 16:10:45 +00:00
Josh Simpson 0e85fd7770 fix text only questions counting against student's unanswered count
fixes CNVS-3975
this commit addresses a problem when there are text only questions
included in a quiz, when a student attempts to submit the quiz, they are
warned they have unanswered questions.

Test Plan
1. Create a quiz with at least one text only question, and at least one
other type of question.
2. Take the quiz.
3. Submit the quiz
- You should not receive a notice that you have unanswered questions.

Change-Id: I93d8f3ac768fcde72cb171923cb449ad510dc99d
Reviewed-on: https://gerrit.instructure.com/28058
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-01-03 17:23:00 +00:00
Braden Anderson be3c41ec1a calendar: move colorSlicer to bower
fixes CNVS-10151

test plan:
  * open calendar 2
  * verify that calendar colors work as before

Change-Id: I71b7bddec9f66f3c4a0e2c736b232dec0af3200f
Reviewed-on: https://gerrit.instructure.com/27907
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2013-12-31 22:40:29 +00:00
Stanley Stuart 4a230f3a7a fix editing questions when there are more than 25 questions
test plan:
  - As a teacher, create a quiz with more than 25 questions.
  - Refresh the edit page and click on the "Questions" tab.
  - You should be able to edit quiz questions at the end of the list
    (e.g. questions after question #25).

fixes CNVS-10212

Change-Id: I9045f91f527d31048ce3da24fa91b36c9e79a4de
Reviewed-on: https://gerrit.instructure.com/27967
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
2013-12-31 20:15:56 +00:00
Michael Nomitch 4bcacd7d7b rounded grading standard percentages to two decimal places
fixes CNVS-1442

Test Plan:
  - go to grading standards (aka grading scheme) page as teacher
  - set a value to have no decimals
  - set a value to have one decimal place
  - set a value to have two decimal places
  - save new grading scheme and reload page
  - ensure that thru this whole process that proper rounding occurs at each step

Change-Id: Ia9310225e94061638c2c648adeb744c4d84cd4d0
Reviewed-on: https://gerrit.instructure.com/27776
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2013-12-31 19:04:21 +00:00
Matthew Irish 5bb63f8c25 gb2 dialogs in screenreader gradebook
standardized the interface to the dialogs that are used in gradebook2
this allows us to reuse the dialogs for the screenreader gradebook
interface

extracted the upload dialog to its own file

added integration tests with the dialogs

buttons trigger actions on the controller

you can now observe the `isLoaded` flag on the records returned from
`fetchAllPages`

closes CNVS-9887

test plan
===========
- all qunit tests should pass
- in the screenreader gradebook interface, you should be able to open
  and use the upload, set assignment group weights, message all students,
  set default grade, and curve grades dialogs as expected

Change-Id: Ia6f95f87d4b0d70665c1abb258a676e5bb4c5a41
Reviewed-on: https://gerrit.instructure.com/27289
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Matthew Irish <mirish@instructure.com>
QA-Review: Matthew Irish <mirish@instructure.com>
2013-12-23 22:19:32 +00:00
Ryan Florence 779c4d38d4 removed vestigial vendor javascript
- not using ember model or ember data
- all that other stuff is installed with bower

Change-Id: Id8190bf413f07a11aa0b5a1bf1fa194c65969eef
Reviewed-on: https://gerrit.instructure.com/27763
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
2013-12-20 23:37:43 +00:00
Jason Madsen 8720198024 use ic-actions for quiz settings menu
closes CNVS-9398

test plan:
  - enable fabulous quizzes
  - navigate to quizzes index
  - verify that settings pop up menu works as before
  - verify that settings pop up menu is still accessible
  - verify that new settings style work for design

Change-Id: Ia734c9b1bf0299a396a77b602e55f4010c34dfee
Reviewed-on: https://gerrit.instructure.com/27175
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2013-12-19 21:51:01 +00:00
Zach Pendleton f5ee7dbfc3 remove tinychat code
fixes CNVS-10058

canvas no longer integrates with tinychat; this commit
removes legacy references to it.

test plan:
  * run specs

Change-Id: I4887e901d57ff39f8554af3e4eacd52ec4edd6e5
Reviewed-on: https://gerrit.instructure.com/27621
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
2013-12-18 22:51:45 +00:00
Braden Anderson ae22402623 conferences: reload after starting conference
fixes CNVS-8289

test plan:
  * create a conference
  * click the "Start" button
  * verify that a new window or tab opens
  * wait for the conference to load
  * return to the original window
  * verify that the conference now has a "Join" button
      and does not allow editing type or duration

Change-Id: Ib247693e540fa621e209e0ffa740d6324ccb4dc4
Reviewed-on: https://gerrit.instructure.com/27618
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2013-12-18 22:46:09 +00:00
Ryan Florence daa8134f55 one handlebars to rule them all
closes CNVS-9983, CNVS-9984, CNVS-9997, CNVS-10009

- using bower for handlebars and ember
- using bower for old handlebars precompilation
- using bower for ember precompilation

other notes:

- we don't use `Template` anymore, removed tests
- handlebars never intended for us to be able to
  drop ENV as a global handlebars variable, so
  we just explicitly throw it into the locals for
  each template.
  (https://github.com/wycats/handlebars.js/issues/565)
  

Change-Id: I954d6a2d944dd426fc923fe422020b26174811dc
Reviewed-on: https://gerrit.instructure.com/27497
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2013-12-18 16:55:19 +00:00
Simon Williams 94ad7974db catch invalid user ids in rubric assessments controller
also fixes an issue where the submission detail page broke after assessing
a rubric for the first time (never been assessed before)

fixes CNVS-9953

test plan:
- create a new assignment with a rubric for grading
- go to the submission detail page for a student who has never been graded
  with this rubric before (in other words, this will create a rubric
  assessment for the first time)
- grade them with the rubric
- you should be able to re-open the rubric and grade them again without having
  to refresh the page

Change-Id: I7245650b9527e11ec20b66e852a744ce67fb381d
Reviewed-on: https://gerrit.instructure.com/27541
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2013-12-18 16:19:03 +00:00
Liz Abinante 449008f687 makes scoring details and rubric accessible
fixes CNVS-5262
fixes CNVS-1940

test plan
- create an assignment with points possible
- create a rubric
- attach the rubric to the assignment
- publish the assignment if you're in draft state
- create some student submissions for the assignment
- grade a student's submission, assign the student points in the
  rubric table, and leave some comments
- go to the student's grade summary page (/course/:id/grades/:user_id)
- navigate to the assignment you just graded

* For each icon under "Details" ("X Comments", "See Scoring Details",
  "See rubric results"), do the following:
- click icon, verify that row expands and the correct table appear
- verify that you can keyboard navigate into the table and read
  all contents properly
- click icon again to close, verify that row collapses

- repeat above steps once more *without* toggling each table closed
- verify that you still keyboard navigate into the correct table for
  each corresponding icon with multiple options expanded

Change-Id: I8227d84cddc0f64c7ec15e025be428ecacd82340
Reviewed-on: https://gerrit.instructure.com/27218
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Liz Abinante <labinante@instructure.com>
2013-12-18 14:19:15 +00:00
Nathan Mills b17025abfe add scheduling support to conferences
refs PS-894

test-plan:
requires g/27337 to test functionality
* conferences should behave the same without g/27337

Change-Id: I546e806897fa35bc93b983da2d149e312f502d2d
Reviewed-on: https://gerrit.instructure.com/27338
Reviewed-by: Braden Anderson <banderson@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2013-12-17 23:46:41 +00:00
Aaron Cannon d12b5e2eea TinyMCE: Associated label with text field in link modal
Fixes CNVS-6706

Test plan:
- Visit a page with a rich content editor.
- Click the button to add a link.
- Confirm that the text above the URL field is read automatically by screen
  readers when the field receives focus.

Change-Id: I3c036d0cc7173094facf309f041c4a886a1f38c5
Reviewed-on: https://gerrit.instructure.com/27585
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-12-17 20:12:41 +00:00
Nick Cloward fb331fffc7 test LDAP Settings modal window has info that runs off edge
fixes: CNVS-4431

The window was to small width wise.  This increases the width of the dialog.

Test Case:
  - Setup some LDAP authentication.
  - Run the Test LDAP authentication.
  - The content of the dialog should fit width wise for success and failed
    cases.

Change-Id: Iaf4bd8ae29006134d190fdcce45bb95e3d64a2e7
Reviewed-on: https://gerrit.instructure.com/27482
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2013-12-16 21:51:22 +00:00
Aaron Cannon 79e1a96891 TinyMCE: Make shift+tab take focus to the link before the editor
Fixes CNVS-9789

Test plan:
- Visit any page witha rich content editor.
- Tab into the editor.
- Press shift+tab and confirm that your focus is taken to the focusable
  element directly before the editor.

Change-Id: Ib60730e85008aed99f87811fdad218d6add3a947
Reviewed-on: https://gerrit.instructure.com/26928
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-12-16 18:39:28 +00:00
Ryan Florence e07f162451 added ic-actions to replace kyleMenu in ember apps
closes CNVS-9982, CNVS-9980

also updated ember/shared infrastructure to
support it

Change-Id: I1cbf4529124af16bb09aab47682c6254d5cff0ed
Reviewed-on: https://gerrit.instructure.com/27448
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2013-12-16 17:56:57 +00:00
Cody Cutrer f4fd18dc51 Merge pull request #364 from jswarren/wikiSidebar-file-upload
Returns missing folders to the wikiSidebar file upload folder list
2013-12-13 10:47:32 -08:00
Ryan Florence 8350218104 introduced bower to manage js dependencies
also updated ic-ajax

closes CNVS-9979, CNVS-9981

Change-Id: I9cdfa997ea0df8de4b2900eac17c438369f92f2d
Reviewed-on: https://gerrit.instructure.com/27316
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2013-12-13 17:45:57 +00:00
Simon Williams 16d804df48 capture js stack trace when possible
in chrome, the 5th argument to window.onerror is the error object which
exposes a sanitized stack trace.

closes CNVS-9916

test plan:
- in chrome, cause a javascript error
- check error reports, it should have a stack trace
- in other browsers, cause a javascript error
- check error reports, it should not have a stack trace, but still correctly
  generate an error report

Change-Id: Ibdeaa612f2ac63b0cc9551a27f47126db974b947
Reviewed-on: https://gerrit.instructure.com/27135
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
2013-12-13 00:32:03 +00:00