Commit Graph

20346 Commits

Author SHA1 Message Date
Jeremy Neander d64e5366b1 use updated instui select for gradebook content filters
closes GRADE-2320

test plan:
 A. Setup
    1. Create a course
    2. Ensure multiple of each of the following
       * Grading Periods
       * Assignment Groups
       * Modules
       * Sections
       * Student Groups
    3. Create several assignments
       * Distribute them among assignment groups however
       * Distribute due dates across grading periods
    4. Enroll some students
       * Distribute them across sections and groups however

 B. Verify
    1. Visit New Gradebook
    2. For each of the content types above (grading periods, etc.):
       a. Turn on the filter visibility
       b. Verify the value can be changed
       c. Verify the changed value is reflected in the page content
       d. Verify the changed value is persisted (refresh page)

Change-Id: I2dfd009569724cfb4276e0c459f54a1314f61ac6
Reviewed-on: https://gerrit.instructure.com/204658
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-08-15 18:29:26 +00:00
Jacob Burroughs 0adbbc1e9c Revert "[nav] allow long course names to show in a tooltip vs cutting off"
Turns out when course names are right on the fence between being too long and not too long they are unclickable

fixes ADMIN-2832

This reverts commit 21a7491ae5.

Change-Id: I273c21156aa083858fe8be6d7f53561c470a46a7
Reviewed-on: https://gerrit.instructure.com/205240
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2019-08-15 17:28:10 +00:00
Cameron Matheson e97e464bc5 paginate mutation audit log
Test plan:
  * Perform many (>250) mutations on an object
  * view the mutation audit log for that item
  * the results should be paginated

closes GQL-79, refs GQL-60
flag = GraphQL Mutation Log

Change-Id: Ic8c796b5d757bb8cc93147f6c410370bfaac55f8
Reviewed-on: https://gerrit.instructure.com/204277
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2019-08-15 17:04:02 +00:00
Jeremy Stanley 331bb4561d create view_feature_flags account permission
prior to this commit, only users with manage_feature_flags
permission can see the features tab in account settings.
this commit creates a new view_feature_flags permission
(granted to everyone who has manage_feature_flags) that allows
access to the page (which will be read-only if
manage_feature_flags is not also possessed).

test plan:
 - PRIOR TO APPLYING THIS PATCHSET, create a custom account
   role and give it "Feature Options - enable / disable"
   permission
 - apply the patch set, run migrations, and restart the server
 - ensure the "Feature Options - view" permission appears
   in Permissions and is granted to the custom role created
   in the first step
 - set up a role that contains "view" but not "enable / disable"
   and ensure a user in this role sees a read-only view
 - if you want to be fancy, give _both_ permissions to a role,
   and edit the role override in the console for manage_feature_flags
   to say "applies_to_self: false" in site admin in the console
   and confirm the user gets a read-only view in site admin
   and a writeable view in a normal root account

closes ADMIN-2802

Change-Id: I64da46d7d9efa587108acd0358cea5561f0e5376
Reviewed-on: https://gerrit.instructure.com/204208
Tested-by: Jenkins
Reviewed-by: Rex Fleischer <rfleischer@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: KC Naegle <knaegle@instructure.com>
2019-08-14 22:16:10 +00:00
Cameron Matheson 40b5c13a29 minor apollo update: take 2
Test plan:
  specs pass

flag = none

Change-Id: I8e816e4ff46148b586037aa2b6eb36b9e50a958f
Reviewed-on: https://gerrit.instructure.com/205109
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-08-14 22:13:15 +00:00
Gary Mei 092059e41c fix commenting for group assignments in gradebook
Commenting on a submission in gradebook where the assignment is a
group assignment and students are not graded individually now sends
the comment to all students in that group.

fixes GRADE-2280

Test Plan
- Create 2 group assignments, where 1 grades individually and 1 does
not.
- Open New Gradebook.
- Comment on the individually graded group assignment for 1 student.
- Verify that the other group members do not receive that comment.
- Comment on the group-graded group assignment for 1 student.
- Verify that the other group members receive that comment.

