Commit Graph

11178 Commits

Author SHA1 Message Date
Ethan Vizitei a0c96d6a41 Add reporting name for learning outcomes
fixes CNVS-13242

This adds a special field to learning outcomes
to use for friendly reporting in case the outcome's
actual name is quite complex or cryptic (like common core
standard outcomes).

TEST PLAN:
- login as an instructor
- create or edit an outcome and validate that you can add a "friendly"
  name and that it persists
- use that outcome for an assignment and let a student complete it
- navigate to the student mastery report for that student
- verify that by hovering over that outcome name on the student mastery
report you can see both the real title and the friendly name

Change-Id: I89d1a5de590666ddf6cbc82617e4475d1f7a5226
Reviewed-on: https://gerrit.instructure.com/35919
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
2014-06-11 17:25:33 +00:00
Braden Anderson ee1db6929c conversations: only mark conversations unread for participants
fixes CNVS-11312

test plan:
  * start a conversation from user A to B and C
  * as user B, mark the conversation as read
  * as user A, send a reply only to user C
  * as user B, verify that the conversation is still read

Change-Id: I7051eb39acd711ad10344e9e17700a0987a72b22
Reviewed-on: https://gerrit.instructure.com/36172
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
2014-06-11 17:25:01 +00:00
Josh Simpson 2f594ea5e3 add jsonapi pagination to polling and missing documentation
fixes CNVS-13534
This commit adds 2 things.  One is that, when it's requested via the
'Accept' request header with a value of 'application/vnd.api+json', it
will return jsonapi standard pagination.  The other is the addition of
of documentation for the 'results' attribute on poll sessions, and the
'total_results' attribute on polls.

Test plan
1. jsonapi pagination
- As a teacher, and using a header of Accept: application/vnd.api+json
  Test the following endpoints:
  - The polls index endpoint
  - The poll_choices index endpoint
  - The poll_sessions index endpoint
  - The poll_sessions opened endpoint
  - The poll_sessions closed endpoint
  - Each of these endpoints should return the same JSON response, but
    with the addition of a 'meta' attribute that has a 'pagination' key,
    with pagination information.

2. documentation
- The documentation for polls should now include a 'total_results'
  attribute, and the documentation for poll_sessions should include a
  'results' attribute.

Change-Id: I2a16b4d32b3b2a4f2023628b24f9accaecbffcc1
Reviewed-on: https://gerrit.instructure.com/36216
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-11 16:33:55 +00:00
Sterling Cobb 7434644311 make wiki sidebar images tab accessible
fixes #CNVS-12824

Images in the wikisidebar were not accessible, they now are. We also
removed a few links at the bottom of the page that were not needed.

Test Plan
----------------
As a user
Given I'm editing an assignment
And I tab to the wiki sidebar's "image" tab
Then I should be able to tab to images
And I should be able to press enter to insert an image into the page

Test Plan
----------------
As a user
Given I'm editing an assignment
Then I should not see the "New Discussion" link
And I should not see the "New Quiz" link

Change-Id: Icd5f1fc66c83000a05a00c9a54dc9ea948cfa639
Reviewed-on: https://gerrit.instructure.com/36102
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-06-11 16:30:24 +00:00
Shawn Meredith 73c81c56a8 spec: selenium upgrade 2.42
Change-Id: I470f89d9cc9c73046dca54e451d0ee234f60d0a0
Reviewed-on: https://gerrit.instructure.com/36098
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <kyler@instructure.com>
Product-Review: Kyle Rosenbaum <kyler@instructure.com>
QA-Review: Kyle Rosenbaum <kyler@instructure.com>
2014-06-11 15:20:35 +00:00
Josh Simpson 53920a96ce add explicit poll choice ordering and poll_session deletion
fixes CNVS-13521,CNVS-13489
This commit adds 3 things.  One is a fix for deleting a poll_session when
there are poll_submissions created already for the poll_session. The
second is the addition of a new attribute on poll_choices called
'position'.
The 'position' attribute specifies the order a poll choice should be
returned in. The third is the visibility of poll sessions to students:
as long as a student is enrolled in the course (and course section, if
it exists on the poll session) associated with the poll session, they
can access it, whether or not it's open or closed.

