Commit Graph

33149 Commits

Author SHA1 Message Date
Ubuntu 043833ada0 [i18n] update locales with new translations
Change-Id: I774df0b7d96305e9a19e62c5166482e65c4cc94d
Reviewed-on: https://gerrit.instructure.com/171765
Tested-by: Jenkins
2018-11-09 08:43:55 +00:00
KC Naegle 0011ca305e change h3 to h2 for event details
fixes COMMS-1739

Test Plan:
1. Navigate to the calendar
2. Click the Agenda view button
3. Add an event to the calendar
4. Click on the event
5. The dialog title should be an h2

Change-Id: I9b7dce6bb6202b7ef7e5e382b66ccd5a9d8938c2
Reviewed-on: https://gerrit.instructure.com/171620
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-11-08 23:26:12 +00:00
Ryan Shaw 2647f5cc44 opt the rest of the stuff Core owns into prettier
AKA:
eslint --fix app/jsx/{theme_editor,help_dialog,editor,dashboard_card,*.js}

Test plan:
* nothing should change

Change-Id: Ie7bbabaf46b0220a6c42449388f734a7a6cc09c5
Reviewed-on: https://gerrit.instructure.com/171498
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-11-08 23:00:28 +00:00
Keith T. Garner 061e538ba1 Revert "raise error on missing feature"
Looks like it broke for development feature flags when canvas was
running in production mode.

This reverts commit 974a6e809a.

Change-Id: I1946137a2c4fade435ca00fde75f2dcb3a795ac4
Reviewed-on: https://gerrit.instructure.com/171728
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Jenkins
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2018-11-08 22:59:23 +00:00
Robert Lamb 425d67bd74 spec: Embed video directly on spec failure page
Change-Id: Ifbb4709edc39856d97f21872bb3a8b7af5a65839
Reviewed-on: https://gerrit.instructure.com/171592
Tested-by: Jenkins
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
2018-11-08 22:21:21 +00:00
Cody Cutrer a07be7913f be more specific with URI detection of RelayState
fixes CORE-2090

Change-Id: Ia1ab934198e4d852bd4b05ca48d69b1638fbd12d
Reviewed-on: https://gerrit.instructure.com/170871
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2018-11-08 21:38:29 +00:00
Dan McCallum f16b101d14 Use ResourceLinks to resolve NRPS `rlid`s to Assignments
- Previously, NRPS `rlid` query params were resolved against
  `Assignment#lti_context_id`, now they resolve against
  `ResourceLink#resource_link_id`, which, conceptually, eventually
  produces an `Assignment` by navigating
  `ResourceLink`->`LineItem`->`Assignment`. (In actuality the
  impl flips this around with an AR query against `Assignment`.)
  - To get this to work, the `LineItem` and `ResourceLink` are
  created on the fly in an `after_save` callback on `Assignment`
  in the case where the `Assignment` has been bound to a
  `ContextExternalTool` supporting LTI 1.3.
  - As detailed extensively in `Assignment#update_line_items`, this
  on the fly `LineItem` and `ResourceLink` creation only occurs once
  per `Assignment`. Thereafter the only supported edits are limited
  to synchronizing `Assignment.title` and `Assignment.points_possible`
  into the `LineItem`. Expect additional changes in this area in the
  future as rules for coping with `Assignment`->`ContextExternalTool`
  rebindings are more clearly defined.

Closes LTIA-47

