Commit Graph

55538 Commits

Author SHA1 Message Date
Drake Harper 319a2fdbd8 Add applyAssignmentGroupWeights to course type
refs VICE-3502
flag=restrict_quantitative_data

Test Plan:
- able to query applyAssignmentGroupWeights on course type
 — http://localhost:3000/graphiql

Sample Query:
query MyQuery {
  legacyNode(_id: "1", type: Course) {
    ... on Course {
      applyGroupWeights
    }
  }
}

Change-Id: Id4ed3af5f1e848716655bc4fdd1ad260b36d05cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317797
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2023-05-10 18:37:06 +00:00
Drake Harper d55fa04b77 Add hide_grade_from_student field to submission type
refs VICE-3502
flag=restrict_quantitative_data

Test Plan:
- able to query for hideGradeFromStudent on
   Course > assignmentsConnection > submissionsConnection
   OR on submission directly

Sample Query:
query GetAssignments($courseID: ID!) {
  legacyNode(_id: $courseID, type: Course) {
    ... on Course {
      id
      name
      assignmentsConnection {
        nodes {
          _id
          submissionsConnection {
            nodes {
              _id
              hideGradeFromStudent
            }
          }
        }
      }
    }
  }
}

Query Variables:
{
  "courseID": "1"
}

Change-Id: If65e7fb470fbdcba2123568a5287e2b610fde815
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317060
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-05-10 18:36:56 +00:00
Drake Harper 17de4074d0 Revert "Add grade_for_student method to Assignment model"
This reverts commit 11f988889e.

Reason for revert: This is not needed

Change-Id: I4baec68f0e7327260849051e8454bc8a05e8a37d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317341
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-05-10 18:36:49 +00:00
Caleb Guanzon acb0b38cf6 respect anonymous discussions for reply_to_name
flag=react_discussions_post
fixes VICE-3422

notes:
- no need to test graded discussions and mentioning,
those cannot exist with discussion anonymity

- author_name already accounts for full and partial
anonymity

TEST PLAN:
- existing tests pass
- must have Discussions/Announcements Redesign ON
- must have a teacher and 2 students in a course
- these users must have their "New Reply" notification
set to immediately

- as a teacher, create a fully anonymous discussion
- as student 1, reply to the discussion
- as student 2 reply as well
- bundle exec rails c
- verify Message.last.from_name is anonymized
- verify Message.last.reply_to_namee is anonymized

Change-Id: Iab86bf8bcba2ca15b17b7aa2e69a757035fe6519
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317682
Product-Review: Allison Pittler <allison.pittler@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2023-05-10 18:26:56 +00:00
Spencer Olson aad2d0c1e4 fixup assignment bucket filtering
The assignments API index and users_index endpoints allow for a 'bucket'
param to be passed that filters assignments based on certain criteria.
This commit fixes inconsitencies with bucket filtering and makes bucket
filtering predictable for teachers, admins, and observers.

Teachers & Admins
- An assignment is included in a 'bucket' if at least one assigned student
  meets the bucket criteria, e.g. for the 'past' bucket, an assignment will
  be returned if any assigned student has that assignment due in the past
  for them.

Observers
- An asignment is included in a 'bucket' if at least one assigned observed
  student meets the bucket criteria, .e.g. for the 'past' bucket, an
  assignment will be returned if any assigned observed student has that
  assignment due in the past for them.

closes EVAL-2894
flag=none
[fsc-timeout=60]
[fsc-max-nodes=20]

Test Plan:
For an admin, teacher, observer, and student, verify the `bucket` param
passed to the api/v1/courses/:id/assignments endpoint behaves in the
following ways:

For the steps below, replace APPLICABLE_STUDENTS with:
- "at least one assigned student" if the current_user is a teacher or admin
- "at least one assigned observed student" if the current_user is an
  observer
- "themselves" if the current_user is a student

`past` bucket
- assignment is included if the assignment is due in the past for
  APPLICABLE_STUDENTS.

`overdue` bucket
- assignment is included if the assignment is due in the past, expects a
  submission, has not been submitted or graded, and is able to be submitted
  to by APPLICABLE_STUDENTS.

`undated` bucket
- assignment is included if the assignment is due without a due date for
  APPLICABLE_STUDENTS.