Test plans
1. Deleting a poll session
As a teacher
- Create a poll and related poll session
- Open the poll session for submissions
As a student
- Create a submission for the newly created poll session
As a teacher
- You should be able to delete the poll session

2. Position ordering attribute
As a teacher
- Create a poll
- Create poll choices, passing along the 'position' attribute to specify
  ordering (try to mix these up, e.g. create a poll choice with a
  position
  of 2, then a poll choice with an position of 4, then a poll choice with
  an position of 3, then a poll choice with an position of 1)
- Retrieve the poll choices for the poll with the poll choices index
  endpoint
- The poll should be returned in the order they were specified using the
  'position' attribute

3. Poll session visibility to students
As a teacher
- Create a poll
- Create an associated poll session with a valid course
As a student enrolled in the given course
- You should be able to view the poll session whether or not it's open
  or closed.
As a student not enrolled in the given course
- You should not be able to view the poll session, whether or not it's
  open or closed.

Change-Id: Ifabd64540d843c83f3a22fb6668c4fcac8f728b0
Reviewed-on: https://gerrit.instructure.com/36087
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-11 00:48:16 +00:00
Ahmad Amireh 8b9e82ade8 Quiz Stats - don't count teacher previews
Exclude preview quiz submission from student analysis (item analysis was
already accounting for this) based on the "was_preview" field.

Closes CNVS-8203

TEST PLAN
---- ----

  - create a quiz
  - take it as a preview by the teacher
    - request the stats from the API (or visit ember quiz stats)
    - verify that your attempt does not show up
  - take it by a student
    - verify everything is ok
  - now preview it again as a teacher
    - verify your attempt still doesn't add to the stats

Change-Id: I62bf1dd6c0bedb26ee55d029ac0f015b2ad48e91
Reviewed-on: https://gerrit.instructure.com/35954
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-11 00:24:28 +00:00
Jason Madsen 6bd7c07b78 round scores to 2 decimals for ember quiz moderate
in the event a score gets recorded as a repeating fraction, round the
display number for ember quiz moderate display

closes CNVS-13543

test plan:
  - enable :quiz_stats and :quiz_moderate features
  - create a quiz that could result in a fractional answer
    - i.e. a fill in mulitiple blanks (or add fractional fudge points)
  - as student take the quiz
  - as instructor visit ember moderate
    - verify that fractional answer is rounded to two decimal places
    - verfiy that none fractional numbers continue to show without
      decimals

Change-Id: If7bc567d440b75985f09e355c52379999366f2ba
Reviewed-on: https://gerrit.instructure.com/36170
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-10 22:55:54 +00:00
Ahmad Amireh cbc938af7b Ember Quiz Stats - Blank state
Makes it so that if you visit the ember stats page with 0 submissions
for a quiz, the stats do not render and instead you get a nice welcoming
note that says no students have yet taken this quiz.

Closes CNVS-13454

TEST PLAN
---- ----

  - create a quiz, and another quiz
  - don't take the first, take the second:
  - go to ember quiz stats
    - visit the first quiz:
      - verify you see the new blank state
    - visit the other quiz:
      - verify you don't
  - optionally, take the first quiz and verify that you no longer see
    the blank state

Change-Id: I39fd7428cc5c72e322040b20bd5c52ffd28d9fc3
Reviewed-on: https://gerrit.instructure.com/35953
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-10 22:55:33 +00:00
Derek DeVries a2245332f8 add 'download all files' link to ember quiz menu
fixes CNVS-13423

test plan:
  - enable draft state and quiz sttas
  - as a teacher
    - create a quiz with a file upload question
    - view the quiz
    - there is now an option to "download all files" in the settings menu
    - it should initially be disable if there are no submissions yet
    - trying to click on it disabled should close the menu and flash a message
      telling why it is disabled

  - as a student
    - take the quiz, and upload a file

  - as a teacher
    - view the quiz again
    - the "download all files" should now be enabled
    - click and make sure files download successfully

