Commit Graph

1385 Commits

Author SHA1 Message Date
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
Aaron Cannon 34c395cfe0 Calendar: Date headings are read properly by screen readers in Agenda view
Dates are no longer abbreviated for screen reader users in date headings

Fixes CNVS-9623

Test plan:
- Open the calendar agenda view.
- Using a screen reader, confirm that the date headings are read with full day
  and month names, and not abbreviated names.
- Confirm that the dates still appear abreviated visually.

Change-Id: Id68b8d3e0486c238db8b78abdce3cabe6eec321a
Reviewed-on: https://gerrit.instructure.com/27309
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-12-12 23:06:16 +00:00
Cameron Sutter 5893d20b9a load Google Docs after authorizing during submission
fixes CNVS-9488

test plan:
 - as a student who has not registered gDocs
 - go to submission for an assignment that allows
   file upload
 - go to Google Docs tab
 - authorize Google Docs access
 - after the process takes you back,
   you should see your Google Docs

Change-Id: I70d466c875029003a7717303c1536c8142d57dbf
Reviewed-on: https://gerrit.instructure.com/27177
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
2013-12-12 22:34:57 +00:00
Simon Williams abb28daddc remove quiz_submission loading from gradebook1
it's expensive and the only reason we need it is for the quiz id, so we can
link to the quiz submission page.  instead, include the quiz_id in the
assignment object and look it up from there.

fixes CNVS-9943

test plan:
- full regression test of gradebook1, specifically:
- make sure it works for regular assignments and quiz assignments
- make sure it works for students with quiz_submissions and without
- make sure grading students with and without quiz_submissions works
- make sure it works for courses where num students + assignments
  + submissions is < 100 and > 100

Change-Id: I84f4f543d8a021d005f8247c6863c23d794fb621
Reviewed-on: https://gerrit.instructure.com/27300
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2013-12-12 21:21:59 +00:00
Nick Cloward ac6fafdde3 upgrade underscore.js to 1.5.2
See underscore.js release notes.
  http://underscorejs.org/\#changelog

Test Case:
  Make sure canvas isn't broken.

Change-Id: Iead9aa672e05d94c15465071519dfae300c9a161
Reviewed-on: https://gerrit.instructure.com/27313
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2013-12-12 18:50:13 +00:00
Zach Pendleton 30188819ea display calendar1 events on the right day
fixes CNVS-8759

test plan:
  * in calendar1, create an event with a start date after
    6:00pm;
  * in calendar1, create an assignment with a due time
    after 6:00pm;
  * reload the page and verify that the event and
    assignment both appear on the correct day.

Change-Id: Ie3d68250c2fff295d4c3c9f6c9d7a9d7eb48fcdd
Reviewed-on: https://gerrit.instructure.com/26833
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
2013-12-12 03:32:42 +00:00
Cameron Matheson 4907e71f0f make hypothetical scores work on unsubmitted assignments
fixes CNVS-9306

Test plan:
  * Make a new assignment
  * Go to the student grades page (as a student)
  * Enter a what-if score for the new assignment
  * The assignment group and final grade totals should change
    accordingly

Change-Id: I7f817fac56aec5460ced66e8ddd4abcf9af8064a
Reviewed-on: https://gerrit.instructure.com/27265
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2013-12-12 00:22:54 +00:00
Matthew Irish f6124a0ae3 use normal for loop on array in i18nObject
the Handlebars `t` helper was breaking in ember apps because of array
prototype extensions

moved to a normal for loop to avoid need for `hasOwnProperty` check

Change-Id: I3124da53727acd25df152818410efc3d6b3b3946
Reviewed-on: https://gerrit.instructure.com/27292
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matthew Irish <mirish@instructure.com>
Product-Review: Matthew Irish <mirish@instructure.com>
2013-12-11 19:52:16 +00:00
James Williams 5b20c6077c replace original_id attr_accessor with previous_id
in preparation for rails 3

Change-Id: I048e4f8db97dacf64616ad52ec075516b55f3c0f
Reviewed-on: https://gerrit.instructure.com/26966
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2013-12-10 21:33:24 +00:00
Aaron Cannon f216d75508 TinyMCE: prevent keyboard trap after switching to the HTML edit view
When a keyboard user presses enter to switch to the HTML edit view, their focus
is now set to the textarea field. It also prevents the HTML editor field from being hidden from screen reader users

fixes CNVS-6534