Test Plan:

  1. Create an `Assignment` without specifying an External Tool as the
  submission type.
  2. Verify via console or direct database access that no
  `lti_line_items` records refer to the `Assignment` and that no
  `lti_resource_link` records have been created.
  3. Verify that the `Assignment`'s roster cannot be pulled via NRPS
  by specifying a `rlid` query parameter with the value of
  `Assignment.lti_context_id`.
  4. Edit the `Assignment`, specifying a LTI 1.3-enabled external tool
  as the submission type.
  5. Verify via console or direct database access that a single
  `lti_line_items` record now refers to the `Assignment` and that its
  `label` and `score_maximum` fields match `Assignment.title` and
  `Assignment.points_possible`, respectively.
  6. Verify via console or direct database access that
  `lti_line_items.lti_resource_link_id` for the record from the
  previous step points to a `lti_resource_links` record and that
  `lti_resource_links.resource_link_id` matches
  `Assignment.lti_context_id`.
  7. Verify that `lti_resource_links.context_external_tool_id` points
  to a `context_external_tools` record that corresponds to the LTI 1.3
  tool selected in Step 4.
  8. Verify that the `Assignment`'s roster can now be pulled via NRPS
  by specifying a `rlid` query parameter with the value of
  `lti_resource_links.resource_link_id` (which, again, should match
  `Assignment.lti_context_id`).
  9. Undo step 4, i.e. select some other submission type other than
  an external tool.
  10. Verify that the `lti_line_items` and `lti_resource_links` records
  from steps 5 and 6 still exist and have not been modified.
  11. Verify that the `Assignment`'s roster can no longer be pulled via
  NRPS by specifying a `rlid` query parameter with the value of
  `lti_resource_links.resource_link_id`.
  12. Edit the `Assignment`'s `title` and `points_possible`. Verify
  that the edits are copied to `lti_line_items.label` and
  `lti_line_items.score_maximum`, respectively, despite the `Tool`-
  `Assignment` binding having been broken by step 9.
  13. Redo step 4 but select a non-LTI 1.3-enabled external tool.
  Re-verify steps 10 - 12.
  14. Redo step 4 and re-verify step 8.
  15. Create another `Assignment` specifying a non-LTI 1.3-enabled
  external tool.
  16. Verify no `lti_line_items` nor `lti_resource_links` records
  are created for the new `Assignment` from step 15.
  17. Verify that the roster for the `Assignment` from step 15 cannot
  be pulled via NRPS by specifying a `rlid` query parameter with the
  value of `Assignment.lti_context_id`.

Change-Id: I101929caf055b06bc5864f2c5f4a158c7a9e9361
Reviewed-on: https://gerrit.instructure.com/170719
Tested-by: Jenkins
QA-Review: Bill Smith <bsmith@instructure.com>
Reviewed-by: Marc Phillips <mphillips@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2018-11-08 21:07:51 +00:00
Ryan Shaw 4d0f3aaf56 Fix webpack/react/uglify-es performance regression
Closes: CORE-2126

See my comment on the github thread for details
https://github.com/facebook/react/issues/13987#issuecomment-437100945

Test plan:
* try canvas in a production environment
* all pages that use React components should feel faster

Change-Id: I3d9279784ef38bff1342ab6d20bbfefa697c92b2
Reviewed-on: https://gerrit.instructure.com/171633
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-11-08 21:06:26 +00:00
Dan Minkevitch 98a4d3c419 Remove Dashcard Reorder Feature Flag
Closes ADMIN-257

Test Plan:
* Ensure that you are able to reorder/drag-n-drop dashcards
  without having to enable any feature flags

Change-Id: Ia09c4ee821eb6a867a9521fdff5ccda5c599bcca
Reviewed-on: https://gerrit.instructure.com/166529
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Carl Kibler <ckibler@instructure.com>
2018-11-08 18:18:36 +00:00
Marc Phillips 07132b9f92 Disable footer keys when saving
To prevent double clicks on saving, disable the submit/save
keys on the DeveloperKey modal for both api and lti keys.

closes PLAT-3913

Test Plan:
 - Create an lti key and attempt to save right away, note
   that the button becomes disabled until it returns saying
   that the json was invalid
 - Create a valid tool config and press save, note that the
   save button disables until the next screen appears and
   reenables at that time
 - Save the customizations and note the same thing until the
   modal closes
 - do the same with an api key and note that saving disables
   the button until closes
 - also open the modal for each type and refresh teh page, note
   that it takes you back to the page with the modal open

Change-Id: Id1d1a2a2baa6fe00b2dafb406eec25040540b84c
Reviewed-on: https://gerrit.instructure.com/171481
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2018-11-08 17:54:17 +00:00
wdransfield d3cd41bda0 Allow setting redirect URIs on LTI keys
Closes PLAT-3984

Test Plan:
- Verify you can create LTI keys with with redirect_uris
- Verify you can still create non-LTI keys with
  redirect_uris

Change-Id: If9344d9fcd4abff46a40c586dd29d876f4d35af0
Reviewed-on: https://gerrit.instructure.com/171388
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-11-08 17:50:07 +00:00
Dan McCallum 1f31185896 Document NRPS v2 API
Closes LTIA-54