Change-Id: Ia9455b18916ef6fcb403b742671104fdcd17fd39
Reviewed-on: https://gerrit.instructure.com/35952
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-10 22:48:45 +00:00
Derek DeVries dd3dda2ee6 fix correct/incorrect arrows in ember for legacy submissions
fixes CNVS-13488

test plan:
  - enable draft state and quiz stats
  - as a teacher
    - create a quiz that allows multiple attempts

  - as a student
    - take the quiz, and get the results correct
    - when the quiz results are displayed it should show the correct arrow on
      results
    - take the quiz, and get results incorrect
    - when the quiz results are displayed it should show the incorrect arrow on
      the results

  - as a teacher
    - preview the quiz
    - you should get preview results with correct/incorrect arrows working

  - other things to try
    - try navigating to a quiz from the index page
    - try refreshing the page when on the overview tab
    - try switching between overview/statistics tabs
    - the arrows should display correctly all cases

Change-Id: Ib8bed0f0b6e54c1ccadac8a4d5fd9450e2069e22
Reviewed-on: https://gerrit.instructure.com/36101
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-10 22:23:32 +00:00
Liz Abinante ab7eddaa6b manages focus for assignments/discussion page menus
fixes CNVS-12718

test plan:
 - in a course with 2+ assignment groups
 - once with 1 assignment each, once with 2+ each
 - with draft state on
 - on assignment index page
 - using keyboard navigation for everything
 - click 'move to' for an assignment, close the dialog
 - verify that focus is directed to the settings cog for that assignment
 - repeat for an assignment group
 - click 'delete' for an assignment, click cancel
 - verify that focus is directed to the settings cog
 - click 'delete' for an assignment, click ok
 - for groups with 1 assignment: verify that focus goes to parent assignment group
 - for groups with 2+ assignments: verify that focus goes to previous assignment in list
 - for first assignment in list: verify that focus goes to parent assignment group

 - with draft state on
 - on discussion index page
 - repeat 'move to' and 'delete' verifications from above

Change-Id: I0940b5eed70cecb628c25c597b8439598d096d24
Reviewed-on: https://gerrit.instructure.com/35120
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
2014-06-10 21:37:49 +00:00
Josh Simpson 608b0896e2 improve polling performance
fixes CNVS-13440
this commit addresses bad polling performance, particularly in
poll_sessions. It also removes a foreign key constraint on the
poll_sessions poll_id, that would introduce sharding issues.

Test plan
- Test the following attributes on particular models to insure that
  they're still correct:
  - Poll#total_results should accurately return the aggregate results for all of
    the poll_sessions that belong to the poll
  - PollSession#results should accurately return the results of all poll
    submissions submitted for the particular poll session

Change-Id: Ic0d4aaeb77c735fa4ba6c5f73dfbf84d8e6ac615
Reviewed-on: https://gerrit.instructure.com/35860
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-10 19:53:31 +00:00
Rob Orton d7f761d5e1 accept true or false as options in sis import API
fixes CNVS-13518
refs CNVS-13272

test plan
 - pass true on batch_mode
 - pass true on override_sis_stickiness
 - it should be batch_mode

Change-Id: I9f06de2cdfbe3cac9ef636a34037e68b5f2008ff
Reviewed-on: https://gerrit.instructure.com/36082
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2014-06-10 18:03:18 +00:00
Jeremy Stanley d78198edb0 spec: fix UserObserver test not to require plugin
test plan: spec/models/user_observer_spec.rb should pass
without proprietary Instructure plugins installed

fixes CNVS-13517

Change-Id: Ibf017dbe067b0dbc70212773c053d0934f60a3ce
Reviewed-on: https://gerrit.instructure.com/36086
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-06-10 18:01:18 +00:00
James Williams 82311c08a2 ensure common context_stream_item_key between rails 2 and 3
fixes a problem where context stream items were not being
invalidated correctly for rails 3

test plan:
* set up an environment with a server running with rails 3
and delayed_jobs running with rails 2, and a redis cache store
* create a published course with an active student
* create an publish a new assignment
* confirm that the "recent activity" dashboard on the course
 shows the new assignment message for the student

