Commit Graph

25784 Commits

Author SHA1 Message Date
wdransfield 23f9078ec9 Set assignment for message handler lookup launches
Closes PLAT-2583

Test Plan
- Create an originality report that uses an LTI
  launch for viewing reports. The message handler
  that is launched for this purpose should use the
  'Canvas.assignment.id' custom parameter
  subsitution.
- view the originality report and verify that
  the assignment id is sent in the launch.

Change-Id: I2356189747d5a49567430f7190c2a4c53659425f
Reviewed-on: https://gerrit.instructure.com/112806
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-06-12 19:01:42 +00:00
James Williams 65622ee488 fix enrollment access restriction recalculation
test plan:
* have a course with dates set in the future
 and enrollments restricted to the course dates
* have a student in the course
* they should be able to access
* set the course to restrict students from viewing
 before start date, while also changing one of the
 course dates (still keeping it in the future)
 in the same save action
* the student should not have access to the course
 anymore

closes #CNVS-36571

Change-Id: I8a58f028c7e205d0fa46dd7b977172c4d2be2823
Reviewed-on: https://gerrit.instructure.com/115047
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-06-12 18:55:12 +00:00
Simon Williams bcb7ea7127 when notification_service is on in site admin, always use it
fixes CNVS-37405

test plan:
- enable the notification service
- enable the ticketing system plugin to deliver via email
- generate a ticket
- it should go through the notification service

Change-Id: If133b96e35352c7bab90e5e2c1868cb20d85230d
Reviewed-on: https://gerrit.instructure.com/114974
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2017-06-12 18:29:27 +00:00
Cody Cutrer db72cb71c4 bump switchman
Change-Id: I4cd7c5e683e08c63f6b4cf84f2c3ce18cdbf17fa
Reviewed-on: https://gerrit.instructure.com/115073
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-06-12 18:07:06 +00:00
Dan Minkevitch 1218033b3e Add new planner fields for course copy
Closes FALCOR-241

Test Plan:
* As an admin
* In a course with the "Student Planner" feature
  flag enabled
* With discussion topics and wiki pages that have
  been marked as "Add to student to-do" and have
  corresponding todo dates
* Run a course copy for the discussion topics and
  wiki pages
* The newly copied topics and pages should have
  the todo date set the same as the original

Change-Id: Ib1ceb3ed87351b2fac5b68c31b4d3d6066cf6688
Reviewed-on: https://gerrit.instructure.com/114827
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
2017-06-12 17:58:27 +00:00
Cody Cutrer 7f37e999ff fix looking for cassandra migrations via MigrationProxy
Change-Id: I26c885fb4f52d1929bb4bc00275985ddde28c1eb
Reviewed-on: https://gerrit.instructure.com/115055
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-06-12 17:37:15 +00:00
Jeremy Stanley fcead39d00 prevent contradictory availability dates in graded discussions
by clearing the dates on the discussion_topics row when
dates are provided on the assignment

(this used to be done on the front-end but this was changed
with MC-161 for blueprint course locking.  might as well enforce
it on the backend)

test plan:
 - create a graded discussion topic with availability dates
   that are in the past
 - copy the course
 - in the new course, change the available-until date to be
   in the future
 - ensure the discussion topic unlocks

fixes CNVS-37377

Change-Id: Id27b1ada7def56ffc489878808991cb5397b838c
Reviewed-on: https://gerrit.instructure.com/114979
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-06-12 17:15:32 +00:00
wdransfield 346bbc54b3 Webhook subscriptions documentation
Closes PLAT-2310

Test Plan:
Visit /doc/api/webhooks_subscriptions.html and check for accuracy,
spelling, and grammar.

Change-Id: I724f11a3fa306df2e7162c582dca1235b7ccd79b
Reviewed-on: https://gerrit.instructure.com/114201
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2017-06-12 16:01:48 +00:00
wdransfield 8d66a1893c Add originality report documentation
Closes PLAT-2312, PLAT-2311