Test Plan:

  - Verify NRPS API documentation is available at
  `public/doc/api/names_and_role.html` after running
  `bundle exec rake doc:api`

Change-Id: Iaa0f688f77fda3c27f5069d5cfbe8f6a25266e14
Reviewed-on: https://gerrit.instructure.com/171168
Tested-by: Jenkins
Product-Review: Karl Lloyd <karl@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
2018-11-08 17:30:03 +00:00
wdransfield 609509fa57 Only cache id token body
Closes: PLAT-3987, PLAT-3988

Test Plan:
- Verify the following for assignment, course nav,
  and user nav placements:
  * The unsigned ID token body is sored as JSON in
    redis using the same key scheme as sessionless
    launches
  * The ID token contains all resource link
    request claims
  * Custom parameters are expanded before the body
    is cached
- Verify the message_hint is now a jwt that contains
  the domain and the "verifier"

Change-Id: I468e8af6ededdb4f6ef3da4d1014dc702f570543
Reviewed-on: https://gerrit.instructure.com/171223
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-11-08 17:20:56 +00:00
James Williams 35bc975441 fix delayed sis batch error file writing
closes #CORE-2116

Change-Id: I93fc398194d24ca3a9fdc5b1a55e3e47f2d57e42
Reviewed-on: https://gerrit.instructure.com/171566
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
2018-11-08 15:59:38 +00:00
James Williams 974a6e809a raise error on missing feature
because clay can't spell

also get rid of that feature flag enabling on
every user in specs

Change-Id: I96b72b94f7421a4d7b1c0215d36733f369862b2f
Reviewed-on: https://gerrit.instructure.com/171457
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2018-11-08 14:29:08 +00:00
KC Naegle be75277af3 change "Feeds" to h3
fixes COMMS-1746

Test Plan:
1. Navigate to the announcement page of a course
2. Click the External Feed link
3. Verify that the "Feeds" text on the tray is an H3

Change-Id: I22de5f05cfe88e76211434f1220234206506001a
Reviewed-on: https://gerrit.instructure.com/171509
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
2018-11-08 02:59:49 +00:00
Tucker McKnight 3d7fce201c spec: show page HTML on test failures
This adds another section to the "spec failures" page,
which shows the current DOM of whatever page was
showing in the browser when the text exits.

fixes QA-633

Change-Id: Ic4cfdc8deb67d2ed9b35cc5058a7353ca677d048
Reviewed-on: https://gerrit.instructure.com/171147
Tested-by: Jenkins
Reviewed-by: Anju Reddy <areddy@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2018-11-07 23:21:34 +00:00
Nathan Rogowski 713a8e29ec changes inconsistent spelling of "resend"
fixes ADMIN-2227

test plan:
- on People page of a course click kebab menu for user
- menu item spelled "resend"
- click Resend Invitation menu option
- modal heading, body text, and button all say "resend" with no hyphen

Change-Id: I5ca0fd2fc99a6e15f14ec84ac6e52defc5c12a3f
Reviewed-on: https://gerrit.instructure.com/171423
Tested-by: Jenkins
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
Product-Review: Daniel Sasaki <dsasaki@instructure.com>
Reviewed-by: Pierce Arner <pierce@instructure.com>
2018-11-07 23:02:32 +00:00
Indira Pai 422109c390 Spec: Fix element_not_visible flakyness
Closes QA - 626

Test Plan:
   --- Passes Jenkins

Change-Id: Ic4793ea033ac60d040cc0a28e98ba288a571cd51
Reviewed-on: https://gerrit.instructure.com/170964
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
2018-11-07 22:47:48 +00:00
Clay Diffrient 292b50a49b Update a11y checker to 1.9.2
closes CORE-1972

Test Plan:
  - Open the a11y checker in IE 11
  - It should open and work

Change-Id: Iacfef1e90e255ddf795bb84de430af4f4c39624d
Reviewed-on: https://gerrit.instructure.com/171292
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-11-07 22:46:32 +00:00
Ryan Shaw d86d69015c Opt our js build tooling dirs into prettier
I guess since our team owns these we can opt them in now


Test plan:
* nothing should change