fixes #CNVS-13205

Change-Id: I763d0d09c0c4b092b740f8b7a1e374cd954a5f16
Reviewed-on: https://gerrit.instructure.com/36034
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Clare Strong <clare@instructure.com>
2014-06-10 17:02:10 +00:00
Brian Palmer c2dbb83883 protect against previously-run switchman migration
Change-Id: I8ef069aa61132d1d5772b3814f478d041dfd08a8
Reviewed-on: https://gerrit.instructure.com/36002
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2014-06-10 16:38:56 +00:00
Jacob Fugal 2120e218f4 pass all overrides to current_override_version
when the assignment (or quiz) is a past version, it may have been
overridden by an override that was active then, but deleted now. don't
filter it out (based on deleted now) before letting
current_override_version look at it.

Change-Id: I072d24773a43f0ebfac6c463b5a820b553f056a3
Reviewed-on: https://gerrit.instructure.com/35116
Reviewed-by: Liz Abinante <labinante@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-06-10 16:04:52 +00:00
Vincent Gonzalez 2664d1ac52 learning mastery student view: alignment dialog
fixes CNVS-10900; fixes CNVS-13243

test plan:
  * open learning mastery student view
  * verify that alignments links are present on each outcome
  * click on an alignments link
  * verify that the alignment results for that student and outcome are displayed

Change-Id: Iba3f7166264725de2b664623a6f38a994947318d
Reviewed-on: https://gerrit.instructure.com/35982
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-10 16:04:33 +00:00
Rob Orton 2c1e67b234 cleanup unused report stuff
refs CNVS-3134

test plan
 - specs should pass

Change-Id: I7eea877609c50e4014c1b80a085c3fba33b32ced
Reviewed-on: https://gerrit.instructure.com/36069
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2014-06-10 16:01:39 +00:00
Braden Anderson f4858b3b41 conversations: never send replies by email to multiple recipients
fixes CNVS-13377

test plan:
  * set up reply-by-email
  * open a group conversation from old conversations
  * send a message as one of the participants to all others
  * reply by email to the message
  * verify that the reply is sent only to the author

Change-Id: I0aac2e2137153cbc18b08ef234235f677564323f
Reviewed-on: https://gerrit.instructure.com/35729
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-06-10 15:46:44 +00:00
Duane Johnson 1c698d0ae6 dup Assignment#create API docs to #update
The Assignment#update API method needs to have arguments so that
the auto-generated Pandarus gem can know what to send to Canvas.

Test Plan:
- Docs for "Edit an assignment" should have same args as "Create
  an assignment"

Fixes SIS-314

Change-Id: If50e40ee345a6a41b8a45368ed77b65f1b364e80
Reviewed-on: https://gerrit.instructure.com/35942
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-10 15:24:05 +00:00
Joel Hough 4ec0d04bb9 live assessments api
fixes CNVS-12916

test plan
- as a teacher in a course, use the api to create a live
 assessment aligned with an outcome (see the api docs for how the
 endpoint works)
- create results for some students
- ensure that the results and the assessment can be read back using
 the index endpoints