`ungraded` bucket
- assignment is included if the assignment expects a submission, the
  student has turned in work but has not been graded for
  APPLICABLE_STUDENTS.

`unsubmitted` bucket
- assignment is included if the assignment expects a submission and the
  student has not turned in work for APPLICABLE_STUDENTS.

`upcoming` bucket
- assignment is included if the assignment has a due date that is due in
  the next 10 days for APPLICABLE_STUDENTS.

`future` bucket
- assignment is included if the assignment is due without a due date or
  is due in the future for APPLICABLE_STUDENTS.

Change-Id: I3255674cd32373bca36943030c35eaa9d15055b5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312938
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-05-10 17:26:38 +00:00
Yona Appletree cee5a86ca2 RCE: Handle deviations in INST editorButtons type
Updates the new external tool dialog to handle unexpected shapes
of INST editorButtons

Fixes MAT-1354
flag=rce_new_external_tool_dialog_in_canvas

QA Risk low:
- behind feature flag
- well unit tested

Test plan:
- Navigate to a page with an RCE
- Put a breakpoint where ENV is defined in the page, and add
  an offending editorButton to INST. See ticket for details.
- Ensure the RCE loads without error

Change-Id: I747555f38774d6978ea0666ef0d38bd8a0aaf89c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317810
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Yona Appletree <yona.appletree@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-10 17:01:46 +00:00
Derek Williams 5e77ff06b5 Hide the Success Panda Image in the Peer Review Success Modal
closes EVAL-3077
flag=assignments_2_student

test plan:
- set up a peer review assignment
- successfully submit a Peer Review Comment
- verify the panda image in the success modal is hidden from screen
reader

Change-Id: If9bd4f28a662e7c02fd881375dccecb0131b5ef5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317457
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-05-10 16:51:07 +00:00
Paul Gray 58a743fe31 Prefill assignment edit form from DL lineItem
test plan:

Make sure assignments edit page still works

Launch the 1.3 test tool via the `assignment_selection` placement
(Course -> Assignments -> +Assignment -> Submission Type -> External
Tool -> Find).

Change the values in the "Title, Text (description), LineItem (JSON)."

Make sure these values are pre-filled in the assignment form, according
to the `lti_deep_linking_line_items` flag configuration.

With the `lti_deep_linking_line_items` flag off, the values will only
pre-fill if they haven't been changed from their original values. With
the `lti_deep_linking_line_items` flag on, the values will always
pre-fill over any of the values already present in the form. The form
shouldn't prefill with any blank values.

The `resourceId` and `tag` fields of the line item claim can be checked
after the assignment is successfully created, via rails console:

```
Assignment.last.line_items
```

flag=lti_assignment_page_line_items

fixes INTEROP-8003

Change-Id: I2d71097f953f72d96c53cb9b2cd2cbbf13e32fe6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317125
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-10 16:39:29 +00:00
Paul Gray 90a61e51af Convert deep-linking code to typescript
refs INTEROP-8003
fixes INTEROP-8038

flag = none

Test plan:

Launch the LTI 1.3 test tool, and return content items in the assignment
selection, and editor placements.

Change-Id: Ifaf98a4a6fc76a987c43cc1240e45d85ca02afda
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314865
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Reviewed-by: Steve Mcgee <steve.mcgee@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
2023-05-10 16:38:18 +00:00
Jeremy Stanley 10635b142f add index on users.merged_into_user_id
set as a postdeploy since I'm not aware of any operation of canvas
proper that needs the index; however, the user scrubber has to do
sequential scans though the users table to check the fk constraint
when hard-deleting users. in an EXPLAIN ANALYZE of a hard-delete
of 100 spam users, I found this:

 ...
 Trigger for constraint fk_rails_69200ebc90: time=2.682 calls=100
 Trigger for constraint fk_rails_406668e8c1: time=2.609 calls=100
 Trigger for constraint fk_rails_a47cd9d666: time=114608.650 calls=100
 Trigger for constraint fk_rails_1b711e94aa: time=5.172 calls=100
 Trigger for constraint fk_rails_195cffa827: time=3.599 calls=100
 Trigger for constraint fk_rails_dbff8d102b: time=2.466 calls=100
 ...
 Execution Time: 115345.613 ms

and structure.sql contains this:

 ALTER TABLE ONLY public.users
 ADD CONSTRAINT fk_rails_a47cd9d666 FOREIGN KEY (merged_into_user_id) REFERENCES public.users(id);