Change-Id: Ic7207e1033869ef60644c41bd5c80a3e8532a6dd
Reviewed-on: https://gerrit.instructure.com/171471
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2018-11-07 22:46:16 +00:00
wdransfield dc856ca7cd Send login message for 1.3 launches
Closes PLAT-3950

Test Plan:
- Do the following for an LTI launch from an
  LTI assignment, the course navigation, and the
  user_settings placement.
  * Verify correct LTI launch is stored in Redis
  * Verify a login message is posted instead of
    an LTI launch
  * Verify the login message contains the following:
    - iss -> The iss in the Canvas security config
    - login_hint -> The session ID
    - target_link_uri -> placeholder string for now
    - lti_message_hint -> The redis key "verifier"

Change-Id: Iacd9e45b1883d062339d3ea03721f8c53cb815dd
Reviewed-on: https://gerrit.instructure.com/171036
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-11-07 22:44:51 +00:00
Derek Bender 07baf6b655 spec: log postgres connection problems in test
closes: QA-630

Change-Id: Iabe15645e9ecfba5b7e17efa8649f4f7a90bd9ba
Reviewed-on: https://gerrit.instructure.com/169986
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
2018-11-07 22:36:50 +00:00
Keith T. Garner 0e55f6ef49 unhide the anonymous moderated marking audit trail feature flag
Changes the default configuration on the Anonymous Moderated Marking
Audit Trail feature flag to allow use in production.

fixes GRADE-1822

test plan:
 - Confirm the Anonymous Moderated Marking Audit Trail flag appears on
   on the account settings page with just the beta tag.

Change-Id: Iac617107fb0a179d03d0feb1989b2ec240dfb35c
Reviewed-on: https://gerrit.instructure.com/171350
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2018-11-07 21:51:04 +00:00
Jon Willesen 849031f930 add disabled messages to assignment checkboxes
There were already some sr-only a11y messages for these checkboxes. This
just makes them visible for specific checkboxes and styles them.

fixes ADMIN-1548

test plan:
- enable moderated grading and anonymous grading feature flags.
- as a teacher, edit an assignment and play around with the group
  assignment, peer reviews, moderated grading, and anonymous grading
  checkboxes.
- when these checkboxes are disabled due to the other checkboxes, there
  should be a message beneath them explaining why they are disabled.

Change-Id: Ifa7b62546e9e2e46da7d8fef7b1d0f7e01e3c572
Reviewed-on: https://gerrit.instructure.com/170143
Tested-by: Jenkins
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2018-11-07 21:36:17 +00:00
James Williams 8cd24eef76 add unread content_participations index
closes #CORE-2104

Change-Id: I02f4114488db3471e1e57199658c9e05e6603b1c
Reviewed-on: https://gerrit.instructure.com/171389
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2018-11-07 17:42:25 +00:00
Adrian Packel 82b43661dd Only update columns in CSV upload if changed
Do not call the custom column update API when importing CSV files
unless the contents of custom columns have actually changed.

fixes GRADE-1626

Test plan:
- Have a course with some students and at least one custom column
  (the "notes" column is fine)
- Set some values for the custom columns
- Export a CSV file
- Ensure the following happens on re-import:
  - If there are no changes at all, you should get a message indicating
    such, as usual
  - If assignment scores have changed but custom column values have not,
    the import should complete successfully *without* showing an "Oops,
    this request didn't work out" error after you confirm the changes
  - If custom column values have changed, the changes should be
    reflected in the gradebook as expected

Change-Id: Ic5666c6a07cecafc4acbc191b39a788b6b51721e
Reviewed-on: https://gerrit.instructure.com/171076
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2018-11-07 16:06:06 +00:00
Landon Gilbert-Bland 06d6ffc24a PointsDisplay component for A2 student view
Fixes COMMS-1725

Test Plan:
  * Navigate to a new student assignment page
  * Notice that it is displaying -/32
  * Using a screenreader, select the text, and notice that it reads
    `ungraded out of 32`