- ensure that the assessment shows up in the web ui at
 /course/:course_id/outcomes/users/:student_id (click 'Show All
 Artifacts')

- try to create an assessment using the same key as an existing
 assessment
- ensure that the existing assessment is returned (check the id)

- fetch results specifying a user id to filter by
- ensure that only results for that user are returned

Change-Id: I2d09691f772658aea3ccdd36cff2df5835b1f2cd
Reviewed-on: https://gerrit.instructure.com/35092
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Derrick Hathaway <derrick@instructure.com>
2014-06-10 14:53:40 +00:00
Drew Bowman bb45484387 set content container height to 100 percent
CNVS-13397

this fixes a selenium spec regression

Change-Id: I03eb42d68779c881dcc1a8e57df7122adaf07289
Reviewed-on: https://gerrit.instructure.com/35751
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
QA-Review: Drew Bowman <dbowman@instructure.com>
2014-06-10 12:58:39 +00:00
Jon Willesen 3c65211658 add course_home_sub_navigation extension to external tools
this puts lti app links on the right side bar of the course
home page.

fixes RAN-53, RAN-55

test plan:
 - modify an lti app's xml to include the
   course_home_sub_navigation extension
 - configure an lti app via modified xml
 - navigate to a course home page, where you should see a button
   for the configured tool on the right sidebar.
 - clicking on the button should launch the tool.
 - configure another tool the same way, but include a
   "visibility" property in new extension with a value of
   "admins"
 - view the course home page as a teacher. you should be able
   to tee the newly configured tool, in addition to the
   previously configured tool.
 - view the course home page as a student. you should only see
   the first tool you configured, and not see the tool with the
   limited visibility property.

Change-Id: Ibe50c649f6d5f6806a87f0c8e8402f1209b9ed40
Reviewed-on: https://gerrit.instructure.com/35161
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
2014-06-09 23:30:43 +00:00
Josh Simpson 08ae58b7a9 change 'assignment' to 'graded_quiz' in quizzes overview
fixes CNVS-13472
This commit changes the wording of an 'assignment' type from 'Assignment' to 'Graded Quiz'

Test plan
- Create a quiz with a 'graded quiz' type
- Go to the Ember quizzes overview page for that quiz
- The quiz type should display as 'Graded Quiz'

Change-Id: I54db923a5e3df667a9719e54c196aaa2492f64ef
Reviewed-on: https://gerrit.instructure.com/36011
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-09 22:45:28 +00:00
Jason Madsen 254fdc4e3f insert show rubric link into ember quiz show menu
closes CNVS-12574

test plan:
  - enable ember quizzes
    - as instructor navigate to quiz show
    - click dropdown cog in top right
      - click Show Rubric in dropdown menu
    - rubric modal should display and work as before
      - add a rubric
      - edit a rubric
      - delete a rubric
      - find a rubric
      - 'use this rubric' from find a rubric
  - disable ember quizzes
    - verify that previous quizzes rubric modal continues to function
    - verify that assignment rubrics continue to function correctly
    - verify that rubrics index / edit / delete / create continue to
      work
Change-Id: Iaf1543dd4f5ee6f0ee4ef5ad44165a6fccfa7867
Reviewed-on: https://gerrit.instructure.com/35303
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-06-09 22:18:25 +00:00
Rob Orton 16b37757ad translate report titles
fixes CNVS-3134

test plan
 - go to /accounts/self/settings#tab-reports
 - titles should be translatable

Change-Id: I62646bf92fc444bd3166d258566fbd0dc5b2f9c6
Reviewed-on: https://gerrit.instructure.com/34562
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2014-06-09 20:51:23 +00:00
Rob Orton d644a287d8 allow report titles to be translatable
refs CNVS-3134

test plan
 - go to /accounts/self/settings#tab-reports
 - titles should be translatable

Change-Id: I32d47572929a729e1d5f9dc0a2f20a229005fcca
Reviewed-on: https://gerrit.instructure.com/35827
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-09 20:04:43 +00:00
Aaron Cannon 4a62bdbca2 Accessibility: Announcement actions are always visible to screen reader users
Fixes CNVS-12851

Test plan:
- Create multiple announcements.
- With a screen reader, load or reload the announcements page.
- Verify that the delete and lock buttons are visible to screen reader users
  before any boxes are checked.
- Verify that these buttons also remain visible, no matter how many or few
  announcements are or aren't checked.
- Verify that these buttons are reported as disabled when no announcements are
  checked

Change-Id: Id77e00acbb8fc2b4d713f542bc017695ed171f2a
Reviewed-on: https://gerrit.instructure.com/35543
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-06-09 18:36:12 +00:00
Duane Johnson f6f3497cbc change API docs sis_import_id to Integer
Test Plan:
- JSON generated files from "rake doc:api" should not have an
  "Int64" type in the sis_import_id field of the User model.
  (It should have an Integer type and an Int64 format, however)

Fixes SIS-313

Change-Id: I21fa94dab8df3499c2911ee76865be04c83e9ccb
Reviewed-on: https://gerrit.instructure.com/35918
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Adams <eadams@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-09 17:29:02 +00:00
Jayce Higgins 393c87d493 Accessibility: Alert message added for message delete
Fixes: CNVS-12802

An alert message was needed to inform screen readers
that the message was deleted. I decided to go with
both audio and visual alert, but this can be easily
changed to just audio if it's decided that the
visual notification in unnecessary.

Test-Plan:
Using a screenreader
1.) Navigate to conversations
2.) Delete a message
3.) Verify that an audible and visual alert exists

