Commit Graph

11178 Commits

Author SHA1 Message Date
James Williams dfba8c41fd spec: fix common_cartridge_1_3_spec for qti-disabled builds
Change-Id: I13b31404db0927f8833bdabb5765d66be910b1f4
Reviewed-on: https://gerrit.instructure.com/35958
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2014-06-05 16:27:34 +00:00
Brian Palmer ce945a721b migration lint for instance vs class migration methods
self.up works in rails2 and rails3, but up only works in rails3+

also tag the switchman migrations as RAILS3 only, now that they actually
run in rails2

Change-Id: I768c8e657e86de6504a40444d127e2d875ce6934
Reviewed-on: https://gerrit.instructure.com/35390
Tested-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2014-06-05 15:55:55 +00:00
Braden Anderson 0fb77b4079 profile: fix valid page views context
fixes CNVS-13451

test plan:
  * enable page view storage in cassandra
  * open Canvas
  * click "Settings", in the top right
  * verify that the page renders successfully

Change-Id: Ia4193f59e41f6993b61a05bbb853a8e601285d8f
Reviewed-on: https://gerrit.instructure.com/35950
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-05 15:45:53 +00:00
Nick Cloward 1ac46d18d6 source course copy validator permission
fixes: CNVS-13438

Changed the call to grants_rights? to grants_right? since there is only
one permission being checked.

Test Plan:

  - Setup a course where you do not have manage rights.
  - Try to copy the course and you should get an error:
    You are not allowed to copy the source course.
  - Give yourself manage rights to the course.
  - You should be able to copy the source course as normal.

Change-Id: Ib19757158f7a3e28df3b3e6e68ade8d08ea7dba0
Reviewed-on: https://gerrit.instructure.com/35896
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-06-05 14:57:31 +00:00
Rob Orton de1c3828c0 fix api sis id permissions
fixes CNVS-13433

test plan
 - you should not be able to see sis_id if you do
   not have permissions to
 - test for sections and courses

Change-Id: I983825e2bd2ea76a1c7300cee3be7859a5e4f5d4
Reviewed-on: https://gerrit.instructure.com/35898
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2014-06-05 14:57:19 +00:00
Ahmad Amireh 4964865302 Quiz Stats - Whitelist exposed question data
Changes:

  - drops unused attributes from the api output, the only things we
    expose now are question id, type, text, and position (for sorting)
  - drops logic in ember that is no longer necessary
  - stringifies IDs in the serializer output

Closes CNVS-13388

TEST PLAN
---- ----

  - BEFORE YOU CHECK THIS OUT:
    - create a quiz with all question types
    - hit the stats API and save the JSON output in some text file
  - now check this patch out:
    - use the same quiz, hit the stats api
    - verify that each question document in "question_statistics" has
      the following fields beside the metrics:
      "id", "question_type", "question_name", and "position"
    - verify that MChoice/TF questions still contain the "item analysis"
      report data (like point_biserials, etc.)
    - check out the ember quiz stats and make sure everything is OK

Note: i found a small tool that can help you see the differences in the
API output if you push the old JSON and the new one into it: try it out
maybe it will make things easier: http://tlrobinson.net/

Note 2: the docs are really out-of-date now and need to be adjusted.
There is CNVS-13387 for that.

Change-Id: I2d2e8c4dcb0e406378b50cd63f5aba14efe8c2ef
Reviewed-on: https://gerrit.instructure.com/35739
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-05 09:12:33 +00:00
Ahmad Amireh cc1f4688fc Quiz Stats - Multiple Answers
Ports the generation of stats for that question type to the CQS gem.

Changes:

  - no longer exposing "user_ids"
  - can now identify students who skipped the question

Closes CNVS-13089