Test Plan:

Verify that the Originality Report
api docs now show up at /doc/api and that
the information is accurate.

Change-Id: I783024ff0ea1e71fc1132518adac6b61313ca82e
Reviewed-on: https://gerrit.instructure.com/113906
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
Tested-by: Jenkins
2017-06-12 13:22:13 +00:00
Transifreq 9aac310619 update nb translation
Change-Id: I6b8b01bbd0ecc1e48e359ad4a955ca1625a8cf9f
2017-06-10 05:16:24 -06:00
Ryan Shaw b14fa1f225 Convert some files in /str from .coffee to .js
refs: CNVS-37358

most of this conversion was automated by 2 tools,
the `amd-to-es6` and `bulk-decaffeinate` npm packages.
but see the test plan for the manual changes that were 
required.

Test plan, aka things to check for in code review:

* look for errors in the conversion of the AMD
  `define` block and the es6 `import` statements.
  * the `amd-to-es6` tool choked on anything that
    did destructuring so those had to be done manually,
    eg: make sure `defile([‘underscore’], function({reduce}) {…`
    gets converted to `import {reduce} from ‘underscore’
    (and not the erroneous `import ‘underscore’)

* I had to manually convert the cs `for foo, bar in baz` loops
  because decaffeinate would try to convert them to `for … of` 
  iterator loops which we don’t support.
  * Keep a close eye on those and where I converted things to 
    .map .forEach or Object.values(…).forEach

* I manually removed some `return` statements, especially where
  Coffee script was building up an array (like when a method ended in 
  a `for foo in bar` loop, which it would return an array with the
  built up values even though it wasn’t being used. If in doubt, I tried
  not to remove any `return`s I wasn’t absolutely sure we didn’t need
  but keep an eye out for those

Change-Id: I4b5c8692ae9168824e0016d5811027e1cc89df99
Reviewed-on: https://gerrit.instructure.com/114590
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-06-09 21:39:35 +00:00
Ryan Shaw 4009687a79 Convert some files in /arr from .coffee to .js
refs: CNVS-37358

most of this conversion was automated by 2 tools,
the `amd-to-es6` and `bulk-decaffeinate` npm packages.
but see the test plan for the manual changes that were
required.

Test plan, aka things to check for in code review:

* look for errors in the conversion of the AMD
  `define` block and the es6 `import` statements.
  * the `amd-to-es6` tool choked on anything that
    did destructuring so those had to be done manually,
    eg: make sure `defile([‘underscore’], function({reduce}) {…`
    gets converted to `import {reduce} from ‘underscore’
    (and not the erroneous `import ‘underscore’)

* I had to manually convert the cs `for foo, bar in baz` loops
  because decaffeinate would try to convert them to `for … of`
  iterator loops which we don’t support.
  * Keep a close eye on those and where I converted things to
    .map .forEach or Object.values(…).forEach

* I manually removed some `return` statements, especially where
  Coffee script was building up an array (like when a method ended in
  a `for foo in bar` loop, which it would return an array with the
  built up values even though it wasn’t being used. If in doubt, I tried
  not to remove any `return`s I wasn’t absolutely sure we didn’t need
  but keep an eye out for those

Change-Id: Ieaf773354fdbed45270c00b49105b4eabd2dc890
Reviewed-on: https://gerrit.instructure.com/114593
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-06-09 21:39:16 +00:00
Nick Houle a44603f98e Remove post_to_sis icon from view if post_to_sis FO is not enabled
Fixes: SIS-2864

Test plan:
- Disable post_to_sis Feature Option and confirm you DO NOT have a
  GPB LTI installed
- Navigate to a course that has quizzes
- Navigate to the quizzes index page and cofirm the post_to_sis
  icon is not displayed

Change-Id: I59085db7ff1860fb5b910c47ae9326b7e0af7662
Reviewed-on: https://gerrit.instructure.com/114237
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-06-09 21:34:16 +00:00
Ryan Shaw 2e19681818 Convert some files in app/cs/api from .coffee to .js
refs: CNVS-37358

most of this conversion was automated by 2 tools,
the `amd-to-es6` and `bulk-decaffeinate` npm packages.
but see the test plan for the manual changes that were
required.

Test plan, aka things to check for in code review:

* look for errors in the conversion of the AMD
  `define` block and the es6 `import` statements.
  * the `amd-to-es6` tool choked on anything that
    did destructuring so those had to be done manually,
    eg: make sure `defile([‘underscore’], function({reduce}) {…`
    gets converted to `import {reduce} from ‘underscore’
    (and not the erroneous `import ‘underscore’)