Test plan:
- Visit all WYSIWYG editors that offer a link for switching to an HTML edit
  view, such as the editors available on:
  - EPortfolio
  - course wikis
  - Quiz/assignment editors and submission pages
  - discussion topics
  - etc.
- Navigate to the switch view link with the keyboard.
- With the WYSIWYG editor active, press enter on that link.
- Verify that focus is placed in the HTML editor textarea.
- Verify that focus can still be changed by use of the keyboard, such as with
  the tab and shift-tab keys.
- Verify that the textarea in the HTML editor is not hidden for screen reader users.
- Because this change was not able to be made in one single location, verify
  that all WYSIWYG editors that offer the HTML edit option exhibit the above
  behaviors.

Change-Id: Ibe0793457fbc0381f24fca9399c2a79a4a79ff74
Reviewed-on: https://gerrit.instructure.com/26477
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-12-10 17:29:44 +00:00
Derek DeVries c69e0da6dd validate quiz score is numeric with a reasonable value when creating a graded survey
fixes CNVS-3637, CNVS-1421

test plan:
- as a teacher
  - create a new graded survey
  - setting score to a valid number should save
  - setting score to a string should give a validation error
  - setting score to a number > 2,000,000,000 should give a validation error
  - setting score to a number < 0 should give a validation error
  - the validation errors should show up after you change the value and move to the next field
  - the validation errors should also show up if you attempt to save the quiz

- as a student
  - take the graded survey and make sure that you can successfully complete the survey

Change-Id: Idea8732169ded62569483c2c872e928a05f86ef0
Reviewed-on: https://gerrit.instructure.com/27119
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2013-12-10 17:29:35 +00:00
Simon Williams 832a35765f manage focus with rubric on submission page
fixes CNVS-8916

test plan:
- create an assignment with a rubric
- go to /assignments/:id/submissions/:user_id
- using a screenreader, open the rubric with "show rubric"
- it should move focus to the rubric close button
- close the rubric with the button
- it should move focus back to the "show rubric" link

Change-Id: I3dcaea5bf8339ddf352a1619beec46ffa4c3a900
Reviewed-on: https://gerrit.instructure.com/27110
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2013-12-09 22:17:37 +00:00
Michael Nomitch 20775dbab8 added keybinding for full preview on old assignments page
fixes CNVS-3688

test plan:
go to assignments page (not draft state)
tab onto an assignment (or use j/k to get to one)
press "f" and you should be redirected to that assignment page

Change-Id: Ia155393c5c37a4e9bc3351af32ff6042d3a20d8c
Reviewed-on: https://gerrit.instructure.com/27112
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-09 16:25:25 +00:00
Derek DeVries 3890452d48 don't allow value more than a week for extra_time or 1000 for extra_attempts
fixes CNVS-6065

test plan:
- as a teacher:
  - moderate a quiz that you have created that has a time limit
  - adding extra time using a valid number should save
  - adding extra time using a string should give a validation error
  - adding extra time using a number > 10080 should give a validation error
  - adding extra time using a number < 0 should give a validation error
  - adding extra attempts using a valid number should save
  - adding extra attempts using a string should give a validation error
  - adding extra attempts using a number > 1000 should give a validation error
  - adding extra attempts using a number < 0 should give a validation error

Change-Id: Icf9cea4fd08611a0e7bf8be06b38d423c71bafb9
Reviewed-on: https://gerrit.instructure.com/27056
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2013-12-06 17:51:15 +00:00
Matthew Irish 14da46fe7e don't round score when grading a submission
scores were being rounded when calculating them from a grade, this
changes that behavior

rounding does happen whenever the score is presented for display
(assignments index page, submission show page, gradebook, speedgrader)

fixes CNVS-9540

test plan
=========
- create an assignment with 15 points possible and a grading type of
  percentage
- in speedgrader give it a grade of 88.75%
- verify that the grade is rounded to 88.8%
- verify that the score reads 13.31
- navigate to the submission show page
- verify that the score reads 13.31
- with draft state on: navigate to the assignments index page
- verify that the score reads 13.31

Change-Id: I72f5b3c4a38c965f27b6c8442e64b3c3aa8b353e
Reviewed-on: https://gerrit.instructure.com/26910
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Matthew Irish <mirish@instructure.com>
2013-12-04 22:48:48 +00:00
Aaron Cannon 081065c12b Fixed issue with form field errors not getting an ARIA role of alert.
Modified the global forms JS to make the adding of the ARIA alert a bit more
robust. Now if the page doesn't include an ARIA alerts container, an ARIA alert
role will be added to the error message container, so that we're at least
supporting some users whose browsers/screen readers support dynamically adding
the alert role.