to make this check fast, we need to help postgres quickly find whether
a user it's about to delete is referenced in another row's
merged_into_user_id column

fixes FOO-3500

Change-Id: I376ea268a3ad75dbaee37991a647bddb5287585b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317440
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2023-05-10 16:28:46 +00:00
jake.oeding 2feada772c backport SMO logic to old external tool dialog
closes MAT-1355
flag=rce_show_studio_media_options

test plan:
*pre-req: have your dev setup working with my studio
 beta instance
*make sure you disable the new external tool plugin
-test that adding videos with 'display media tabs'
 de-selected enables you to open the SMO tray and
 do all the things
-test that adding videos with 'display media tabs'
 selected doesn't allow you to open the SMO tray
-maybe try using some other lti tools and confirm
 you don't see anything out of the ordinary

Change-Id: Iae2767015742bbfb0eb7b07ae87dc922e979d98f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317818
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2023-05-10 16:25:48 +00:00
Caleb Guanzon 294b38dcd7 make recent feedback section rqd aware
flag=restrict_quantitative_data
fixes VICE-3498

test plan:
- have a student be graded on a
points assignment, a percentage assignment,
a letter-grade assignment, and a complete-incomplete
assignment

- make sure that student is quantitative data restricted
- as the student visit your home page
- verify that recent feedback on the right
converts points and percent grades to letter-grade,
while leaving complete-incomplete and letter-grade grades
alone

Change-Id: Ic8961976c89bcb112dd65575c6e235f80be19baf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317789
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Allison Pittler <allison.pittler@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2023-05-10 16:09:23 +00:00
Caleb Guanzon 842795d8a9 make teachers and ta's list respect section restrictions
flag=none
fixes VICE-3439

test plan:
- new test passes
- follow the steps in the ticket
- verify the ticket's expected behavior is met

Change-Id: I1c5ebcfd887c0eae06e6c8b407f8ad601b82107e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317716
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2023-05-10 16:04:38 +00:00
Paul Gray 8008c92965 Add AGS grading progress metric collection
why

This commit adds metric collection to help determine who is using a
grading progress of 'Pending' when submitting scores via ags.

test plan

Add the following configuration to config/dynamic_settings.yml:

```
development:
  private:
    canvas:
      frontend_data_collection_endpoint:
'https://canvas-frontend-data-edge.inseng.net/submit'
```

Launch an AGS assignment via the LTI 1.3 Test tool, and submit a score
for a student with a grading progress. Check the appropriate bucket in
s3 to make sure the grading progress metric was persisted.

flag=none

refs INTEROP-8016

Change-Id: Ib733d756295a31c4046712f6041d1588d6e23f99
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317217
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2023-05-10 16:00:11 +00:00
Drake Harper 6db5f02fef Create ff for student grade summary table
refs VICE-3502
flag=student_grade_summary_upgrade

Test Plan:
- feature flag is changeable

Change-Id: I6a3f4436460b65487c10ca24d776601c617860e3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317064
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-05-10 15:42:53 +00:00
Aaron Ogata 761606c842 use vault role for jobs autoscaling
refs AE-50

Change-Id: I183bdf0533e971014d207499c85ca6fbfc6ca44b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317774
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2023-05-10 13:48:53 +00:00
Cody Cutrer 538ce90ed8 bump sanitize
Change-Id: I0fbecb820d59af3b38963b7782abc96c33394ea9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317823
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-10 13:33:27 +00:00
Cody Cutrer 6b6190d6d4 bump redcarpet
Change-Id: I53cf6a5690d0f3a24106ee333cc2a5f6cde32afe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317822
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
2023-05-10 13:33:15 +00:00
Cody Cutrer 833b17facb bump oauth
Change-Id: Ieef103d6986c42ab9a1feaad247796a3e4a1cb21
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317821
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-10 13:33:04 +00:00
jen.smith e30080d667 Fix bug where deleted comment causes stuck grade badge
closes EVAL-3028
flag=visibility_feedback_student_grades_page
flag=assignments_2_student

[fsc-max-nodes=20] [fsc-timeout=60]

Test Plan:

Prerequisites:
Enable Assignment Enhancements.
Enable 'Improve Feedback on Students Grade Page'