Change-Id: I68a54074df7eff2b9d04f3d99d6617a77208488c
Reviewed-on: https://gerrit.instructure.com/35883
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Jayce Higgins <jhiggins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
2014-06-09 16:37:37 +00:00
Braden Anderson cbc4b1305c fix round CSS for count bubbles
fixes CNVS-13229

test plan:
  * open Canvas as a user with unread messages
  * verify that the unread count in your header is rounded
  * open your dashboard
  * verify that the new items count bubbles are rounded

Change-Id: I7a8b244101c4d49454692b91a6623a466eeb776a
Reviewed-on: https://gerrit.instructure.com/36067
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-09 16:33:15 +00:00
Simon Williams 3615abd4ee fix speedgrader xss vulnerability
closes CNVS-13427

test plan:
- create a course with multiple sections, and name one of them with html in the
  name
- also create multiple teachers and name them with html in the name
- create an assignment with a rubric
- go to speedgrader
- in the student dropdown menu, where you can pick which section to filter, the
  section name should be escaped (should show the raw html)
- fill out the rubric with multiple teachers
- reload speedgrader, there should be a dropdown that lets you pick which
  rubric assessment to look at it, and in that dropdown, the teacher name with
  html should be escaped

Change-Id: I2521e2fb4130cc97d47fa233a0fdc105302e9874
Reviewed-on: https://gerrit.instructure.com/35983
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-06-09 14:59:22 +00:00
Jeremy Stanley 9f5997a77c don't break unicode sequenecs when truncating filenames
also, don't round-trip the display_name through the truncated
CGI-escaped filename, since UTF-8 chars become nine-character
sequences, limiting entirely non-Latin filenames to 28 chars
(255 / 9).

fixes CNVS-13426

test plan:
 - all files attached to the ticket should
   (1) upload to the files page without error
   (2) with the filename preserved and untruncated

Change-Id: I41322595e858892313276544607fd3ff2a0310ec
Reviewed-on: https://gerrit.instructure.com/36046
Reviewed-by: Mark Severson <markse@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-06-09 14:57:51 +00:00
Josh Simpson f20f1631ee add Poll#associated_shards
This commit adds the Poll#associated_shards method so that
with_each_shard acts sane.

Test plan
- The poll_choices index endpoint should work correctly

Change-Id: Iabb0f3db25aec7e60ec1013424b534fa2c08102a
Reviewed-on: https://gerrit.instructure.com/36068
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-06-08 05:52:31 +00:00
Drew Bowman 66ab0c0b9b learning mastery student view: basic info and progress bars
fixes CNVS-12922
fixes CNVS-11552

test plan:
  * enable learning mastery student view
  * open a student's grades page
  * open the learning mastery tab
  * verify that outcome groups have the correct statuses
  * verify that the outcome have the correct statuses
  * verify that the progress bars are correctly color coded
    and in the correct percentages

Change-Id: I2aa0a73d4a831d9795308efc10cdf13123fe7dce
Reviewed-on: https://gerrit.instructure.com/35844
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
2014-06-06 23:54:07 +00:00
Jason Madsen e8168f02c5 update page titles in ember quizzes
update the document.title to be consistent with the page that the user
is viewing. update existing moderate page title to be consistent

closes CNVS-12974

test plan:
  - enable :quiz_stats feature
  - enable :quiz_moderate feature
  - visit quiz index
    - title should display 'Quizzes'
  - select a quiz
    - title should display '<quiz title>: Overview'
  - select the moderate tab
    - title should display '<quiz title>: Moderate'
  - select the statistics tab
    - title should display '<quiz title>: Statistics'