Change-Id: I9ca9b2a8f6dcae581b71876f8845396adee169f2
Reviewed-on: https://gerrit.instructure.com/170967
QA-Review: Steven Burnett <sburnett@instructure.com>
Tested-by: Jenkins
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
Reviewed-by: Aaron Hsu <ahsu@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
2018-11-07 15:55:54 +00:00
Rob Orton 4820b999b5 allow filtering sis import errors to just failures
Change-Id: Id957cac0c31dc198d0a0aeeacde1c27e9a8febaf
Reviewed-on: https://gerrit.instructure.com/171074
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-07 15:41:53 +00:00
Rob Orton e148f7cf0d add row_info to the sis import api response
Change-Id: Ieb64f4f2cd5880bba1e815b6d4e2c28a45606e45
Reviewed-on: https://gerrit.instructure.com/171073
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-07 15:41:36 +00:00
Rob Orton f97cac857a allow filtering sis_import api index by state
Change-Id: I6da99d2a517ccfd2d48885bc4fcec9336522b861
Reviewed-on: https://gerrit.instructure.com/171072
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-07 15:39:35 +00:00
Rob Orton ef9e9fcecd expand sis import abort api documentation
Change-Id: Id8c1c21a0e3aa78c0861b9356ce53096ecb1a6a3
Reviewed-on: https://gerrit.instructure.com/170993
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-07 15:38:48 +00:00
Clay Diffrient fe47d0e5eb Fix focus ordering in RCE shortcuts and toggle
closes CORE-2012

Test Plan:
  - Go to a discussion and make a reply
  - Edit the reply
  - Tabbing through should go to keyboard shortcuts icon, then
    to the toggle link.

Change-Id: Ib8985f3bd90798c51a5ce6740270b35053690944
Reviewed-on: https://gerrit.instructure.com/169493
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-11-07 14:59:51 +00:00
wdransfield 160356823e Store LTI message in Redis
Closes PLAT-3949

Test Plan:
- Verify the following for assignment, course nav,
  and user nav placements:
  * The ID token is sored as JSON in redis using
    the same key scheme as sessionless launches
  * The ID token contains all resource link
    request claims
- The generate sesionles launch endpoint works
  as before.
- The sessionless launch endpoint works as before.

Change-Id: I5a3b201ab460facedd4eb03094fbac0ca12a4546
Reviewed-on: https://gerrit.instructure.com/170827
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-11-07 14:26:10 +00:00
Michael Brewer-Davis 97a910bcf0 fix quiz forcing 4 decimal points
closes QO-409

Test plan:
Take quiz with numeric question
Verify that trailing zeroes are removed,
  not added
  
Change-Id: Ica9d96d4c88a272380dde81db7afd1742ee53cd5
Reviewed-on: https://gerrit.instructure.com/171069
Reviewed-by: Jim Simon <jsimon@instructure.com>
Reviewed-by: David Tan <dtan@instructure.com>
Tested-by: Jenkins
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
2018-11-07 14:12:59 +00:00
wdransfield dba151d510 Remove key from UI on first render delete
Closes PLAT-3923

Test Plan:
- Create an LTI key
- Without refreshing the page, delete the key
- Verify the key is removed from the UI and DB

Change-Id: Ia7cc9296b4fb4efb475723e782c9ee1fb311a9cb
Reviewed-on: https://gerrit.instructure.com/170485
Tested-by: Jenkins
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Marc Phillips <mphillips@instructure.com>
2018-11-06 22:20:17 +00:00
Steven Burnett 4eca927712 fix overflow with conversations courses
fixes COMMS-1732

Test Plan:
- make 100 courses
- enroll yourself in those courses
- go to the inbox click on the course selection (top left)
- notice you can scroll through them.

Change-Id: I5b6d124b75115028a5c5d97951a74b37ffff80f6
Reviewed-on: https://gerrit.instructure.com/171277
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-11-06 20:30:48 +00:00
James Williams e656b57a6e don't include hidden discussion module items in sequence
test plan:
* create a section specific discussion
* add it as a module item
* a student in a section not assigned to the discussion
 should not be redirected to the discussion through the
 "previous" or "next" module sequence buttons

closes #COMMS-1733

Change-Id: I6768bafbe481b5787d28a20f6906fa640142a8c1
Reviewed-on: https://gerrit.instructure.com/171189
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2018-11-06 20:16:14 +00:00
Jacob Burroughs 15541fdd7a Update krecord to support nginx-rtmp
fixes COMMS-1731