Change-Id: I722f2ebebb562e005ecaef8dd51e7420a5dc2a25
Reviewed-on: https://gerrit.instructure.com/203905
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2019-08-14 22:02:05 +00:00
wdransfield 9d29ecc713 Handle content item for default tools
Closes PLAT-4717

Test Plan:
- Configure a default external tool for the account
- Create an assignment in a course of that account
- Verify the tool can return a content item back
  to Canvas
- Verify the UI changes to reflect that content
  was retrieved
- Verify saving the assignment launches to the
  URL sent in the content item
Change-Id: I97fb34346ba49ad58bdafa972f6c3537b665f26d
Reviewed-on: https://gerrit.instructure.com/204525
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2019-08-14 22:00:44 +00:00
Drake Harper d766d16326 Remove feature flag for lti advantage
Fixes PLAT-4698

Test Plan:
-verify lti 1.3 and lti advantage flag is gone
-verify that all lti 1.3 features are still available/functional

Change-Id: I8be9e02fb2d32a92098bde43099ba0198e8d3329
Reviewed-on: https://gerrit.instructure.com/204381
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
Tested-by: Jenkins
2019-08-14 21:21:58 +00:00
Cameron Matheson a51cca64a5 truncate long strings in mutation audit log
Test plan:
  - submit a mutation with long text (long assignment description/etc)
  - view the mutation log entry for that item
  - it should be truncated after 256 chars

closes GQL-80
flag = GraphQL Mutation Log

Change-Id: Ibc33cc79e058b594849365ff10014899cee91afa
Reviewed-on: https://gerrit.instructure.com/204494
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-08-14 20:56:03 +00:00
Anju Reddy 99c19371a1 spec: add test to verify override dates
REFS ADMIN-2804

Change-Id: Ie4485d21753f0b8802563b089649a9da5c12f18c
Reviewed-on: https://gerrit.instructure.com/204914
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
2019-08-14 20:11:13 +00:00
James Williams cdd349a139 mark account reports as errored on job failure
Change-Id: I265efb537f68a569213bf0da452f35705942b3c9
Reviewed-on: https://gerrit.instructure.com/204680
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-08-14 19:22:11 +00:00
Marc Phillips 0f57275939 Filter tabs for lti tools by roles
Expand the lti tools by roles setting to
all placements.

refs PLAT-4743

Test Plan:
 - add a tool that has the required_permissions settings
   to a user, course, and account placement
 - become a user thtat has these roles, see that it shows
   in the placements
 - become one that doesn't, see that they don't

Change-Id: I42953ed573684633f113c318511e4c2a1b8ba88b
Reviewed-on: https://gerrit.instructure.com/204742
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Jenkins
Product-Review: Marc Phillips <mphillips@instructure.com>
2019-08-14 15:55:21 +00:00
Steven Burnett 47aea8bb5b create mark submission comment mutation
fixes COMMS-2277

Test Plan:
- Call the markSubmissionCommentRead graphql mutation
- ensure that it marks all SubmissionComments in the mutatation as read
- try to mark other comments (not yours) as read notice it doesn't work
- mark cross submission comments as read notice it doesn't work
- celebrate
Example
```
mutation MyMutation {
  __typename
  markSubmissionCommentsRead(input: {submissionCommentIds: ["665", "666", "778", "779", "782"], submissionId: "1"}) {
    submissionComments {
      read
    }
  }
}
```

Change-Id: I71a9ccf9715b0f14b0c01d8a79e9b16fe9769a1b
Reviewed-on: https://gerrit.instructure.com/204289
Tested-by: Jenkins
QA-Review: Ben Nelson <bnelson@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
2019-08-14 15:53:36 +00:00
James Williams 7f2bb50661 fix restoring retired communication channel as admin
test plan:
* add a email to a user
* delete the channel
* as an admin, view the user and edit them,
 using the "default email" field to set the email
 to the deleted path