Also fixes the aria alerts container to give an aria alert when supported by
the browser. If not supported, falls back on aria-live=assertive.

fixes CNVS-6609

Test plan:
- Confirm that error messages that appear on the time or date fields in the add
  or edit group appointment modal are automatically read by screen readers.

Change-Id: I08b7835a33e29d22f38a5ecf4436ed11776c2775
Reviewed-on: https://gerrit.instructure.com/26222
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-12-03 22:12:23 +00:00
Dan Dorman 14bf96dd1d Fix password-validation errors not showing up
Fixes CNVS-6032

The issue arises when an AccountAdmin tries to update a password, as
opposed to a SiteAdmin.

Test plan:
  - As an AccountAdmin user, try updating a user's password with an
    invalid (e.g. too short) password. Corresponding error messages
    should get displayed.
  - SiteAdmin users should of course still see error messages.
  - A thorough check would make sure that when a SiteAdmin is updating
    passwords for the same user across different accounts, the error
    messages get parsed according to that account's password policy.

Change-Id: Ifbfd9c41c22f7d20d1454b0a8153e499a1f0eb8f
Reviewed-on: https://gerrit.instructure.com/26802
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2013-12-03 17:24:25 +00:00
Matthew Irish 3256202e34 add keyboard shorcuts for gradebook
extracted the dialog for listing keyboard shorcuts from instructure.js,
as with current pages that have the dialog, it can be opened by pressing
"?" or ",".

added the following keyboard shorcuts:
"m" will open the menu for that assignment (in the header—"esc" closes it)
"s" will sort the current column
"g" will go to the assignment detail page for the current assignment
"c" will open the comment dialog for the currently active submission

all of these will only work after after escaping auto-edit of a cell, so
press "esc" then the shortcut

closing the header menu via the keyboard should re-focus the active grid
cell

if you choose to go to a dialog, when the dialog is closed, focus should
return to the active grid cell

when the active grid cell is focused it is expected to be in editing
mode

fixes CNVS-7907
fixes CNVS-8352
fixes CNVS-8353

test plan
=========
- navigate to a page that has keyboard shorcuts (discussion show, old
  assignments index, gb1)
- verify that pressing "?" or "," still opens the dialog for listing
  keyboard shortcuts

- navigate to gradebook2

- press "?" or "," and verify that the keyboard shortcut dialog opens
- verify that the above shortcuts are listed in the dialog

for each shortcut:
- in a grade cell, hit escape, then the shortcut key
- verify the action matching that shortcut occurs
- verify on menu close and dialog close actions, the active cell becomes
  focused and returns to edit mode

Change-Id: I9ae7898fc30627c71f1b495cc0a0ad4bec23d4ca
Reviewed-on: https://gerrit.instructure.com/26497
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Matthew Irish <mirish@instructure.com>
2013-11-27 20:12:51 +00:00
Aaron Cannon 544c7a6043 Revert "tinymce: don't set "aria-hiddden" for "simple"/HTML view"
This issue is solved in a slightly more forward-compatible manner in a soon to be pushed commit.

This reverts commit e676766800.

Change-Id: Ib97527147bb13d21fba65c70cfd5d52730266b8e
Reviewed-on: https://gerrit.instructure.com/26575
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2013-11-27 16:57:20 +00:00
Ryan Florence 1d45fa503a updates to testing ember apps, added ic-ajax
closes CNVS-9707

Change-Id: Id46061d69d7744e201a392c5f55af1e0438f2a3c
Reviewed-on: https://gerrit.instructure.com/26651
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
2013-11-26 21:15:53 +00:00
Jeremy Stanley dcf3df456b move draft state under feature flag umbrella
fixes CNVS-9496

test plan:
 - draft state feature should show up in site admin feature
   flags, or root account feature flags when called as site
   admin
 - when site admin hits "allow" for the feature, it should
   appear in the root account administrator's settings
   in "Off" state
 - the root account admin should be able to "Allow" the setting
   which allows a sub-account or course to turn it on
 - when the feature is turned on via the Feature Settings tab
   or features API, draft state functionality should appear
   in the course wiki pages and elsewhere

Change-Id: Id7403f2a8371b0a7bfebffbb8f29330fff5c94c5
Reviewed-on: https://gerrit.instructure.com/26308
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
2013-11-26 20:43:49 +00:00
Brad Humphrey 64394c32e4 shows a user warning for insecure tool launches
Test Plan:
  * Install an http tool
  * Launch the tool using each major browser
    - A warning should be displayed at the top of the page content
   * If the tool launch is blocked by the browser:
     - A button should appear
     - The button should launch the tool in a new tab
   * If the tool launch is not blocked by the browser:
     - The warning message should be removed