Change-Id: I36d94014e2225d78d59d35c77b16bb82af48d644
Reviewed-on: https://gerrit.instructure.com/36016
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-06-06 23:32:13 +00:00
Josh Simpson 38917d0c32 expose poll_choice#is_correct to students when available
fixes CNVS-13474
This commit exposes the is_correct attribute on poll_choices when a
student has submitted their answer to the latest poll_session, and that
poll_session has been closed.

Test plan
- As a teacher, create a poll, relevant poll choices, and a poll session
- Publish the poll session
- As a student, at this point is_correct should not be viewable on poll
  choices
- As a student, submit a poll submission
- As a student, at this point is_correct should not be viewable on poll
  choices
- As a teacher, close the poll session
- As a student, at this point is_correct should be viewable on poll
  choices

Change-Id: I20a8bb534affe5e1a23c1dddbb727043535dd23d
Reviewed-on: https://gerrit.instructure.com/36031
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-06 22:41:04 +00:00
Duane Johnson 21de3036c0 remove 'the' from API doc generated nicknames
Auto-generated method names sometimes have 'the' in them. Remove 'the' to be consistent with the removal of articles 'a' and 'an'.

Test Plan:
- The following APIs should no longer have "the" in their
  nicknames (autogenerated JSON files):

  Accounts API:
    get_the_sub_accounts_of_account
    change_the_domains_for_account

  Assignments API:
    redirect_to_the_assignment_override_for_group
    redirect_to_the_assignment_override_for_section

  Discussion Topics API:
    get_the_full_topic_courses
    get_the_full_topic_groups
    get_the_full_topic_collection_items

  Groups API:
    list_the_groups_available_in_context_accounts
    list_the_groups_available_in_context_courses

  Quiz Statistics API:
    fetching_the_latest_quiz_statistics
    create_the_quiz_submission_start_quiz_taking_session
    complete_the_quiz_submission_turn_it_in

  Users API:
    list_the_activity_stream_self
    list_the_activity_stream_activity_stream
    list_the_todo_items

Fixes SIS-312

Change-Id: I6de521305605fe75b399889563f6d0b290cdf468
Reviewed-on: https://gerrit.instructure.com/35917
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
2014-06-06 21:34:48 +00:00
Simon Williams 71e5e53220 api: fix docs for submission media_comment_id
test plan:
- generate the api docs
- look at the type of media_comment_id in the submission grade/comment endpoint
- it should be a string

Change-Id: I5d88edb04e7f836173099295877af795b22f00be
Reviewed-on: https://gerrit.instructure.com/35890
Reviewed-by: Eric Adams <eadams@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-06-06 21:34:28 +00:00
Derek DeVries 0f341059f5 add page to preview submission results after previewing a quiz in ember
fixes CNVS-13439

test plan:
  - enable draft state and quiz stats
  - as a teacher
    - create a quiz
    - 'preview' the quiz
    - after you submit the preview of the quiz, it should redirect you to
      the results page.
    - this page should show a notice that this is a preview of the draft
      version of the quiz
    - this page should show the preview results in the submission results
      below.

Change-Id: Ia5e54873af49a943a3e00a99e7b326ec682614cc
Reviewed-on: https://gerrit.instructure.com/36018
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-06 21:26:18 +00:00
Jeremy Stanley aeabb72960 don't create observer enrollments in foreign root accounts
test plan:
 1. have a student enrolled in courses at multiple institutions
    (with no trust relationship between them)
 2. enable parent self-registration at one institution
 3. sign up a parent at that institution
 4. the newly enrolled parent should only receive course invites
    for that institution, and should not see the other
    institution's courses

fixes CNVS-13421

Change-Id: I20baa6fab1989aeb0a1f4eab02b0ca0660333bf6
Reviewed-on: https://gerrit.instructure.com/35937
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-06-06 18:25:58 +00:00
Josh Simpson 691b583dae change 'show results' to 'show responses' in quiz overview
fixes CNVS-13459
This commit changes the wording from 'Show Results' to 'Show Responses'
in the Quiz overview page, to prevent confusion.