Test plan:
- Test media recorder against FMS: it should work
- Test media recorder against nginx-rtmp: it should work
- Make sure audio-only and video work
- Make sure recordings > 1min work
- Maks sure seeking, stopping, and playing the recording multiple times works

Change-Id: Icaa5897e23c7330f49623fecdef6e05935e2a0c0
Reviewed-on: https://gerrit.instructure.com/170842
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-11-06 18:49:58 +00:00
Jeremy Neander 035ed14404 add overall anonymity to assessment audit summary
closes GRADE-1671

test plan:
 A. Setup for "Anonymous On"
    1. Create an assignment
       * With moderated grading
       * With anonymous grading
       * Worth 10 points
       * Two graders (A, B)
       * Teacher as final grader (not admin)
       * Assigned to only one or two students

    2. As each student, submit to the assignment
    3. As each grader, assign provisional grades

    4. As the final grader:
       a. Visit the moderation page
       b. Select provisional grades
       c. Post grades (note the date/time when doing this)
       d. Display grades to students

 B. Verify "Anonymous On"
    1. Log in as a user with "view audit trail" permission (admin)
    2. Open the assignment in SpeedGrader
    3. Open the assessment audit trail
    4. Verify the overall anonymity pill reads "Anonymous On"
    5. Verify the pill is blue
    6. Verify the date & time below matches what you noted above

 C. Setup for "Partial Anonymity"
    1. Create an assignment
       * With moderated grading
       * With graders anonymous to graders
       * Without anonymous grading
       * Worth 10 points
       * Two graders (A, B)
       * Teacher as final grader (not admin)
       * Assigned to only one or two students

    2. As each student, submit to the assignment
    3. As the teacher, disable grader anonymity
    4. As Grader A, assign provisional grades
    5. As the teacher, re-enable grader anonymity
    6. As Grader B, assign provisional grades

    7. As the final grader:
       a. Visit the moderation page
       b. Select provisional grades
       c. Post grades (again, note the date and time)
       d. Display grades to students

 D. Verify "Partial Anonymity"
    1. Log in as a user with "view audit trail" permission (admin)
    2. Open the assignment in SpeedGrader
    3. Open the assessment audit trail
    4. Verify the overall anonymity pill reads "Partially Anonymous"
       * it will be truncated, unfortunately (known issue)
    5. Verify the pill is red
    6. Verify the date & time below matches what you noted above

 E. Setup for "Anonymous Off"
    1. Create an assignment
       * With moderated grading
       * Without any anonymity settings enabled
       * Worth 10 points
       * Two graders (A, B)
       * Teacher as final grader (not admin)
       * Assigned to only one or two students

    2. As each student, submit to the assignment
    3. As each grader, assign provisional grades

    4. As the final grader:
       a. Visit the moderation page
       b. Select provisional grades
       c. Post grades
       d. Display grades to students

 F. Verify "Anonymous Off"
    1. Log in as a user with "view audit trail" permission (admin)
    2. Open the assignment in SpeedGrader
    3. Open the assessment audit trail
    4. Verify the overall anonymity pill reads "Anonymous Off"
    5. Verify the pill is red
    6. Verify the text below makes sense
       * "Anonymous was never turned on"

Change-Id: Ie53432022e1ae2b744e94530b619f908f346621d
Reviewed-on: https://gerrit.instructure.com/171083
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-11-06 18:45:26 +00:00
James Williams c01d429967 create sis batch error csv in separate job
closes #CORE-2100

Change-Id: I20f7ee27df8edf710fdf2c97d5b2735b2adcc8de
Reviewed-on: https://gerrit.instructure.com/171235
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
2018-11-06 18:33:35 +00:00
Marc Phillips 626d266c70 Fix lti key tool config error handling
closes PLAT-3912

Test Plan:
 - Create a lti key and enter in malformed json, should flash error
 - enter in config missing public_jwk, should fail
 - Do the same things with a url endpoint
 - Note that in none of these instances is a dev key created until
   success

Change-Id: If4c4aac23a747bb194b5fb6a9371690fcf33e652
Reviewed-on: https://gerrit.instructure.com/171129
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2018-11-06 18:28:05 +00:00
Clay Diffrient 58ab36e5d8 ESLint standardization
This commit introduces a better more reasonable ESLint configuration.
It removes all concerns with styling in favor of using prettier to handle
those things.