* it should work

closes #COMMS-2297

Change-Id: I276be2bc24b9309260ef0dc0fe99910032c5353d
Reviewed-on: https://gerrit.instructure.com/204870
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-08-14 12:19:48 +00:00
James Williams 5f2de94ffe only send collaboration notifications to active users
test plan:
 * collaborations shouldn't send notifications to
 students in an unpublished course

closes #COMMS-356

Change-Id: I3f67c26fd8cfb93ff472b0ba52af3796f1647588
Reviewed-on: https://gerrit.instructure.com/204856
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-08-14 12:19:42 +00:00
James Williams d894d3ee02 use in-region shards for course index page
Change-Id: Ia30d349915c95b3747e14faee2edf3fcc9073de4
Reviewed-on: https://gerrit.instructure.com/204907
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-08-14 12:18:15 +00:00
Steven Burnett e7a5915574 add translations to canvas-media
fixes COMMS-2299

Test Plan:
- In A2 as a student submitting a video
- All strings should be present
- All strings should be translated

Change-Id: I474a332a747f8b1f60133a93346774375b309f07
Reviewed-on: https://gerrit.instructure.com/204635
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>
2019-08-13 21:42:49 +00:00
Steven Burnett 1f7bf02c4d add canvas media package
fixes COMMS-2290
flag Assignments 2

Test Plan:
- create a media upload assignment
- in a2 as a sutdent go submit an assignment
- notice a video upload button
- click button
- notice the modal is shown and you can drag and drop video files
  or record yourself
- close modal
- notice no console errors or crashes

Change-Id: I9a6184efb99aa05d0d634d2744cca00abf5ae26e
Reviewed-on: https://gerrit.instructure.com/204375
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
2019-08-13 20:17:06 +00:00
Jeremy Neander 0b4362749f show a tooltip for the post or hide grades menu
fixes GRADE-2286

test plan:
 1. Select or create a course
 2. Enable New Gradebook
 3. Enable Post Policies
 4. Visit SpeedGrader
 5. Hover the "Post or Hide Grades" menu
 6. Verify the menu label appears as a tooltip
 7. Using a screenreader, navigate to the menu button
 8. Verify the menu label is announced

Change-Id: I5fa027c7e34fe83fb456870e640907cb2150ef5c
Reviewed-on: https://gerrit.instructure.com/204388
Tested-by: Jenkins
Product-Review: Jonathan Fenton <jfenton@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
2019-08-13 18:43:22 +00:00
Jeremy Neander f70acd36d7 make grade summary muting tooltips accessible
fixes GRADE-2285

test plan:
 1. Select or create a course
 2. Set the post policy for an assignment to post manually
    * Alternately: mute grades for the assignment
 3. Sign in or act as a student in the course
 4. Visit the student grade summary page
 5. Ensure your screenreader is running
 6. Tab to the muted/hidden icon in the table
 7. Verify the muted/hidden text is announced
 8. Tab away and SR-navigate to the muted icon in the table
 9. Verify the muted/hidden text is announced

Change-Id: I9662f44871882a8fef0f9867124d4065ab6ad767
Reviewed-on: https://gerrit.instructure.com/204257
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-08-13 18:43:20 +00:00
Cody Cutrer bffe7a4883 switch to SCrypt for password storage
use a custom class so that we can set the scrypt parameters
directly, instead of that silly calibration stuff. also implement
cost_matches so that authlogic transitioning will work if we
were to ever change said parameters

Change-Id: Icc6e3a592e18beb6c15e01fa4e489d93e2d3b6e0
Reviewed-on: https://gerrit.instructure.com/204705
Tested-by: Jenkins
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
2019-08-12 20:39:22 +00:00
Jeremy Stanley fc1a49a380 fix preview for group files w/inst-fs
test plan:
 - set up inst-fs
 - inside a group, upload an image
 - without reloading the page, click the file
 - the image preview should load