TEST PLAN
---- ----

  - create a quiz with multiple-answer question(s)
  - take it by a number of students and cover the following cases:
    - answer correctly by picking only the right choices
    - answer almost correctly by:
      1. picking only 1 right choice
      2. picking 1 right and 1 wrong choices
      3. picking everything
    - answer incorrectly by picking only the incorrect choice(s)
    - don't answer at all
  - get the stats from the API:
    - for "responses", "correct", and "partially_correct", verify they
      meet the specification in the docs
      - also for the "responses" field in each document in "answers"
    - verify that there is an answer document with "none" for an id with
      "responses" that reflect the number of students that skipped the
      question
  - visit ember quiz stats:
    - verify the "Attempts: X out of Y" should read the "responses"
      field out of the total quiz participant count
    - verify the donut chart reads the correct "correct" response ratio
    - verify there is a "No-Answer" bar
    - expand the question details:
      - verify that all the choices are displayed, and the correct
        choices are highlighted in GREEEN

Change-Id: Ibc08b6f521f9cae35dd16950c68c164d7e27d95d
Reviewed-on: https://gerrit.instructure.com/35736
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-05 09:12:19 +00:00
Ahmad Amireh 625f60ce97 Quiz Stats - Short Answer
Closes CNVS-13386

TEST PLAN
---- ----

  - similar to multiple-choice in https://gerrit.instructure.com/35734
    but with this question type with a few minor differences:
    - "correct" metric, see docs
    - "other"/"unknown" answer should be generated only if any student
      writes an answer that is not correct

Change-Id: I2d56afc0d9c1a3620d4de96059ebdadc56baecf9
Reviewed-on: https://gerrit.instructure.com/35735
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-05 09:12:07 +00:00
Cody Cutrer a3ef2c03b3 bundler 1.6 support
native bundler api for changing github sources to https

Change-Id: Ie6cc75b7279bf7bdb7bbb0e3f7423206ae5a05c7
Reviewed-on: https://gerrit.instructure.com/35834
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-05 02:19:46 +00:00
Josh Simpson 824cbe580d fix polling api 500 errors
fixes CNVS-13434
This commit addresses several 500 errors the polling api was emitting in
various circumstances.

Test plan
- Create a poll session with an invalid course section id
  - The API should return a 404 and JSON response of 'resource not found'

- Create a poll session with a blank has_public_results attribute
  - The poll session should be created with a 'false' has_public_results
    attribute

- Update a poll session with a new course_id and valid course_section id
  - The poll session should be updated successfully

- Create a poll submission with no poll_choice_id supplied.
  - The API should return a 404 and JSON response of 'resource not found'

- Create a poll submission who has made a submission for a different
  session on the same poll
  - The poll submission should be created successfully

Change-Id: I435067488914b2d1a3e48e2df5eda835228759c2
Reviewed-on: https://gerrit.instructure.com/35936
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-05 01:21:00 +00:00
Ahmad Amireh 4503abaabf Quiz Stats - Multiple Choice & True/False
Changes:

  - no longer exposing user_ids
  - no longer exposing response_values
  - new metric: "responses" at the root-level

Closes CNVS-13385

TEST PLAN
---- ----

  - create a quiz with those question types
  - take the quiz by a number of students, choose different answers
  - get the stats from the API:
    [GET] /api/v1/courses/:course_id/quizzes/:quiz_id/statistics
    - verify you get the documented metrics and they have the proper
      values
  - verify the relevant sections in ember quiz stats is still functional

Change-Id: I470912060042405629812585ef6667693b1302a1
Reviewed-on: https://gerrit.instructure.com/35734
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-05 00:10:40 +00:00
Ahmad Amireh 0c1c0700f2 Ember Quiz Stats - Cleanup
All-round cleanup and refactors. Changes detailed below.

Closes CNVS-12947

  - now using parseFloat() instead of multiplying by 1.0
  - guarded against division by zero
  - renamed occurrences of Em to Ember according to guideline
  - Ember optimizations; making use of what it provides in things like
    ObjectController property proxying, array utilities, etc.
  - using @toggleProperty for togglable booleans
  - null return explicitly in controller action handlers to disable
    bubbling
  - dereferences are now only set for methods that are called more than
    once
  - multiple dependencies listed in define([]) broken down into separate
    lines, no commas
  - refactored some of the chart code to make the distinction between
    configurable constants and computed variables more clear
  - in objects that defined them, moved all private/internal methods
    outside of the object API to the closure/define scope so that now
    they really can't be accessed by anybody but the objects themselves