closes CORE-2096

Test Plan:
  - ESLint works

Change-Id: I50b90b7191b576bce4817d885d14f18c4c72d208
Reviewed-on: https://gerrit.instructure.com/170874
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-11-06 17:46:21 +00:00
Gary Mei 150b6c2913 return grading period info when totals are hidden
`current_grading_period_id`, `current_grading_period_title`,
`has_grading_periods`, `multiple_grading_periods_enabled` are now
returned even when the course has turned on hiding the total score.

This information is returned from `api/v1/courses/:course_id` when
the include[] param includes `current_grading_period_scores` and
`total_scores`.

closes GRADE-1635

Test Plan
- Set up a grading period that the course falls in.
- In the course settings, turn on the setting
  "Hide totals in student grades summary"
- Send a GET request to
  `api/v1/courses/:course_id?
  include[]=current_grading_period_scores&include[]=total_scores`

- Verify that in the json response, the enrollments array contains
  objects with the four keys mentioned above, and that
  "hide_final_grades" is true.

Change-Id: Ic8dbbd7da3bef033f61b16289813e6b013f2e0e4
Reviewed-on: https://gerrit.instructure.com/170325
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Jenkins
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2018-11-06 17:22:57 +00:00
Cameron Matheson 6592f3cd72 graphql: fix assignment/assignmentGroup fields
These were only working with legacy ids.

Test plan: load an assignment/assignmentGroup at the top-level

closes GQL-13

Change-Id: I4ac7f1277ffebbf419202dc93dcd2c0d0bde51e8
Reviewed-on: https://gerrit.instructure.com/171128
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Tested-by: Jenkins
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2018-11-06 16:27:12 +00:00
Rob Orton eeda02b181 spec: use match_array to not care about order
test plan
 - specs should pass

Change-Id: Icf80dcb5a6ef865f9078f65832ff00e605982145
Reviewed-on: https://gerrit.instructure.com/171120
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-11-05 23:48:10 +00:00
Rob Orton c36854f15f recalculate due dates and scores on user split
Change-Id: Ie1c82860bade123958ac381f2afa5dd637d67f9d
Reviewed-on: https://gerrit.instructure.com/171077
Reviewed-by: Keith Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-11-05 23:15:06 +00:00
Derek Bender 01137d3f09 spec: fix timebomb in student planner
fixes: GRADE-1821

Change-Id: I5fb4d1e15d55858e043c2da924648a73e4c85a8b
Reviewed-on: https://gerrit.instructure.com/171113
Tested-by: Jenkins
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
2018-11-05 23:02:09 +00:00
Augusto Callejas 55168e2f71 Don't display pts possible for rubrics w/o pts
closes OUT-2189

test plan:
  - in a course, create an outcome
  - click on the "Manage Rubrics" button to view course rubrics
  - create a rubric with a single outcome as a criterion, making
    sure "Use this criterion for scoring" is unchecked when importing
    into the rubric
  - refresh the course rubrics page
  - confirm that the rubric only displays the total number of criteria
    and does not display any points possible

Change-Id: Ic18b7b80228b02724af88190bce58cd3e051433d
Reviewed-on: https://gerrit.instructure.com/170979
Tested-by: Jenkins
Reviewed-by: Frank Murphy III <fmurphy@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-11-05 22:23:15 +00:00
Augusto Callejas 1a8736e018 Exclude results with nil scores on aggregation
closes OUT-2548

"n Number of Time" outcomes can generate rollups with
a nil score because only result scores above mastery are used
to calculate the final rollup score. Exclude those nil scores
when calculating average and median. If all scores are rejected,
then the aggregate score should be nil.

test plan:
  - in a course, create an outcome with the "n Number of Times"
    calculation method
  - create an assignment
  - align the outcome to the assignment via a rubric
  - submit to the assignment with two student users
  - assess the rubric submissions, selecting the 0 point tier
  - confirm that the LMGB page loads without error, both
    with "Course Average" and "Course median" selected

Change-Id: Ic64a1c89afc04a998a311694786e295ae81adc29
Reviewed-on: https://gerrit.instructure.com/170947
Reviewed-by: Frank Murphy III <fmurphy@instructure.com>
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Tested-by: Jenkins
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-11-05 22:21:09 +00:00