1. Create an assignment

2. As a teacher, in speed grader, add a submission
comment to this assignment for a student

3. As a teacher, delete the newly created comment

4. As the student from step 3, observe that there
is no grade badge or assignment badge indicating
an unread comment

Change-Id: I5974f42e4d76ebff326bda10b3686f98dc8f870c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316925
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-05-10 02:07:32 +00:00
Cody Cutrer f00ee1e5db bump nokogiri
Change-Id: Ib1bee8241147cfac7cd6bfd778c0fc6c271f8467
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317808
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-09 22:58:11 +00:00
Cody Cutrer 5d6c6d5def bump rack
Change-Id: I98ff462a8719be0c18f54763746be0a02b890bd3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317807
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-09 22:57:57 +00:00
Cody Cutrer 2ad4ea5d18 fix lockfile syncing from canvas lockfile to sub-gems
Actually use Bundler to write them out. this ensure that all
constraints are checked with the gem's Gemfile. Had to resolve
several issues with gems along the way.

also removed RedCloth from canvas_stringex, because it's never
used

Change-Id: I614be19e147bdfd3e351e7f032fd6f9b0c1926be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317781
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andrea Cirulli <andrea.cirulli@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2023-05-09 22:57:42 +00:00
Jason Gillett 0a32ee7191 Update submissions_grade-changed notification to respect LGO
closes VICE-3486
flag=restrict_quantitative_data

Test Plan
1. Create an assignment as a teacher
2. As a student enable "send scores in notification"
3. As a student create the communication channels you want to test
4. As student, create a submission
5. As a teacher grade the submission
6. Check the students messages to verify submission graded message
7. in the console change the submission graded_at
7a. submission.graded_at = Time.zone.parse("Jan 1 2000")
7. as a teacher change the grade
8. verify that the grade changed notification respects lgo

Change-Id: Iceed6caebead2c69df6ff320d5839944d66d4c14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317562
Product-Review: Jody Sailor
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-09 22:00:21 +00:00
Cody Cutrer 1dc67d2ae2 bump httparty
Change-Id: I276f4c2833757e41de960650c08e68a0afc808a6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317802
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-09 19:46:20 +00:00
Spencer Olson 175c74acca missing policy applicator: eager load -> preload
closes EVAL-3038
flag=none

Test Plan:
- specs pass

Change-Id: I5a8438c2372d963fa4e6f8153c2bb023935aa4f0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317671
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2023-05-09 19:36:04 +00:00
Aaron Shafovaloff 6d6672991c Fix special characters in gradebook filters
Test plan:
  - Enable the enhanced_gradebook_filters feature flag
  - Create a student group with a name containing special characters
  - Go to the gradebook
  - Click "Apply Filters"
    - The student group name should be displayed correctly in the
      filter dropdown

flag=enhanced_gradebook_filters

Fixes EVAL-2936 (again)

Change-Id: I8d0ac8fa5f3326e7b108562d1376b923f391b115
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317563
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2023-05-09 19:33:21 +00:00
Sarah Gerard 2067bc6898 account for global ids in overlay
the regex expression which found the file id
was not accounting for the possibility of a
global id, causing some document previews to fail

fixes MAT-1345
flag=none

test plan:
- this bug is hard to recreate in local, so I think the
  test proves that it works, you can also do the following:
- go to an rce and add a user file using the document tray
- in html mode, change the href of the file to have a global id
  as the file id
- ex. href="https://canvas.docker/users/1/files/12~34560?..."
- make sure the file link is set to overlay and save
- open developer tools and go to network
- click on the file to preview it in overlay
- look for a network request resembling this:
  12~34560?include[]=enhanced_preview_url&verifier=ag… etc
- request will fail unless you have an attachment with that id
  (120000000034560) but that's ok
- ensure no other overlay file links are broken

qa risk: low

Change-Id: I4df7977ba711f4a13916a0e6d6bfbf4ab4f825eb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317718
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Sarah Gerard <sarah.gerard@instructure.com>
2023-05-09 18:56:55 +00:00
Omar Gerardo Soto-Fortuño 0086d1762f Hide points from ToDoItem
fixes VICE-3497
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - As a teacher, create an assignment with due date.
  - As a student of the course, go to the dashboard.
  - Points shouldn't be shown.

qa risk: low