TEST PLAN
---- ----

  - create a full quiz with all kinds of questions
  - take it by a number of students
  - play around with the ember stats page and try to break it
  - watch the console for any errors

Change-Id: Id7931157205767f154c8fc7246926d704a3e4ecd
Reviewed-on: https://gerrit.instructure.com/35560
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-04 23:31:23 +00:00
Michael Nomitch 9cea182715 dont overwrite settings that exist on new assignments
fixes CNVS-13238

test plan:
  - on new assigment index page
  - hit the + on an assignment group to make an assignment
  - hit More Options on the modal
  - on the edit page the right assignment group should be selected
  - other assignment settings should act normally

Change-Id: Idbba3b43767aae6dd45b7d34f286cde8c1e81403
Reviewed-on: https://gerrit.instructure.com/35365
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-06-04 21:51:40 +00:00
Jayce Higgins 3a569f8dd4 Accessibility: Cause screen readers to read "message sent" flash message
Fixes: CNVS-12806

Screen readers were not working with the flashMessage
method. Determined that adding a timeout on it will
make the screenReaderFlashMessage method fire as
intended. This results in screen readers properly
picking up on the alert.

Test plan:
Using a screenreader
1.) Navigate to conversations
2.) Send a message
3.) Verify that the screen reader reads the "message sent" flash message


Change-Id: I83985690fc672ceb146ceed3a17b0f997d360f75
Reviewed-on: https://gerrit.instructure.com/35858
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Aaron Cannon <acannon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2014-06-04 21:29:52 +00:00
Braden Anderson 9dc7c5974d roster: show activity columns based on "usage reports" permissions
fixes CNVS-13436

test plan:
  * for teachers, disable these permissions:
    * Add/remove other teachers, course designers or TAs to the course
    * Add/remove students for the course
  * enable View usage reports for the course
  * log in as a teacher
  * view the course roster
  * confirm that the activity columns are visible

Change-Id: Ida208431c5d94b5f6f3a7a2df2901e5c4300b3a0
Reviewed-on: https://gerrit.instructure.com/35891
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-04 20:49:44 +00:00
Duane Johnson 46014b86d0 change 'muted' attr of Assignment to boolean
Assignment object is documented as having a "muted" attribute of
Integer type. It should be "Boolean".

Fixes SIS-309

Change-Id: Ibad9ff20bae0f68fa642187fc1a250f869e80633
Reviewed-on: https://gerrit.instructure.com/35816
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-04 20:29:46 +00:00
Aaron Cannon 63fbe28104 Accessibility: Errors on the login screen are now read to screen reader users
Fixes CNVS-12223

test plan:
- Using a screen reader, visit the login page and trigger an error.
- Confirm that the error ("invalid password" or similar) is read automatically.

Change-Id: I0e9f19943a6bcdd78a73949cba58b88531e6eaf0
Reviewed-on: https://gerrit.instructure.com/35617
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>
2014-06-04 20:08:08 +00:00
Duane Johnson dfc3758aa9 remove asterisks from API doc generated methods
Method names generated for swagger could include asterisks, and
this would cause syntactically incorrect Ruby code to be generated
in Pandarus as a result.

Test Plan:
- method names generated by "rake api:doc" should not include "*",
  e.g. "resolve_path_courses_full_path" used to have be called
  "resolve_path_courses_*full_path" and should no longer be so.

Fixes SIS-307

Change-Id: I0c618bb9f1589721675766c4d307ff21c816c2fc
Reviewed-on: https://gerrit.instructure.com/35792
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Adams <eadams@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-04 20:07:45 +00:00
Aaron Cannon aa6e2e1569 Accessibility: heading levels reflect discussion reply nesting
Fixes CNVS-12502

Test plan:
- Create a discussion with threaded replies.
- Using a screen reader, verify that replies with varying levels of depth
  have varying heading levels to match.