fixes ADMIN-2787

Change-Id: I87e4d6086877f70c1747c99f0be6d189624e23f5
Reviewed-on: https://gerrit.instructure.com/204068
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2019-08-12 19:50:02 +00:00
Marc Phillips d28e568b3a Add manage_data_services role
refs PLAT-4743

Test Plan:
 n/a

Change-Id: Ie7fe1b0d16727374471c9732098339b415cf42e3
Reviewed-on: https://gerrit.instructure.com/204695
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2019-08-12 19:42:46 +00:00
Rex Fleischer 453e96b14c add filetype check for submissions file uploads
fixes: ADMIN-2792

feature = check_submission_file_type

Test-Plan:
* create an assignment of type online_upload without extension restrictions
* make sure the api can upload any filetype
* update the assignment extension restrictions to allow a specific type
* make sure files outside those types are rejected
* make sure files inside thase types are accepted

Change-Id: I5203f0d56630aa975f8424526623d4bcbbdaede9
Reviewed-on: https://gerrit.instructure.com/203821
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
2019-08-12 19:19:20 +00:00
wdransfield 25b1af71be Show and launch default tool
Closes PLAT-4696

Test Plan:
- Install a tool that uses content item
  at the assignment_selection placement
- Specify a default_assignment_tool_name in your
  root account settings.
- Specify a default_assignment_tool_url. This url
  must pasth the URL associated with the tool's
  assignment_selection placement launch url.
- Navigate to /course/:id/assignments/new for a
  course in the root account
- Verify the default tool shows up as an option in
  the submission type select element
- Verify clicking the "Add a question set"
  button launches the tool in a modal

Note that returning content from the launch will not
work yet. Also, work to allow cusomizing the info
alert and button text will be done in the future.

Change-Id: Iba1187dd9af64819d8dfc446fa246cd4ec8e9473
Reviewed-on: https://gerrit.instructure.com/204187
Reviewed-by: Marc Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2019-08-12 18:14:54 +00:00
Cody Cutrer f753a5e432 update authlogic
two breaking changes:
 * validations are gone, just use vanilla rails validations
 * authenticates_many is gone. use a scoping call instead

Change-Id: Iad2a5d4655ad116e85ea3ea98bc209b37cbdba39
Reviewed-on: https://gerrit.instructure.com/202619
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-08-12 18:02:02 +00:00
James Williams fea44ac59f unset context on attachments show
when we don't have rights to see it

closes #CORE-3224

Change-Id: I2d43bf7cbfec28ff0668e068abb74cf1571088c5
Reviewed-on: https://gerrit.instructure.com/203708
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2019-08-12 17:21:58 +00:00
Aaron Griffin 0912d22252 Support i18n numbers when taking a quiz
Test Plan:
- Create a quiz with at least one numeric and one formula question
- Set points, numbers, answers to include decimals or be over 1000 in
  several combinations
- Change locale to one with known thousand/decimal separators
    (French uses comma for decimals and space for thousands)
- Take the quiz and ensure that numbers and dates are properly localized
  all the way through

Closes QO-505

Change-Id: I1bba47e5db666bcf7eb7c477422b1b49ebf8328e
Reviewed-on: https://gerrit.instructure.com/203001
Tested-by: Jenkins
QA-Review: Tyler Burraston <tburraston@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
Reviewed-by: Bryan Petty <bpetty@instructure.com>
2019-08-12 15:09:17 +00:00
Pat Renner 6121e6f4db Ensure outcome imports update active records over deleted records
It is possible for multiple outcomes/outcome groups with the same
`vendor_guid` to be present in a given context.
When updating an outcome/group via CSV, we should
always prefer to update an active outcome to restoring a deleted outcome.

fixes OUT-3138

test plan:
- For both an outcome/outcome group, create two records
 with identical `vendor_guid's`. To do this, create two records via CSV