* I had to manually convert the cs `for foo, bar in baz` loops
  because decaffeinate would try to convert them to `for … of`
  iterator loops which we don’t support.
  * Keep a close eye on those and where I converted things to
    .map .forEach or Object.values(…).forEach

* I manually removed some `return` statements, especially where
  Coffee script was building up an array (like when a method ended in
  a `for foo in bar` loop, which it would return an array with the
  built up values even though it wasn’t being used. If in doubt, I tried
  not to remove any `return`s I wasn’t absolutely sure we didn’t need
  but keep an eye out for those

Change-Id: I6592d1f4f0cf290a178f277d6444df68f30210d3
Reviewed-on: https://gerrit.instructure.com/114581
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-06-09 21:24:40 +00:00
Ryan Shaw 3cf7d9c85a Convert some files in /object from .coffee to .js
refs: CNVS-37358

most of this conversion was automated by 2 tools,
the `amd-to-es6` and `bulk-decaffeinate` npm packages.
but see the test plan for the manual changes that were 
required.

Test plan, aka things to check for in code review:

* look for errors in the conversion of the AMD
  `define` block and the es6 `import` statements.
  * the `amd-to-es6` tool choked on anything that
    did destructuring so those had to be done manually,
    eg: make sure `defile([‘underscore’], function({reduce}) {…`
    gets converted to `import {reduce} from ‘underscore’
    (and not the erroneous `import ‘underscore’)

* I had to manually convert the cs `for foo, bar in baz` loops
  because decaffeinate would try to convert them to `for … of` 
  iterator loops which we don’t support.
  * Keep a close eye on those and where I converted things to 
    .map .forEach or Object.values(…).forEach