Change-Id: Ie7605ea080c76e52b33d7410070900e4dfc3e589
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317708
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Allison Pittler <allison.pittler@instructure.com>
2023-05-09 17:45:43 +00:00
Jacob Burroughs 2cc84ccd8e Bump switchman and report deprecations to sentry
refs AE-248

Change-Id: Ibcceeed4a8163648ed5a7d9f41b00499affae990
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317764
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
2023-05-09 16:46:04 +00:00
Sarah Gerard 7021e6e027 toasty fix for media_objects
test plan:
- tests pass

Change-Id: Ie4295b60983faa2f98a8d11d615da4c7125fb645
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317782
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-09 16:15:17 +00:00
Jackson Howe 7d0a6dd2b2 Add module name to publish button SR text
closes LS-3995
flag = module_publish_menu

Test plan:
 - Open the modules page with the flag enabled
 - Using a SR, focus on an individual module's publish menu
 - Expect to hear '[module name] Module publish options'

Change-Id: Ibd12dd5f9d34f03107ad6777e32fc9e7d8bca035
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317664
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-09 15:41:02 +00:00
Mysti Lilla 18b9452ee4 Fix arm64-darwin-22 in rubocop lock file
Test plan
- Specs pass

Change-Id: Ia473c02536cc965973f90e5b258e4658c1a23a17
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317707
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2023-05-08 21:55:38 +00:00
Ed Schiebel c2ff3dec6c don't let users remove auto-subscribed calendars
closes LS-3986
flag=auto_subscribe_account_calendars

test plan:
  - have a student in a couple courses in different sub-accounts
  - have one sub-acccount's calendar auto-subscribe (by setting
    account_calendar_subscription_type="auto" on the account)
  - open the calendar as the student
  > expect to see the auto-subscribed calendar in the sidebar
  - hover over that calendar
  > expect no 'x' to remove the calendar
  - click the + to add other calendar to open the Select Calendars
    modal
  > expect the auto-subscribed calendar's checkbox to be disabled
  - check the other account calendar's checkbox and Save Changes
  > expect both calendars in the sidebar
  - hover over each of them
  > expect an 'x' to delete the non-auto-subscribed calendar and
    no 'x' on the auto-subscribed calendar

Change-Id: I7c22eb3a20f3cbfb0dbe04d540e31d585c0a111a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317430
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-08 20:56:10 +00:00
Caleb Guanzon f97ecb3cf2 implement rqd on sumbission_graded notif
flag=restrict_quantitative_data
fixes VICE-3487

test plan:
- must have a quantitative data restricted student
- must have an assignment

test plan:
- submit the assignment as a student
- as an admin, grade the student on the submission
- as an admin, visit /users/:id_of_student/messages
- verify you no longer see score: in the plain text
and html versions of the submission_graded notification
- verify you now see grade: #{the letter grade equivalent}
instead

Change-Id: I0ab636368f01402ff08f275a123e29ed3973034d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317560
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-05-08 19:13:46 +00:00
Tucker McKnight 8fee6ee2c7 Remove the unneeded registration_url from JWT
This is not part of the spec; the user will get the
registration URL from our OIDC endpoint.

flag = lti_dynamic_registration

test plan:
- specs pass

Change-Id: I0e23183dfe3d74cc6cba0e31276cd869f3fe6d26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317506
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
2023-05-08 18:38:12 +00:00
Omar Gerardo Soto-Fortuño b9b9d22ff5 Log participation when user posts on Discussion Redesign
fixes VICE-3399
flag=react_discussions_post

test plan:
  - Specs pass.
  - Create a topic as a teacher.
  - Visit that topic as a student.
  - Create an entry.
  - As a teacher, visit /courses/[Course ID]/users/[Student ID]/usage.
  - Times Participated column should show 1 (or more) for the topic.

qa risk: low

Change-Id: Idd38c7474c1708fcbb6ec0c5465960bea9fb3329
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317653
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Allison Pittler <allison.pittler@instructure.com>
2023-05-08 18:24:39 +00:00
Yona Appletree ac03b6a8fe Exclude undesired glyphs from Balsamiq Sans
Balsamiq Sans has non-standard glyphs for some unicode code points
related to some math symbols. Exclude these code points from
our @font-face definition for Balsamic Sans

Closes MAT-1341
flag=none