fixes PLAT-236

Change-Id: Ib3ae167a3ad542ece4e7c8a8f61bde92a12945d6
Reviewed-on: https://gerrit.instructure.com/26475
QA-Review: Nathan Rogowski <nathan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2013-11-26 16:56:28 +00:00
Braden Anderson aebb970c31 calendar: upgrade fullcalendar library
fixes CNVS-9164

test plan:
* verify that there are no regressions in calendar, with
    agenda view enabled and disabled

Change-Id: Id8dc4706034dc7cd308d4aa8df74de7061f061c3
Reviewed-on: https://gerrit.instructure.com/26566
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
2013-11-26 16:47:12 +00:00
Ahmad Amireh 0dff562ba8 Quiz IP Filters API controller - #index
This patch moves rendering of IP filters from the QuizzesController into
a separate, specialized API controller - QuizzesIpFilters.

The rendered IP filter object is backwards-compatible, as in it provides
the same three attributes: name, account, and filter. However, the endpoint
output has been modified to scope the array of filters under "quiz_ip_filters".
The front-end/JS part has been adjusted to accommodate this change.

REFACTORING
-----------

In an effort to reduce complexity, I've also taken to refactor all the
:before_filters that were looking up Quiz in the current context across
all Quiz controllers (where it was applicable), and that was done by
introducing a new component set: API Helpers.

API Helpers are modules that can be mixed-in, just like the API Modules,
that are really just a place to hold routines common between the API
and the regular controllers. I've put the first one in
lib/api/v1/helpers, namespaced under Api::V1::Helpers...

TEST PLAN
---- ----

  - Create a Quiz. No questions.
  - Set an IP filter of 192.168.1.1 on the Quiz
    - the restriction should still hold like it usually does
  - Perform a GET request to this endpoint:
    /courses/:course_id/quizzes/:quiz_id/ip_filters
    - A list of filters should be returned in JSON-API format containing
      the filter you set for the Quiz
  - Add one or more IP Filters on the account-level, and:
    - Re-perform the GET query:
      - The list should contain both the Quiz and the Account filters
    - Using the IP Filter search box from the Quiz settings page:
      - It should still properly list the available filters

refs CNVS-8988, CNVS-9586

Change-Id: I75c1b85024a58e6accd1627b7bee3da1185d2658
Reviewed-on: https://gerrit.instructure.com/26440
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>
2013-11-26 10:26:21 +00:00
Ryan Florence 4611dbce64 ember updates
- updated ember to 1.2.0-beta.3
- updated template precompiler
- added ic-menu
- added ic-dialog
- added ic-lazily-paginated-records
- removed context_modules2

Change-Id: I7269200f56522a556c2da6db44b7d0beef6fa1a4
Reviewed-on: https://gerrit.instructure.com/26520
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
2013-11-25 05:10:56 +00:00
Jon Jensen 936e88bd1f backbone 1.1
breaking changes we care about:
1. you can't set Model#id in Model#parse
2. @options don't get set by View#constructor anymore, but our custom
   View#initialize does still do it. if you don't call super, you're
   gonna have a bad time
3. the router strips off queries in the fragment hash (i.e. "?" and
   anything after it)

test plan:
general canvas regression. also specs. and tears. so many tears.

Change-Id: I6aedf7921df2e6f07adb6951cf674755c4c316be
Reviewed-on: https://gerrit.instructure.com/26489
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2013-11-22 20:41:07 +00:00
Derek DeVries b51d29e9ed quiz groups create and update accept collection of documents per jsonapi format
fixes CNVS-8964

test plan:
- In the existing quiz creation form
  - creating quiz groups should continue to work as expected
  - updating quiz groups should continue to work as expected

Change-Id: I7aa29faa9377d28de6dc6436b47171a68d8c34fd
Reviewed-on: https://gerrit.instructure.com/26563
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2013-11-22 17:27:23 +00:00
Josh Simpson b5b627efa6 Quiz question refactor / api implementation
fixes CNVS-7982
Changes parsing mechanisms for question data, and adds
API for quiz questions.

Change-Id: I483fc9c4718af50e1bed2ee3547905f857de6285
Reviewed-on: https://gerrit.instructure.com/25346
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2013-11-22 17:03:45 +00:00