* I manually removed some `return` statements, especially where
  Coffee script was building up an array (like when a method ended in 
  a `for foo in bar` loop, which it would return an array with the
  built up values even though it wasn’t being used. If in doubt, I tried
  not to remove any `return`s I wasn’t absolutely sure we didn’t need
  but keep an eye out for those

Change-Id: I28a8b86e2a7e5329923214f21f6f64903fd030b8
Reviewed-on: https://gerrit.instructure.com/114592
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-06-09 21:21:56 +00:00
Graham Ballantyne 7f2031f796 Handle a developer key having no notes
If a developer key had no notes (e.g. the column was NULL), the template
would render `[missing %{notes} value]`. This fixes that behaviour.

Change-Id: Ibfbb7c64baee522a36c11a33e3c14dd644870391
2017-06-09 14:35:32 -06:00
Brad Horrocks 89e07e5ab1 No crocodoc warnings when using canvadocs in speedgrader
Fixes RD-4152

Test plan:

not sure on how to get the crocodoc is processing warning....

for the session timeout, you could wait an hour and make sure no
messages appear

Or you could modify public/javascripts/speed_grader.js lines 1942-1946
change the 1000 to 10 so you should only have to wait 36 seconds to make
sure the page isnt reloaded and no messages appear

Change-Id: I6f04fde11e4fc869af5f0492cec3496b3a6aebc4
Reviewed-on: https://gerrit.instructure.com/114853
Tested-by: Jenkins
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
2017-06-09 19:23:53 +00:00
Cody Cutrer e15e08d5dc fix multi-shards activations for find_in_batches with usefullness
fixes CNVS-37127

just needed to call the strategy method with the altered relation from
Switchman::Relation#activate, instead of self

Change-Id: I15576d2947d514a04411d9f4cea6fea3f02222e3
Reviewed-on: https://gerrit.instructure.com/114371
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-06-09 18:41:29 +00:00
Keith Garner cfe6d47d33 remove development only setting for new gradebook feature flag
Releases the new gradebook from the confines of development and opens
it to site admins to turn it on for accounts.

closes CNVS-37250

test plan:
 - Confirm the feature flag shows up for site admins in an environment
   that runs rails in production

Change-Id: I43e0e009240ae58c2615cecc3428005d92181866
Reviewed-on: https://gerrit.instructure.com/114460
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2017-06-09 18:32:49 +00:00
Nick Houle 5bc4e7c1f0 Fix a11y issue of post_to_sis icon being read first
Fixes: SIS-2843

Test plan:
- Confirm when navigating to the Assignments page that all the
  post_to_sis icons are not read before anything else on the page

Change-Id: I70b4f59ef06f55935ef8a8bb9ef2f78446bc9939
Reviewed-on: https://gerrit.instructure.com/114796
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-06-09 17:58:39 +00:00
Nick Houle 7e3c9b0e33 Allow new Assignments to save without validation errors in modules
Fixes: SIS-2854

Test plan:
- Enable the new Sync to SIS Feature Option, set a name length
  value and check the require due date option
- Navigate to a Course
- Navigate to the Modules page of the course
- Create a new Module
- Click the '+' button to left of the newly created module
- Click 'Add [New Assignment]'
- Enter a name longer than the length you set for the account
  setting
- Click 'Add Item'
- Confirm the Module Item is created
- Confirm when clicking on the module item name it navigates you
  to the Assignment
- Confirm when editing the assignment the 'Sync to SIS' option is
  not checked

Change-Id: I4d0732ff89e3b09e910b489083ee562ffb9ef6f5
Reviewed-on: https://gerrit.instructure.com/114668
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-06-09 17:58:36 +00:00
Nick Houle ae4aeaf687 Show Assignment Group icon with sis_source_id populated
Fixes: SIS-2866

Test plan:
- Navigate to a course
- Add a new assignment group
- Query GET <canvas domain>/api/v1/courses/<course_id>/
  assignment_groups
- Copy the id from the group created
- Query PUT <canvas domain>/api/v1/courses/<course_id>/
  assignment_groups/<group id from bullet point 3>
- Send json body content {
                           "sis_source_id": "1234",
                           "integration_data": {}
                         }
- Reload course assignments page
- Verify sis-imported icon is displayed in assignment group header

Change-Id: Idea801253d3c8540cbe42fda71fd66c46cc93016
Reviewed-on: https://gerrit.instructure.com/114653
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Tested-by: Jenkins
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-06-09 17:58:34 +00:00
Anju Reddy ba683dd21e spec: Refactor Gradezilla public and private methods
Change-Id: If7d2209dfdbec63d643600a561d4a09d212b7aae
Reviewed-on: https://gerrit.instructure.com/114771
Tested-by: Jenkins
Reviewed-by: KC Naegle <knaegle@instructure.com>
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
QA-Review: Gentry Beckmann <gbeckmann@instructure.com>
2017-06-09 16:31:33 +00:00
Clay Diffrient d783deedb6 Convert dashboard header to react
closes FALCOR-319

Test Plan:
  - Load up the user dashboard
  - The header works like it has before
     - Options menu works, etc.

Change-Id: Iba08847fda295fbdac04733b8a2d486b029087b9
Reviewed-on: https://gerrit.instructure.com/114708
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2017-06-09 16:30:11 +00:00
wdransfield ef68144748 Don't send unexpected UUID params in LTI launches
Fixes PLAT-2625

Test Plan:
- Do an LTI launch with a tool using the public privacy level
- Verify the custom_canvas_course_uuid param is not included
- verify the custom_canvas_user_uuid is not included
- verify the vnd.instructure.User.uuid var substitution
  works correctly
- verify the vnd.instructure.Course.uuid var substitution
  works correctly

Change-Id: I989f913c65f8a1a09a09ae4735607ef709d349db
Reviewed-on: https://gerrit.instructure.com/114715
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-06-09 15:49:09 +00:00
wdransfield a262310f5d Send `ext_lti_assignment_id` in assignment launches.
Closes PLAT-2618

Test Plan:
1. Create an assignment with submission type 'External Tool'
2. Do a content item selection request by clicking
   'find' and launching a tool that supports content item.
3. Verify that a param named 'ext_lti_assignment_id' is
   sent in the content item selection request set to
   the assignemnt's 'lti_context_id'.
4. Return an Lti Link through the tool via content item.
5. Save and publish the tool. View the assignment and verify
   the tool launches and also gets the 'ext_lti_assignment_id'
   parameter set to the same 'lti_context_id'

Change-Id: I1be951b298aa04fd932fb62c8411f362afc599b2
Reviewed-on: https://gerrit.instructure.com/114253
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-06-09 13:37:41 +00:00
wdransfield bda9803bf2 Add launch to submission details modal
Closes PLAT-2544

Test Plan:
- Create a course with a student and a tool that allows
  the student to return an ltiLaunchUrl as an outcomes
  service message.
- Submit to the assignment as the student
- Go to the gradebook and click the comment bubble to open a modal
- Verify the submission URL does the LTI launch
  returned when the submission was created.

Change-Id: I61bf8d0cb9205d3bef864b64f0ebe392c118ded1
Reviewed-on: https://gerrit.instructure.com/114303
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-06-09 13:31:25 +00:00
Transifreq 2607332496 update tr translation
Change-Id: I1ad83b2cdd12d3f5dabb8eef35a6f4bd47c3a3dd
2017-06-09 06:00:41 -06:00
Deepeeca Soundarrajan af17a5638e spec: Fix fragile chrome spec
Test Plan:
  Passes Jenkins

Change-Id: Ib42cc65288e83b526d1784bf27847257e5a87064
Reviewed-on: https://gerrit.instructure.com/114693
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2017-06-09 03:36:48 +00:00
Rob Orton 63fae4d085 allow newer bundler
Change-Id: Ie3c26943782e181ac0742f11804b404fcc7055fe
Reviewed-on: https://gerrit.instructure.com/114847
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2017-06-09 02:56:56 +00:00
Shahbaz Javeed ff501e56b9 allow filtering assignment columns by module
closes CNVS-36724

test plan:
* Create a course with multiple modules and at least one student
* Ensure each module has at least two assignments
* Create an assignment outside of any modules as well
* Go to Gradezilla
* Verify that you see a column for each assignment you created
  for that course, including assignments from all modules and
  assignments that aren't part of any module
* From the View menu, ensure "Modules" is selected in the Filters
  menu group
* Verify that a button labelled "All Modules" shows up next to
  the other filters (or next to the Search field if no other
  filters are in play)
* Click on the "All Modules" button and verify that you see the
  names of all the modules you created for this course

* Choose one of the modules
* Verify the button now changes to say the name of the module
  instead of "All Modules"
* Verify that there is no page reload
* Verify that only columns for assignments from the selected
  module are now visible
* Select a different filter from the module filter
* Verify the button now changes to say the name of the new module
* Verify that there is no page reload
* Verify that only columns for assignments from the selected
  module are now visible
* Select "All Modules" again
* Verify that you see a column for each assignment you created
  for that course, including assignments from all modules and
  assignments that aren't part of any module

Change-Id: I657c65f54f209bdd245a0d1c103436164c16e147
Reviewed-on: https://gerrit.instructure.com/114222
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
2017-06-08 22:00:39 +00:00
Dan Minkevitch 596cb8035a Include ungraded & excused assignments in planner
Also shows concluded course assignments

Closes FALCOR-328

Test Plan:
* As a student
* In a course with the new Student Planner enabled
* With assignments that have excused submissions
  with and without grades
* GET /api/v1/planner/items
* The response should contain a `submissions` key
  that contains an object with `excused: true`
* Conclude the course
* GET /api/v1/planner/items
* The response should be the same as previously requested

Change-Id: I5e6ce25590fe8e32e113662499170936a52a0797
Reviewed-on: https://gerrit.instructure.com/114633
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
2017-06-08 21:57:16 +00:00
wdransfield eedd142e24 Only emit one submission_updated live event
Closes PLAT-2607

Test Plan:
- Create a submission and verify only one
  live event is emitted.
- Resubmit an assignment and verify only
  one live event is emitted.
- Verify creating submissions via UI/API
  continues to work as before.

Change-Id: I991a5d1f2d6aa3a148992ba56b0952f8d187f9e0
Reviewed-on: https://gerrit.instructure.com/112860
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-06-08 21:30:59 +00:00
Ed Schiebel d6aedb9814 temporary fix for screenreader support on blueprint's flash messages
this is a temporary fix until instui's next release. Then we should
merge g/114346/ to replace this change

fixes MC-171

test plan:
  - create a blueprint course
  - make some changes so there are unsynced changes
  - open the blueprint sidebar, the sync button should be displayed
  - disconnect from the network or kill rails server
  - at this point, be sure you have a screenreader rnning
  - click Sync
  > expect an alert saying there was an error. The screenreader should
  > announce it too

Change-Id: I5e84c63f0df7ec576d00b05134cbda022d6a158e
Reviewed-on: https://gerrit.instructure.com/114612
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
2017-06-08 20:43:17 +00:00
Mysti Sadler 43eb85b275 Paginate missing assignments
closes FALCOR-324

Test plan
- Set up some assignments with due dates in the past
- Use differentiated assignments and varied due dates
- Call /api/v1/users/:user_id/missing_submissions
- Verify the items in the list are correct
- Verify the list paginates properly (page=index and
- per_page=count)

Change-Id: I9b6ebad704f64f187b3e444c00947b88e46309c4
Reviewed-on: https://gerrit.instructure.com/114147
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
2017-06-08 19:38:43 +00:00
Derek Bender b9e03444e9 add flyouts to column headers
closes: CNVS-37131

Test Plan:
 - Given New Gradebook
 - When the student column options menu is open
 - Then the "Sort by" menu is now a flyout
 - Then the "Display as" menu is now a flyout
 - Then the "Secondary info" menu is now a flyout

 - When the assignment column options menu is open
 - Then the "Sort by" menu is now a flyout

 - When the assignment group column options menu is open
 - Then the "Sort by" menu is now a flyout

 - When the total grade column options menu is open
 - Then the "Sort by" Menu is now a flyout

Change-Id: I63044fc9b89356d23a717247dbb320ec167c2c51
Reviewed-on: https://gerrit.instructure.com/113113
Reviewed-by: Brian Park <brian@siimpl.io>
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
2017-06-08 19:33:05 +00:00
Jeremy Stanley ade6449abb fix double-slashes in web_zip exports
these contained a file named "something//index.html", and
windows sees a folder with no name in the middle there

test plan:
 - enable offline content export
 - export course content from the modules page
 - ensure the downloaded archive is readable on windows 10

fixes CNVS-37267

Change-Id: Iba0fd107702b45d71db427ac30bf5b5f9707322f
Reviewed-on: https://gerrit.instructure.com/114402
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-06-08 19:17:32 +00:00
wdransfield 27f3eea651 Add plagiarism detection platform docs
Closes PLAT-2615

Test Plan:
Verify the plagiarism docs are now
included in the nav of
https://canvas.instructure.com/doc/api/index.html

Change-Id: I460af377280207d849a2db01e051ae781431c7f9
Reviewed-on: https://gerrit.instructure.com/113792
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2017-06-08 18:32:03 +00:00
Gary Mei 04b35a5646 start of a new gradebook history page
Closes CNVS-36345

Turn on new history page feature flag, navigate to history page
as admin.

Can only search by id. Same limitations that exist on existing
admin's gradebook history, which is that you can't have multiple
search parameters. Not paginated. Not scoped by course.

Test Plan
 - Turn on new history page feature flag as admin.
 - Navigate to history page as admin
 - Search by student id
 - Search by grader id
 - Search by assignment id
 - Do the above searches using dates. Try invalid date timeframe
    - TIME input doesn't work; this is intentional, as this form
    will use inst-ui's DateInput in the near future, which has no
    time input anyway.
 - Compare this to existing grade history tool under Admin Tools

Change-Id: Ieb6ff2b0bea196ab1e2541444e54143b98ddaa99
Reviewed-on: https://gerrit.instructure.com/112812
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Christi Wruck
2017-06-08 17:53:00 +00:00
Rob Orton 9082d994c8 delete canvadoc and crocodocs from all related attachments
fixes CNVS-37392

test plan
 - upload a file
 - it should have a document preview
 - upload a child attachment
 - it should also have a document preview
 - call destroy_content_and_replace on the root_attachment
 - the canvadocs for both files should be deleted

Change-Id: I83108acbffa7b41689b7194e76b29fde2dd96df2
Reviewed-on: https://gerrit.instructure.com/114632
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2017-06-08 17:03:13 +00:00
Nick Houle 4b7be86d66 Update Calendar Assignment to Include Post to SIS and Validations
Fixes: SIS-2796

Notes: Due to the nature of this code being implemented in 2012
  it does not have the tooling that we have been able to use
  to properly show the validations in the view. I have refactored
  this to use the new code standards and to follow the style
  guide so that we can now use them.

Test plan:
- Turn on `Enable new SIS integration settings` feature option,
  check name length setting and require due date setting
- Navigate to a course
- Masquerade as the teacher
- Navigate to the Calendar
- Create and Assignment event
- Confirm that the `Sync to #{SIS friendly name}` option is
  present
- Make the name too long and delete the due date
- With the sync option checked confirm the validations are shown
  properly
- Confirm Calendar Assignment Events work correctly via creation
  and editing with the sync option checked/unchecked

Change-Id: Id5225d19a1d2e3254a28544d048a6dd4fcc13bd4
Reviewed-on: https://gerrit.instructure.com/112528
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Oxana
2017-06-08 16:16:22 +00:00
Brian Park e96a695c5d prevent tooltip from hiding when cell is focused
fixes: CNVS-37074

Test Plan:
1. Navigate to gradezilla
2. Activate a cell
  - Observe that tooltip appears
  - Observe that tooltip does not auto-hide
3. Repeat 1-2 with old gradebook

Change-Id: I0e3e4bd16f2c5e6bbe81cd13b0526bc6ec0f0e2d
Reviewed-on: https://gerrit.instructure.com/113336
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
2017-06-08 15:56:22 +00:00
Jeremy Stanley 5d35be078d ignore obsolete getCourses responses in blueprint association
test plan:
 - have 50+ courses available to associate with a blueprint
 - type a three-letter search term quickly
 - ensure the results of the search remain displayed
   (it doesn't revert back to the unfiltered view after
    a second or two)

fixes MC-226

Change-Id: I502a97c357a0b35c7b8bb35ec3ae98fe5ca4a4f6
Reviewed-on: https://gerrit.instructure.com/114479
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-06-08 14:35:52 +00:00
Rachel Bengochea 8968936afc fix screenreader focus on numbers in sidebar
fixes MC-230

Test Plan:
-Create a blueprint course
-Create a seperate course
-Add an associated course to the blueprint course
-Turn on screenreader and focus on the sidebar
-Notice that the number isn't focusable with the screenreader
-the number of associations is listed when focusing on button
-Repeat with unsynced changes

Change-Id: Iac0bc1130ad1f378e7a5c7dee356cf226a25e874
Reviewed-on: https://gerrit.instructure.com/114274
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-06-08 13:02:40 +00:00
Felix Milea-Ciobanu b2701b6150 fix focus management for associations
fixes MC-227 MC-228 MC-197

test plan:
- navigate to a blueprint course and open the associations modal
- ensure you have multiple saved associations
- tab to the delete button of an association in the middle
- ensure the following behaviors
  - removing an associations moves the focus up instead of down
  - when you run out of associations, the focus should go on the
    course picker toggle button
  - screen reader reads when focus lands on a new association

Change-Id: Ife669a998074271af83b08d2d18d3efd912c945d
Reviewed-on: https://gerrit.instructure.com/114405
Reviewed-by: Rachel Bengochea <rbengochea@instructure.com>
Tested-by: Jenkins
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-06-08 13:02:26 +00:00
Ed Schiebel d0c363c3f1 Patch icons to address TAB issues with instui components
instui components often user svg images in their rendering. these
elements get focus by default in ie and edge, so it takes 2 TABs to move
from one Checkbox to the next, for example. This should get fixed with
INSTUI-572, but we need it sooner.

fixes MC-250

test plan (from the ticket)
  - Create a blueprint course and a few other non-blueprint courses
  - Go to /courses/<course_id>/blueprint_settings
  - Using keyboard navigation, navigate to the checkbox for a course in the
  - Courses section of the blueprint settings
  - Notice that two presses of the tab key are required to advance to the
    next checkbox
  - Navigate to the Associated courses section, notice that advancing from
    one "X" to the next requires pressing tab 2 times for each step

Change-Id: I8e848bb96d24d17544d228d154fbf36f41db27cc
Reviewed-on: https://gerrit.instructure.com/114572
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2017-06-08 12:23:49 +00:00
Neil Gupta 5afdacd654 Return all submissions, even placeholders, in API
Fixes CNVS-37333

Test plan:
* Create a course
* Enroll 2 students
* Create an assignment
* Visit api/v1/courses/:course_id/assignments/:assignment_id/submissions
* Make sure 2 placeholder submissions are returned

Change-Id: I745a3bdce2b76be35aee3382b36e32e7698a86ae
Reviewed-on: https://gerrit.instructure.com/114276
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2017-06-07 21:41:51 +00:00
Clay Diffrient 5feb48e4de Restrict users with no student enrollments from list view
closes FALCOR-312

Test Plan:
  - Enable student planner feature flag
  - Log in as a user with no student enrollments
  - The dashboard options menu should not list "List View" as
    an option
  - Log in as a user with at least one student enrollment
  - The dashboard options menu should list "List View" as an
    option.

Change-Id: I0b2694ff5a76c6071c511c7b4a34cb1c97c312d0
Reviewed-on: https://gerrit.instructure.com/114166
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Christi Wruck
2017-06-07 21:23:36 +00:00
Rob Orton 86131bd047 show enrollments in deleted courses as deleted
refs CNVS-36193

test plan
 - have a non sis enrollment in a course
 - delete the course with a sis import by marking
   it deleted (don’t delete with batch mode, cause
   that is done in a different way)
 - run sis export and include deleted
 - all enrollments in the course should be marked
   as deleted
 - provisioning report should also have all the
   enrollments in the course as deleted

Change-Id: I23b3d736092d7082e5b75a645228602102d4b1ac
Reviewed-on: https://gerrit.instructure.com/112470
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2017-06-07 21:21:30 +00:00
Cody Cutrer 86a5e7364f remove site admin delegated cookie check
refs CNVS-37387

handle it in the multi-tenancy plugin instead

Change-Id: Icf9257c423142506f19781c10cb75f6b4f8a8455
Reviewed-on: https://gerrit.instructure.com/114628
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-06-07 21:15:47 +00:00