Change-Id: I85fc47d54ef86e4ddcc0c5bdb184ec483e649b03
Reviewed-on: https://gerrit.instructure.com/35770
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-06-04 18:19:11 +00:00
Cameron Sutter af97bbace1 fix quiz show and edit pages
fixes CNVS-13320

test plan:
 - navigate to /quizzes
 > it should load without an error message
 - navigate to a single quiz (quizzes/:id)
 > it should load without an error message

Change-Id: Ic83f6ff6d5a9ae146057efb2418c8686cf52ec49
Reviewed-on: https://gerrit.instructure.com/35533
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-06-04 18:08:45 +00:00
Derek DeVries a8ad819043 fix the quiz submission preview inception issue in ember quizzes
fixes CNVS-13390

- test plan
  - enable draft state and quiz stats features
  - as a teacher
    - create a quiz with multiple attempts

  - as a student
    - take the quiz

  - as a teacher
    - go to speedgrader for this student's submission and add a note in the
      sidebar

  - as a student
    - go to your dashboard, the teacher's note should be in the sidebar
      under "Recent Feedback"
    - click on the note
    - it should bring you to the submission details page.
    - the ember version of the page should display in the frame
    - clicking on 'take the quiz again' should not cause inception

Change-Id: I1eb7d467ec08f8d3a1510602b4720483c1b1167c
Reviewed-on: https://gerrit.instructure.com/35871
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-04 17:56:00 +00:00
James Williams 03c1106a80 fix course copy wiki front page assignment
test plan:
* create a course with a front page
* create a new empty course
* copy from the first course to the second
* should set the front page

* also should not override an already existing
 front page

fixes #CNVS-13398

Change-Id: Iaeb73804d99f362129e3418106d3d9afd5cb4922
Reviewed-on: https://gerrit.instructure.com/35817
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
2014-06-04 17:30:33 +00:00
Braden Anderson d84c628ca8 outcome results API: include result count on rollups
fixes CNVS-13365

test plan:
  * open /api/v1/courses/1/outcome_rollups
  * verify that each score includes a count
  * verify that counts match the number of results for that
      combination of outcome and student

Change-Id: I0cbbab7d2c1ebb6574e090046c52b7a4159bb9b9
Reviewed-on: https://gerrit.instructure.com/35708
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-04 16:59:06 +00:00
Brian Palmer 34c2c77725 update cassandra.yml.example docs for clarity
Change-Id: I6f0a17aee45bf98e1a39e93ccadb7ee3ef1c3cae
Reviewed-on: https://gerrit.instructure.com/35679
Reviewed-by: Ethan Garofolo <egarofolo@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Tested-by: Ethan Garofolo <egarofolo@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2014-06-04 16:53:35 +00:00
James Williams 2d123f0b96 cc 1.3 importing qti from inside manifest
also fix a couple other minor cc issues

test plan:
* import the test packages referenced in the ticket

* should reference the images correctly in the first package
* should import a quiz in the second

fixes #CNVS-13340

Change-Id: I39dca77953d2b46703fa5163240329b039075ec3
Reviewed-on: https://gerrit.instructure.com/35815
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-06-04 16:36:07 +00:00
Derek DeVries e93073b793 add feature flags for quiz statistics and moderate pages
fixes CNVS-13228

the old way of enabling fabulous quizzes is no more. Now we're using proper
course based feature flags, and we have two different feature flags for
the new statistics page and moderate pages. You can enable these flags from
your account settings page.

In the code we now check these using:
  @context.feature_enabled?(:quiz_stats)
  @context.feature_enabled?(:quiz_moderate)

In ember we have a new environment attribute to check if moderate is enabled:
  env.get("moderateEnabled")

This also moves "take quiz" to the top item in the list, and changes its icon
to be a play icon to not have so many circles as icons in the menu