Test plan
- View the ember quiz overview page
- The 'Show Results' setting should now read as 'Show Responses'

Change-Id: Ife3729f5cbca7bdccd7ab2f9bfd4b2c77b2d8687
Reviewed-on: https://gerrit.instructure.com/35970
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-06-06 16:44:41 +00:00
Derek DeVries 428d5700eb bump up pagination for feature flags to 20 instead of 10
It seems like eventually we'll want to update the front-end backbone code to
do proper pagination on this, but we can certainly handle 20 feature flags
before doing this.

fixes CNVS-13461

test plan:
  - as an admin
  - visit the account settings page
  - click on the feature flags tab
  - all 11 feature flags should show up including draft state at the bottom
  - try turning the feature flags on/off to make sure things still work fine

Change-Id: Ifc7c31a48159f77d63a846c472567ae88f913f76
Reviewed-on: https://gerrit.instructure.com/35967
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-06 16:27:57 +00:00
James Williams b9fea482af bump moodle2cc to 0.2.9
test plan:
* import the package referenced in the ticket
* should not fail

fixes #CNVS-13417

Change-Id: I1359c789edefa50e78daf2981b15c7823643e3d8
Reviewed-on: https://gerrit.instructure.com/35968
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-06-06 15:50:28 +00:00
Braden Anderson 805510f0ad learning mastery student view: outcome hierarchy
fixes CNVS-13307

test plan:
  * enable learning mastery student view
  * open a student's grades page
  * open the learning mastery tab
  * verify that outcome groups are presented in a hierarchy
  * verify that very deep outcome trees are compressed to paths

Change-Id: I1f74dca2876b39b01a6ec70935f60d5e233fe02b
Reviewed-on: https://gerrit.instructure.com/35481
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-05 23:25:38 +00:00
Derek DeVries 47434d86ae add total number of students to ember message students dialog
fixes CNVS-13153

test plan:
  - enable 'new quiz stats' flag
  - as a teacher
    - create a quiz
    - visit the quiz
    - the menu item for messaging a student has been adjusted to say
      "Message Students Who..."
    - click on this option
    - it should show the list of students who have taken the quiz up to 10
      stents. If more than 10 students are available, it should say
      "and {number} more students"
    - switching recipients between students who have taken the quiz, and students
      who have not taken the quiz should work. It should resize the dialog to
      allow for more room if more students are listed.
    - entering a message should send successfully
    - if you attempt to send the message with no message, the modal dialog will
      close and a warning message will tell you it didn't send

Change-Id: I964de663a5b84daaf5a723694e975eaa147505d7
Reviewed-on: https://gerrit.instructure.com/35870
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-06-05 20:42:05 +00:00
James Williams abf9d8f0cd assessment question bank migration content selection
test plan:
* should be able to select question banks and quizzes
 separately for migrations in any combination, for
 any package type

closes #CNVS-8526 #CNVS-13333

Change-Id: I566ab00f906369c3c28848b9d8985e7965378d1d
Reviewed-on: https://gerrit.instructure.com/35354
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2014-06-05 19:56:03 +00:00
Landon Wilkins 81963deff9 support ?user_id in list admins endpoint
fixes CAT-225

test plan:
* GET /api/v1/accounts/:account_id/admins?user_id[]=123
* hit the above endpoint for an account with admins.
  change the 123 user_id to the id of a user with admin rights.
* verify that the result is just the admin user for that user
* hit the same endpoint with some nonadmin user
* verify that the result is []
* verify that if you send in multiple user_ids, you receive
  admins for all those user_ids
  example:
  GET /api/v1/accounts/:account_id/admins?user_id[]=1&user_id[]=2
  should return admins for that account_id with user_id's 1 or 2

Change-Id: I533135d80dfbe359d96f750e71a59fe714a67e98
Reviewed-on: https://gerrit.instructure.com/35888
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dave Donahue <ddonahue@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-06-05 19:54:10 +00:00