with guids that you define. After importing the CSV, manually update both
records to have the same `vendor_guid`.
- Mark one record as deleted and delete (via CSV)
- When updating a record, ensure only
 the active record is updated

Change-Id: I420a2435255af4bfb807be7d5dd761456151a016
Reviewed-on: https://gerrit.instructure.com/204087
Tested-by: Jenkins
Reviewed-by: Frank Murphy III <fmurphy@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
2019-08-12 13:55:01 +00:00
Jeremy Stanley 0e60c69c34 A2: fix "everyone else" dates
test plan:
 - create an assignment with different dates for different sections,
   plus unique due and availability dates for "everyone else"
 - as a teacher, ensure the dates that appear on the page in A2
   are correct (specifically, the dates for "everyone else" are
    the base dates and not the widest availability / latest
    due date from the overrides)

fixes ADMIN-2721

Change-Id: Ie2059bd86a5d96ca5fb6901def911a98fb82c39e
Reviewed-on: https://gerrit.instructure.com/202824
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
2019-08-10 00:04:12 +00:00
Adrian Packel c41f803290 Have recent feedback check posted not muted
fixes GRADE-2334

Test plan:
- Flip on the Post Policy feature flag
- Set up two courses with some students and assignments like so:
  - A course using New Gradebook (C1)
    - An auto-posted assignment (A1.1)
    - A manually-posted assignment (A1.2)
  - A course not using New Gradebook (C2)
    - An unmuted assignment (A2.1)
    - A muted assignment (A2.2)
- Enroll a student in both courses
- As a teacher, grade and/or leave a comment for the student on each of
  the above assignments
- As the student, log in and check your dashboard
  - Under "recent feedback", you should see grades/comments for A1.1 and
    A2.1, but *not* A1.2 or A2.2
- As the teacher, post grades for A1.2 and unmute A2.2
- As the student, you should now see these assignments under "recent
  feedback" as well
- As the teacher, hide grades for A1.1 and mute A2.1
- As the student, you should now only see A1.2 and A2.2 under "recent
  feedback"

Change-Id: I1f914510d0fd3bd79cd023f159a2d31c0d16bef4
Reviewed-on: https://gerrit.instructure.com/203756
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
2019-08-09 22:30:25 +00:00
James Williams ddbd8ced6b move discussion entry participants creation out of transaction
and simplify logic so we're not querying for the same
participant when setting the subscribed state

Change-Id: Id321909217f0d5f8e5e58592b00f93cc40ede25c
Reviewed-on: https://gerrit.instructure.com/204190
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-08-09 19:57:03 +00:00
James Williams c43b3fd5d8 split content migration job stranding by type
let blueprint course syncs, manual imports, and api initiated
imports run in independent queues and not block each other

closes #CORE-3237

Change-Id: Ib37cde3d317069748ad1a3fe91f41c82b8b95cd5
Reviewed-on: https://gerrit.instructure.com/204529
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
2019-08-09 17:16:18 +00:00
Ethan Knapp 622b101c72 allow GQL postAssignmentGrades per Submission
- adds optional `only_student_ids` argument to postAssignmentGrades
- adds optional `skip_student_ids` argument to postAssignmentGrades
- adds optional `section_ids` argument to postAssignmentGrades
- adds same arguments to hideAssignmentGrades

Test Plan:
- Validate that the postAssignmentGrades and hideAssignmentGrades GQL migrations
    function as expected with varying argument combinations

refs GRADE-2335, PFS-12667, PFS-13439

Change-Id: I518b53869b75a3d538a4e57c138bab250ce24690
Reviewed-on: https://gerrit.instructure.com/202527
Tested-by: Jenkins
QA-Review: Trevor Byington <tbyington@instructure.com>
Reviewed-by: Parker Miller <pmiller@instructure.com>
Product-Review: Ethan Knapp <eknapp@instructure.com>
2019-08-09 15:38:36 +00:00
James Williams debb4b82fe fix race conditions in custom data setting
use unique_constraint_retry when creating record
 and lock! around setting/removing data