test plan:
  - feature flag changes
    - as a site admin
      - disable both quiz stats and quiz moderate
      - visit the quiz index/show/moderate/statistics pages
      - they should all be the non-ember versions of the pages

     - enable the quiz stats feature
       - as a teacher
         - visit the quiz index/show/statistics pages
         - this should be the ember version of these pages
         - visit a quiz page
         - this should enable the ember version of these pages
         - there should be a link to moderate the quiz in the dropdown menu
         - try to visit the moderate page (quizzes/123/moderate)
         - this page should render correctly as the old moderate page
         - the moderate tab should not be there

    - enable the quiz moderate feature
      - as a teacher
        - visit the quiz page
        - the moderate link in the drop down menu should be gone
        - this should enable the moderate tab in ember
        - visit the quiz moderate page, this should be the ember version
        - if you try to visit quizzes/123/moderate directly it should
          redirect you to the moderate page

  - api changes
    - as a teacher
      - request the quizzes api endpoint for a single quiz
      - you should see a new "moderate_url" property in the payload

    - as a student
      - request the quizzes api endpoint for a single quiz
      - you should NOT see the "moderate_url" property in the payload

  - other changes
    - with stats enables, the take quiz should be at the top of the dropdown
    - the take quiz icon has been changed

Change-Id: I04639890b425b1c5abf3305892e4b5b9d804b525
Reviewed-on: https://gerrit.instructure.com/35810
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-04 00:32:34 +00:00
Braden Anderson 6c17f80a90 messageable user: exclude bookmark from serialization (rails2)
fixes CNVS-13309

test plan:
  * set up pg_collkey on rails 2
  * open user settings page
  * verify that the page loads

Change-Id: I4b9bac1b48a974d0f415b9db7fa67468eddea237
Reviewed-on: https://gerrit.instructure.com/35780
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
2014-06-03 22:21:46 +00:00
Ryan Shaw c7e932fac7 fix all the places we were using incorrect css3 gradients
fixes: #CNVS-13294

firefox can render gradients prefix-free but
all of these were using an invalid syntax for css3
gradients. The invalid syntax still works in chrome
but not firefox (or other browsers).

That's a huge gotcha because almost every
example & tutorial out there also uses the bad syntax
and that's also how you would do the prefixed version
if it was required.

Now that we use autoprefixer, it was leaving
the unprefixed rule in-tact and not printing
a -moz one. and since these used the wrong syntax
for the unprefixed ones they didn't work in FF

so: you should use `to bottom` instead of `top`:

bad:
background: linear-gradient(top, white, black)
good:
background: linear-gradient(to bottom, white, black)

see: https://github.com/ai/autoprefixer#why-dont-gradients-work-in-firefox

test plan:
make sure these look right:
1. Assignments Gradebook:Grid View 
   http://screencast.com/t/eVop4gcbogm
2. Assignments Gradebook:Grid View Settings Dropdown 
   http://cl.ly/image/1g0M203Z250c 
   (BG color on hover isn't showing)
3. SpeedGrader student dropdown 
   http://cl.ly/image/2P2g0O3I3R08

Change-Id: Ie76a53da026dacfc0e1c21561292aa616b3de7c4
Reviewed-on: https://gerrit.instructure.com/35808
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2014-06-03 21:50:48 +00:00
Aaron Cannon bd6aba84e5 Minor translation and aria clean-ups
Test plan:
- Visit the conference concluded page and verify that the accessible label on
  the pop-up menu is "Settings" and not "settings".
- Visit the New Conference page and verify that the Edit option in the pop-up
  menu no longer has an unnecessary aria-label.

Change-Id: I563b1a1a479b213253b65da4362bd5c050c4ec35
Reviewed-on: https://gerrit.instructure.com/34629
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-06-03 21:42:57 +00:00
Jayce Higgins 9fb79fb4d5 Disable button group after deleting a conversation message
Fixes: CNVS-13399

After a conversation message gets deleted we need
the buttons that relate to that message to become
disabled, so that we don't get an error message.

Test-Plan
1.) Send a message to a user using conversations
2.) Login as that user and verify that you have
    received a message
3.) Delete the message
4.) Make sure that the messages buttons;
    reply, reply-all, archive, and delete,
    are disabled.

Change-Id: I373d278b0c17f1a09bc7a4280c5b5932594ac919
Reviewed-on: https://gerrit.instructure.com/35783
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2014-06-03 21:31:02 +00:00
James Williams 9c70e3e8b4 parse cc assignment extension data
test plan:
* importing the example package with cc assignment data
 should bring in canvas specific assignment data (like grading type)