QA Risk Low:
- While this touches fonts, any issue should be very obvious during
  QA.

Test plan:
- Test text: 'Balsamiq Sans - ❨❩❪❫❬❭❮❯❰❱❲❳❴❵'
- Insert the text into an RCE and ensure it displays correctly
  in Balsamiq Sans and several other fonts.
- Save the RCE and ensure it still displays correctly.

Change-Id: I77b5bed591a4061fe49f88b58522bc3e0fb4252a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317465
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Allison Howell <allison.howell@instructure.com>
2023-05-08 18:15:46 +00:00
Jackson Howe d6420d002e Allow passing just 1 attribute in bulk update api
Previously, if just a single attribute was included in the payload,
the missing attributes would default to false (which is not how the
API is documented to work).

refs LS-3982
flag = none

Test plan:
 - PUT /api/v1/account_calendars/<account_id> with a payload like:
   [{"id": 1, "visible": true }]
   on an account where account_calendar_subscription_type is "auto"
 - Expect account_calendar_visible to be true and
   account_calender_subscription_type to still be "auto"

Change-Id: I38d7c06518c5374101821602c3aed496c4e756ae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317675
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-08 17:57:29 +00:00
Jackson Howe 6e0f3504c0 Put focus on close button when bulk publishing
closes LS-3996
flag = module_publish_menu

Test plan:
 - Open bulk publish modal
 - Click 'continue'
 - Expect focus to be on the close 'x' in modal header

Change-Id: Ib66cd4dff1bd4701c69083fab2c5f1bcbb5a846e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317444
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-08 17:09:21 +00:00
Cody Cutrer 9f7eb93367 bump inst-jobs
Change-Id: I5a750e65687b598848dec3548adedf1edb473cd7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317670
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
2023-05-08 16:24:38 +00:00
Jackson Howe 729dd85dfe Remove magic
Change-Id: I96494bf6d841f5cd9b003bd7c1379a7f21883269
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317557
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
2023-05-08 15:37:50 +00:00
Cody Cutrer 5a1a374559 ensure relative path for rubocop-canvas from rubocop.rb gemfile fragment
depending on if it's use separately from bin/rubocop, or as part of the
overall Gemfile

Change-Id: I03edbb1a92793fe5ee333a9b32a03e0297616ffd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317578
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2023-05-08 15:24:31 +00:00
Aaron Ogata 7cb318f2c9 use vault role instead of hard coded access key / secret
refs AE-49

[skip-crystalball]
[skip-stages=Flakey]

Change-Id: I6f9ff053a3cd72ac063d522cef11da7264a9527b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317335
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
2023-05-08 14:59:54 +00:00
Charley Kline bf720fe249 Typescriptify fuzzy relative time and move to ui/shared
flag=none

This is generally useful for providing friendly text
for relative time distances such as "yesterday" or
"in 4 hours" and leverages native browser Intl functions
instead of dependencies. It was buried in the QR mobile
login code because that's currently the only usage, but
it should be more generally available.

Test plan:
* Visit the "QR Mobile Login" in dev (it's under the
  "Account" tab on the left nav)
* Bring up a QR code and watch the "This code expires
  in ..." text at the bottom for a couple minutes and
  make sure it decrements the amount of time in a
  correct way

Change-Id: I51aef1eedc37a35b1e6c44e734c751d0b8fd015d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317199
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-05-08 14:26:18 +00:00
Jenkins 711f30dcec update zh-Hant translation
Change-Id: Icf7459c438b189cfda6d6075139fb7326a7596a1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317615
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-06 05:51:02 +00:00
Jenkins 0e83833921 update zh-Hans translation
Change-Id: Id0713759e7943d12813c633c39d1fdc89830868e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317614
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-06 05:50:30 +00:00
Jenkins 09badecd3a update vi translation
Change-Id: If80fdfc5c355daec4a80aa8bfc9f000d17359752
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317613
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-06 05:49:59 +00:00
Jenkins ab17d7c5e7 update th translation
Change-Id: Ic1fd3f05308abdb3711e949e72c3c95a72d1b81f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317612
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-06 05:49:37 +00:00
Jenkins f899771c5c update sv-x-k12 translation
Change-Id: Ie584984df0b9ea6c67a1f383bfa781d13145bfa7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317611
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-06 05:49:11 +00:00