closes #ADMIN-2819

Change-Id: If34c9f547e586107bf001bd18d0f94d14b9b8b18
Reviewed-on: https://gerrit.instructure.com/204450
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-08-09 15:28:36 +00:00
Ethan Knapp caf1158b43 add sis_source_id to Assignments
Test Plan:
- Canvas Migrations should run successfully
- Attempting to save Assignments (within the same RootAccount) with the
    same sis_source_id should fail
- [API] Assignment GET should include sis_assignment_id field
- [API] Assignment POST should allow setting the sis_assignment_id
- [API] Queries involving an Assignment should support the `assignments/sis_assignment_id:BLAH` syntax

refs PFS-11978, PFS-12661

Change-Id: I37a8d396bb409e98f6372abdc5b08f25f1d8d0f7
Reviewed-on: https://gerrit.instructure.com/199025
Tested-by: Jenkins
Reviewed-by: Tyson Brown <tbrown@instructure.com>
QA-Review: Trevor Byington <tbyington@instructure.com>
Product-Review: Collin Anderson
2019-08-08 23:02:51 +00:00
Ryan Shaw 0b8a1428d6 frd *always* use fetch polyfill for edge <17
Refs: CORE-3225

This also runs the polyfill before loading new relic so that if anything
uses “window.fetchIgnoredByNewRelic” it is the polyfilled version

Test plan:
* in edge 42, load the assignment show page
* you should not get an error in the console like:
HTTP401: DENIED - The requested resource requires user authentication.
(Fetch)GET - https://<canvas>/api/v1/courses/11/lti_apps
/launch_definitions?placements%5B%5D=assignment_edit
* you should also not get an error like that for the
  https://<canvas>/api/v1/conversations/unread_count request

Change-Id: I65ab0a096d6fe4643975623d68dc88ac520e5559
Reviewed-on: https://gerrit.instructure.com/204432
Tested-by: Jenkins
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2019-08-08 22:01:36 +00:00
James Williams 1097c90117 reduce thumbnail cache time to work with use_consistent_iat
g/192174 made it so the inst-fs jwt could expire after
halfway through the ttl, so we can't cache it for the
whole time

closes #CORE-3238

Change-Id: Ib33f77747620bc05db254d9f952c5618641c45ed
Reviewed-on: https://gerrit.instructure.com/204436
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-08-08 21:16:50 +00:00
Marc Phillips 616e1ccf5e Fix uuid parse bug in lti user lookup
fixes PLAT-4742

Test Plan:
 - create a user with id 6
 - create a different user with lti_id 6ad...
 - do a score put for a lineitem on user two
 - note that it updates correctly for that user

Change-Id: Iff8d5883d805848af2ff5e04c1712bf4c5a747db
Reviewed-on: https://gerrit.instructure.com/204416
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Tested-by: Jenkins
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2019-08-08 20:40:13 +00:00
Ryan Shaw 000eaf0c29 Fix a spec error
I have been getting this error from js specs:
TypeError: Cannot read property 'status' of undefined
    at then.catch.e (/app/jsx/rubrics/ProficiencyTable.js:107:24)
    at process._tickCallback (internal/process/next_tick.js:68:7)

This should fix that

Change-Id: I2043474e43070577518d0bfab20f045969568149
Reviewed-on: https://gerrit.instructure.com/204424
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-08-08 19:39:53 +00:00
Aaron Griffin 879dbe3330 Quizzes: Fix i18n points on question groups
Test Plan:
- Given a quiz with an i18n'd number locale
- Create a question group
- Set points to 1,5 or similar
- See it save, fill in when rediting, etc

Closes QO-507