* cc and canvas package import regressions

closes #CNVS-13270

Change-Id: Ic053837aa7642212bc0360f5e5ecf2cd27a88d9b
Reviewed-on: https://gerrit.instructure.com/35747
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-06-03 20:28:27 +00:00
Cody Cutrer 92ea7c5be5 bundle check before bundle install for gem tests
they're likely already installed, and it will save a ton of trips
to rubygems.org

Change-Id: I9ccf2194619a6e8f97d7f21b4e232dac7ff20d3c
Reviewed-on: https://gerrit.instructure.com/35694
Reviewed-by: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-06-03 20:09:10 +00:00
Derek DeVries 84bb35f3e3 disable take quiz / speed grader menu items in ember if they're not available
fixes CNVS-13258, CNVS-13300

test plan:
  - enable fabulous quizzes
  - as a teacher
    - create an unpublished quiz with only a single attempt allowed
    - go to the ember quiz page
    - the speedgrader link in the menu should be greyed out, and will give you
      a warning if you attempt to go there
    - the "take the quiz" menu item should be greyed out, and will warn you if
      you attempt to take it.
    - publish the quiz
    - the "take the quiz" menu item should now be enabled
    - take the quiz using this menu item
    - attempt to retake the quiz
    - now (since we're limited to 1 attempt) it should be disabled again

Change-Id: I634b0727fccee377c08a390e5507c71c9b9cdd25
Reviewed-on: https://gerrit.instructure.com/35687
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-03 19:55:56 +00:00
Ahmad Amireh a216fbed65 Ember Quiz Stats - Discrimination Index Sorting
Fixes an issue where sorting by the DIndex would position questions with
negative indices below questions that don't have a DI at all.

Closes CNVS-13384

TEST PLAN
---- ----

  - create a quiz with a few questions of type multiple-choice, and
    another of a different type
  - go to ember quiz stats:
    - sort by discrimination index
      - verify that MC/TF questions are sorted below each other, and
        other questions that don't have a DIndex are below them

Change-Id: I512b7e9fe5e2c909d7145415e022ab49abc1d889
Reviewed-on: https://gerrit.instructure.com/35737
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-03 18:18:50 +00:00
Cody Cutrer 8a59a4289a fix duplicate dependency in event_stream spec
to avoid bundler warnings

Change-Id: Ie997a7bb06c6d3334ea8973a80902a5239f67eb5
Reviewed-on: https://gerrit.instructure.com/35516
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-03 18:06:49 +00:00
Jason Madsen ae56bf0953 update ic-menu to 0.1.9
this release of ic-menu has fix for conditional items being ordered
correctly and adds ability to have a disabled menu item

closes CNVS-13355

test plan:
  - enable ember quizzes
  - navigate to an existing quiz overview / show
  - click the admin cog in the top right
    - lock, or unlock the quiz
    - click the cog again
    - using up and down keyboard arrows navigate through menu
      - verify that the key navigation order syncs with the visual order
        in the list

Change-Id: Ica4809c1454fcc0204155d60a429852f1af1bbc3
Reviewed-on: https://gerrit.instructure.com/35803
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-06-03 17:22:34 +00:00
Braden Anderson 816ee2c606 update enrollment activity while window is open
fixes ALYT-32

test plan:
  * open a course page as a student
  * check the student's enrollment's total activity time
  * leave the page open and in the foreground for at least three minutes
  * verify that the student's activity time is updated

Change-Id: I0448ea48dc6739ae1199996d0a4b88b030f43856
Reviewed-on: https://gerrit.instructure.com/35553
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-03 17:19:40 +00:00
Shawn Meredith e6de56a029 spec: vendored_gems pin rspec versions
Change-Id: Ibad1c172e58a69eb3a5a9ff2c874e861086ae227
Reviewed-on: https://gerrit.instructure.com/35756
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-06-03 14:54:02 +00:00
Michael Nomitch 35252ec992 stop appending digits to long assignment names
fixes CNVS-1662

test plan:
  - turn draft state off
  - go to the asignments index
  - create an assignment group w/ a 254 char name
  - click the add assignment link on the right side
    with the newly created assignment group selected
    - the assignment created should not have a number at the end
    - it should save properly
  - click the add assignment link on the right side
    with a different group (without a long name)
    - the assignment created should have a number at the end
      (like usual)

Change-Id: I1cb7c1aa80eb698e1e5b84098448817e943e79fa
Reviewed-on: https://gerrit.instructure.com/35300
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-06-03 14:35:52 +00:00
Rob Orton df32984b57 fix typo in account reports
Change-Id: Ice80bbb6a4cd4ad5ee2390414b106670ee6ce416
Reviewed-on: https://gerrit.instructure.com/35776
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2014-06-03 06:49:58 +00:00
Landon Wilkins 8f9d33a9ae ignore unpublished module items for course progress
fixes CAT-79

test plan:
1. Enable Draftstate on a course that has gallery set up
2. Set up a module with multiple module items
3. unpublish some of the module items ( individually)
* verify that the "requirement_count" adjusts to the
* unpublishing of items for the following endpoint:

/courses/:course_id?include[]=course_progress

Change-Id: I092b8c7a76a1abf4b05bd0a0ed654bee98de0217
Reviewed-on: https://gerrit.instructure.com/35654
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-06-02 22:56:46 +00:00
Jon Willesen 79f84cb830 add display_type configuration to external tools
this setting should allow tools to choose how they are displayed
in the canvas interface. the new full width display removes the
canvas sidebars, footer, and breadcrumbs.

test plan:
 - install a tool with course_navigation and account_navigation
   extensions.
 - make sure the tool displays normally without a display_type
   configuration.
 - use a console to set display_type = 'full_width' in a tool's
   course_navigation settings.
 - the tool should display as a "full width" tool when viewed
   by the course navigation link. full width means without the
   left or right side bar, without breadcrumbs, and without a
   footer. the canvas header should still be displayed.
 - the tool should display normally when viewed by the account
   navigation link.
 - use the console to set the display_type = 'full_width' in the
   tool's top level settings.
 - tool tool should now display full width using the account
   navigation link.

Change-Id: Idc19c0c96031bd80a45ce984241c23e4ce1efe78
Reviewed-on: https://gerrit.instructure.com/35160
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-06-02 22:41:30 +00:00
Jon Willesen dbb7b52e50 add launch_type parameter to external_tools show action
some planned extensions will need to launch their tools in a
manner similar to a module item tool, but with their extension
specific settings. Added the launch_type parameter to the show
action to make this possible.

refs RAN-53, RAN-55

test plan:
 - configure an external tool that has a an integration type
   other than account_navigation or course_navigation.
 - enter the url for the tool in a browser:
     /course/<course-id>/external_tools/<tool-id>
 - this should display an error.
 - add the launch_type parameter to the url:
     ?launch_type=<extension_name>

Change-Id: I1495db4deca8042ddf6f09548b006a0f7741db35
Reviewed-on: https://gerrit.instructure.com/35159
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-06-02 22:41:02 +00:00
Derek DeVries 0f86247eba add notification that ember quiz has been regraded
fixes CNVS-12440

test plan:
  - enable fabulous quizzes
  - as a teacher
    - create a quiz
    - take the quiz

  - as a student
    - take the quiz

  - as a teacher
    - change the answer and choose to regrade the quiz
    - view the quiz
    - it should show you a regrade notification

  - as a student
    - view the quiz
    - it should show you a regrade notification

  - try variations where
    1. the student's grade isn't affected, should say:
      This quiz has been regraded; your score was not affected.

    2. there is one question regraded, should say:
      This quiz has been regraded; your score was affected.

    3. there are two or more questions regraded, should say:
      This quiz has been regraded; your new score reflects 2 questions that were affected.

Change-Id: I4f12334d553b20314e37bf45ba16d3221778ad85
Reviewed-on: https://gerrit.instructure.com/35585
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-02 22:39:13 +00:00
Derek DeVries df6be76cc3 fix issue with republish quiz not working correctly pre-draft state
fixes CNVS-13391

test plan:
  - turn off draft state
  - as a teacher
    - create a new quiz
    - publish the quiz
    - make changes to the quiz questions
    - make sure the notification shows that you have unpublished changes
    - republish the quiz
    - the quiz changes should be published

  - make sure there are no regressions with CNVS-13003

  - make sure that publish/unpublish of a quiz with DS continues to work
    as expected
  - mess around with any way you can think to publish the quiz via modules
    etc.

Change-Id: I1365609f8c4fc10056de42a806a3629155e6643e
Reviewed-on: https://gerrit.instructure.com/35754
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-02 21:34:36 +00:00
Duane Johnson 3108453978 add section_id to submissions API when grouped
Canvas submissions API can group submissions by user, but does not
currently provide the section that the user is in. We need a
section_id in order for SIS integrations with powerschool to work
since the powerschool data model is different wrt how assignments
are stored (assignments are stored in sections in PS, but in
courses in Canvas).

Test Plan:
- Query submissions API via students, e.g.

curl -H 'Authorization: Bearer [yourtoken]' -XGET
     http://localhost:3000/api/v1/courses/1/students/submissions
     -F 'student_ids=all' -F 'grouped=false'

- section_id should now be included alongside user_id

Fixes SIS-301

Change-Id: I1c0ad639a088fa9e0b8015a25adf48fec64a9e0f
Reviewed-on: https://gerrit.instructure.com/35603
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-02 20:43:30 +00:00
Braden Anderson 657a48042c spec: test that multiple-recipient user notes actually work
Change-Id: Ie7aec4cd12177b8aa1ab39741acad2e09a84822c
Reviewed-on: https://gerrit.instructure.com/35697
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
QA-Review: Braden Anderson <banderson@instructure.com>
2014-06-02 20:35:55 +00:00
Aaron Cannon ea11d583fa Accessibility: Added navigation landmark to the the top bar.
Fixes CNVS-12503

Test plan:
- Using a screen reader, visit any page in Canvas.
- Verify that the top bar has a navigation landmark with a label of
  "User Menu"

Change-Id: I0ba93c519427d83f32e74f99ede2d2501bd76172
Reviewed-on: https://gerrit.instructure.com/35510
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-06-02 20:28:03 +00:00
Jason Madsen 61ce1b95c6 fix format when adding quiz time extention
round remaining seconds calculation to ensure time format for submission
extension time over 60 minutes. also keep timer from running more than
once per refresh interval.

closes CNVS-13336

test plan:
  - create a timed quiz
  - as a student begin quiz, but do not finish / submit it
  - as instructor
    - visit quiz moderate page
    - click the clock icon / running time
    - add time using the modal window to add up to more than 60 minutes
      total time for the submission
    - click submit on the modal
    - verify that running time in the moderate table updates
      consistently

Change-Id: I2f1f6b28b130dc41795e4b30c156d40beeca56f0
Reviewed-on: https://gerrit.instructure.com/35600
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-06-02 19:57:56 +00:00
Jason Madsen 0cd3d570e4 wait a tick to display quiz submission time
when a student has a previous submission and then starts a new one, it
was possible for the previous quiz submission time to temporarily be
displayed in the moderate table. so wait a tick until we display
the quiz submission time counter to verify that all the quiz submission
properties and bindings have had a chance to fire.

closes CNVS-13342

test plan:
- create a quiz with:
  - time limit
  - or pending due date
  - and multiple attempts
- as a student take the quiz, but don't submit it
- as a instructor visit the moderate page
  - verify that submission time is running
- as student, submit the quiz
- as instructor, click the refresh icon and verify that submission time
  stops running
- as student take the quiz again
- as instructor click the refresh icon again and verify that previous
  running time doesn't show temporarily.

Change-Id: Ie501e7ffa31fe4b4959eeb783cfaf868e0f0aa64
Reviewed-on: https://gerrit.instructure.com/35618
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-06-02 19:57:38 +00:00