Change-Id: I71f09d06d59b1225d42ab74798870e57183fbf73
Reviewed-on: https://gerrit.instructure.com/203760
Tested-by: Jenkins
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Kevin Dougherty III <jdougherty@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
2019-08-08 19:05:25 +00:00
Ryan Shaw 8c045cd7c5 Also ignore `renderSidebarIntoDiv` error
Change-Id: Ib1df5b8f5b042a23b3dd4a75056f8dfb6ff5423e
Reviewed-on: https://gerrit.instructure.com/204275
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2019-08-08 18:45:32 +00:00
Landon Gilbert-Bland e16bb95039 Minor fixes for A2
Test Plan:
  - Jenkins passes

Fixes COMMS-2294

flag = assignments_2

Change-Id: Ia7a23099be83c1607618d97a94dad6750d625cd8
Reviewed-on: https://gerrit.instructure.com/204366
Reviewed-by: Ryan Norton <rnorton@instructure.com>
Tested-by: Jenkins
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
2019-08-08 18:28:12 +00:00
Anju Reddy 2bba234b35 spec: unskip and fix MsgStudentWhoDialog JS tests
closes ADMIN-2821

Change-Id: I22804b27c16df5dc1e4dda56268619a77bded20b
Reviewed-on: https://gerrit.instructure.com/204313
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
2019-08-08 17:11:33 +00:00
Landon Gilbert-Bland fb1b058a76 Fix displaying previous submissions in A2
Test Plan:
  - Jenkins passes
  - You can once again view previous submission in A2 student view

Fixes COMMS-2279

flag = assignments_2

Change-Id: Ie0da4fb3e7725dba37dd8e2d95b7a2cb89298e62
Reviewed-on: https://gerrit.instructure.com/204217
Tested-by: Jenkins
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Michelle Simmons <misimmons@instructure.com>
2019-08-08 16:55:45 +00:00
James Williams ca6e290045 fix unescaped regex slash
Change-Id: Ia5fce6c54b48d3d4ab5a8270bc6d3f61fe53fc4d
Reviewed-on: https://gerrit.instructure.com/204359
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: James Williams <jamesw@instructure.com>
2019-08-08 15:14:42 +00:00
Jeremy Neander f07702a206 do not clip assignment link focus indicator
fixes GRADE-2309

test plan:
 1. Visit New Gradebook
 2. Set focus on any assignment column header link
 3. Verify the focus indicator is visible

Change-Id: I59ba7ed979b5f0aed06b8c3618d0cddd7ef8d43b
Reviewed-on: https://gerrit.instructure.com/204250
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Jeremy Neander <jneander@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
2019-08-08 14:01:54 +00:00
James Williams 16d4c834c5 clear todo_list cache register key in course#resubmission_for
Change-Id: I25df3541a1dfaf9996ee5906b9d3be0fff16a8f7
Reviewed-on: https://gerrit.instructure.com/204215
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-08-08 12:16:22 +00:00
Ed Schiebel 3d435b52de Remove special-case styleing for h3 in rce generated content
we had a rule that increased the top/bottom margins for h3 when
contained within content created by the user with the rce. Deleting
this rule fixes this ticket, and I can't find a reason for why the h3
would be singled out for special spacing.

closes COREFE-197

test plan:
  - using the rce html edit mode, add an h3 with some text around it
  > expect 6px margins above and below, not 24px

Change-Id: I9332c5320ea87d37d21bf84ca7a06c3e2797ea3e
Reviewed-on: https://gerrit.instructure.com/204191
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2019-08-08 12:10:27 +00:00
Simon Williams a0b58d02c1 api: allow graders to upload and submit for students
closes ADMIN-2795
flag: none

Test plan
- As a teacher, submit an assignment
  for a student with a submitted_at date
  that will override the submission time
- Do this with other grader types also
- Verify that you can't submit for a student
  who shouldn't have access to the assignment
  (excused, lock dates, grading periods, etc)
- Verify you can't change the submission
  time as the student

Change-Id: I86b7e6d3b03c9fe9b1c15908a3d0a5f88d5202f5
Reviewed-on: https://gerrit.instructure.com/167638
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ethan Knapp <eknapp@instructure.com>
2019-08-07 23:04:00 +00:00