Commit Graph

64297 Commits

Author SHA1 Message Date
Maya Tyner ad6428be36 create multi-user temp enrollments
adds capability for TempEnrollAssign to create and render
text based on multiple users.

this commit should still only allow temp enrollments
for one user; the ability to do multiple enrollments
is blocked by two commented sections of code- marked as TODO.

all unit testing for  multi-enrollment creation will be
in a follow-up commit.

closes FOO-4654
flag=temporary_enrollment

test-plan:
- passes existing tests
- create multiple users
- enroll one user into a course
- enable temporary enrollment FF
- navigate to /accounts/<account_id>/users
- click temp enroll icon next to enrolled user
- create non-duplicate:
	- search for a user and go to next page
	- click submit to create new temp enrollment
	- EXPECT new temp enrollment to be created
- other non-duplicate route:
	- search for user and go to next page
	- on the enrollment options page, hit Back
	- EXPECT to see previous confirmation page
- duplicate:
	- Pre-req: create two users
		- same login id, but diff auth providers
	- search for the shared login id
	- select one user on the confirmation page
	- click submit to create new temp enrollment
	- EXPECT new temp enrollment to be created

Change-Id: If3ba48322c0cb86ec7e62e05a7f8244a0bba7da3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356854
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Maya Tyner <maya.tyner@instructure.com>
Product-Review: Maya Tyner <maya.tyner@instructure.com>
2024-09-13 20:32:04 +00:00
August Thornton dcac211d9c add feature flag for default-src CSP logging
closes FOO-4779
flag = default_source_csp_logging

test plan:
 • N/A

Change-Id: Ibffd79bfa767e0ded8600424ac00ea286c2f03c4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357308
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2024-09-13 20:18:57 +00:00
Jason Gillett 3d162b493f Update checkpoint creator services to use new parent_override
closes EGG-79
flag=discussion_checkpoint

Test plan
1. Create a checkpointed discussion
2. Check that the assignment_override on the
sub_assignment has a parent_override relationship
2a that parent_override should belong to the parent_assignment
2b. should have the same set, unlock_at, and lock_at times

Change-Id: I4ad6ad92ee8aedad24ce87a0a7fc7533cfae8394
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357253
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
2024-09-13 19:08:10 +00:00
Angela Gomba a457ffabb9 Add discussion checkpoints to Teacher To Do List
closes VICE-4550
flag=discussion_checkpoints

Test Plan:
- Create a checkpointed discussion in a course with at least 2
  students
- Act as one of the students and create a topic reply
- Act as the other student and create a topic reply and reply
  to the other student's topic reply
- Stop acting as a student and go to the Teacher Dashboard
- Observe the To Do list includes grading both the Topic Reply
  and Required Replies

Change-Id: Iab469dfac4304f9c8174c0e3d20c89fff6bde14f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356204
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Roberto Noguera <roberto.noguera@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2024-09-13 18:59:19 +00:00
Jeremy Stanley b97c4e8f74 fix override_sis_stickiness option in courses#update
the spec only passed because the API endpoint returned a 500 :(

test plan:
 - create a course via SIS import
 - update the course via the "Update a course" API endpoint
   with override_sis_stickiness=0
 - the update should succeed but leave any SIS sticky fields
   alone

flag=none
closes FOO-4754

Change-Id: I2a8bdaa29944316554132355a258cca11b0ccdbd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357322
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Maya Tyner <maya.tyner@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2024-09-13 18:54:22 +00:00
juan.chavez f2fd06eed2 Update overrides table for assignments/quizzes
closes LX-1070

flag=selective_release_ui_api

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

test plan:
> Check all overrides showed in assign to tray
are showed in the table.
>> Check that the overrides are now showed in
the same row, grouped by same due_at, lock_at and
unlock_at.
>> Check that the sections and groups are now
showed like "2 Sections", instead of
"Section A,Section B".
>> Check that the table is asc sorted by due_at.
>> Check there are not duplicated overrides if
has module overrides.
>> Check unassign_item=true are not showed.

Change-Id: Ibaeb349965965759efb1dbd7901ee5a38ed758de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356102
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2024-09-13 18:03:03 +00:00
Charley Kline fb6f344877 Remove COVID help links
Closes FOO-4735
flag=none

With the pandemic in our rear view mirror, we should remove the
specific canned "COVID resources" help link from the defaults.

This does not do any backfill migration, it should be fine to
just let the old deprecated symbol sit in the databases.

Test plan:
* COVID resources link no longer appears in the featured help

Change-Id: I2d77ea59bb402ce8c2478f4f8a4098fc215de737
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357295
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2024-09-13 18:00:00 +00:00
Spencer Olson ac9f7136cb move and rename use new SpeedGrader UI button
flag=none

Test Plan:
- Specs pass

Change-Id: I422c6a3d5ecefc3a5aed1ab8392ddfbea4cc071d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357409
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2024-09-13 17:56:12 +00:00
Keith T. Garner 1c60b09081 add graphql query analyzer to block abuse
Adds a new graphql query analyzer that will block queries that have an
excessive amount of aliases or directives adding hardening against DoS
attacks.

closes CNVS-61309
closes CNVS-61318
flag=none

test plan:
 - craft a graphql query that uses more than 20 aliases and ensure it
   returns an error
 - craft a graphql query that uses more than 5 directives and ensure it
   returns an error
 - specs pass

Change-Id: If5ce0ed2f6fec185b2007892ceedd5a8cd4c980f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357216
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2024-09-13 15:56:02 +00:00
Caleb Guanzon a73f2aca3b spec: remove excessive due date tray checking
no need to close the splitscreen drawer in between
writing the 2 replies.

added extra wait_for_ajaximations after each save
to increase stability

Change-Id: I64de76a9e29dbff39e9b8962296140f843592b83
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357284
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-09-13 15:50:21 +00:00
Jason Gillett f85c9997c1 Add new parent relationship to assignment_override
flag=discussion_checkpoints
refs EGG-79

Note, sub_assignment override creation will use this field
in the next patchset.

Test Plan
1. Verify that the parent_override relatinoship exists on
an assignemnt override
2. Verify that if an assignment override has a parent_override
that it gets destroyed when the parent is destroy

Change-Id: I490f04c14f979494918cdffa3822ea149dd5f3ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357062
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Dave Wenzlick <david.wenzlick@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-09-13 15:48:52 +00:00
Chawn Neal da5442d3a8 navigate student entries speedgrader
fixes VICE-3920
flag=discussion_checkpoints

Test Plan:
0. Can navigate student entries.
0. Look at the specs for an easy setup data.
1. Create a graded checkpoint discussion with replies
spanning multiple pages.
2. open an entry in speedgrader.
3. Should be able to use the previous and
next student reply buttons, to fully navigate
all of the student's entries.

Change-Id: I8a2d710d93c8f275e2989c1c28c893cdaccf0be9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356175
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2024-09-13 15:46:46 +00:00
Keith T. Garner 126231b970 log the complexity of graphql queries
Adds logging of the complexity of our GraphQL queries to allow for
meaningful turning to avoid some DoS attach vectors.

refs CNVS-61309
refs CNVS-61318
flag=none

test plan:
 - specs pass

Change-Id: I1b996c6f6a524aac6e05e359aa072c9d16d47790
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357213
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2024-09-13 15:39:22 +00:00
Keith T. Garner ea5c85ae34 add more graphql settings
Add a number of settings to add limits to harden graphql against DoS
attacks.

refs CNVS-61309
refs CNVS-61318
flag=none

test plan:
 - specs pass

Change-Id: I11e181bae4671b8f3e0b899ecfced4be5e9f2126
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357215
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2024-09-13 15:23:59 +00:00
Csaba Csuzdi b78e6c4f99 Add ETag header back to HTTP response
fixes INTEROP-8798

flag=none

Test plan:
- checkout the current master
- add `enable_rack_deflation: true`, `enable_rack_chunking: true`,
  `enable_rack_brotli: true` to `config/dynamic_settings.yml`
  development / private tree
- restart your Canvas
- call an API endpoint (`/api/v1/accounts`) with HTTP/1.1 client
- there MUST NOT be Etag header in the api response

- checkout this PS
- restart your Canvas
- call an API endpoint (`/api/v1/accounts`) with HTTP/1.1 client
- there MUST be an Etag header in the api response
- remove the setting you added to `dynamic_settings.yml`
- restart your Canvas
- check if Etag is still present in the api response

Change-Id: Ib7056a9778c38045b39915d798b62b30ba9ec392
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357391
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 15:22:20 +00:00
Caleb Guanzon 69f0d69c47 module overrides create checkpoint subs
fixes EGG-63
flag=selective_release
flag=discussion_checkpoints

test plan:
- must have all checkpoints and selective_release feature flags ON
- create a checkpointed discussion, assign it to only 1 student (no everyone)
- verify creation successful
- view gradebook
- verify gradebook loads

- visit /modules
- create a new module and publish
- open module ... and click Assign to
- in the modal, add a different student and save

- visit the gradebook
- verify it loads successfully
- visit the discussion
- verify when you click Assign to,
you see your original override, and a
new override that was inherited from your module

- visit modules again
- this time add another different student as an override to your
module, save
- revisit gradebook
- verify it loads successfully

- revisit your discussion
- click assign to
- verify the override section for your module now has 2 students

Change-Id: Ic8e85651f43a29e2551cd48d8afdb8eb558e7bcd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357120
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2024-09-13 15:14:04 +00:00
Keith T. Garner fc059cb6f6 add tunable settings to graphql
This instruduces a graphql tuning object that will get its data from
dynamic settings to allow us to tune graphql settings on the fly. It
also converts the max_depth setting to pull from the new object.

refs CNVS-61309
refs CNVS-61318
flag=none

test plan:
 - specs pass

Change-Id: Ia03e6164ec2795dfb6a402ae13f4c522609557ed
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357214
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2024-09-13 14:52:19 +00:00
Cody Cutrer 072a660455 don't unconditionally add `--format doc` to gem rspec options
Change-Id: I7730b90f484d51e0cd20e0bdaee271a6264bedeb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356817
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2024-09-13 14:44:40 +00:00
Cody Cutrer 360a6aba80 rubocop: Style/ArgumentsForwarding
from updating the required ruby version to 3.3

[skip-stages=Flakey]

Change-Id: Ic37811a58ff48d213f56d5b143b5a09c23aa3a27
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357314
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2024-09-13 14:43:09 +00:00
Jenkins 57ffbd60dc update uk translation
Change-Id: Ibe05aefb55f57f7cae9c89bfcd3fb067d2ea6037
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357388
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:52:20 +00:00
Jenkins 6071a720fd update tr translation
Change-Id: Ie2884ddcc7cbffe2a104f720c22806644c79862d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357387
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:51:47 +00:00
Jenkins 77c87a8085 update nn translation
Change-Id: I68f5a39b297ceb8561970b7d7f7e11526a55f6cf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357386
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:51:17 +00:00
Jenkins 7b18bcdff1 update hy translation
Change-Id: Iff9a17ef221da0d16e74484d9614ac56cca73eca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357385
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:50:26 +00:00
Jenkins 2e4de611bb update hu translation
Change-Id: I3d2fcc12aee53de735d169a1ada3efc536a9b183
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357384
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:49:53 +00:00
Jenkins 1c02441416 update he translation
Change-Id: I9156b4578bc3f57b6859da12cc2ad6a6b9c75c3e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357382
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:49:16 +00:00
Jenkins 3c92be4f79 update fa translation
Change-Id: Id9bf3973e7d08003db92f9f2775a3f19c5eee6a9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357381
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:48:44 +00:00
Jenkins 529814b985 update el translation
Change-Id: Ib5d88c26a0943332bcddc34dbaf37de3d671a5d3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357380
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:48:09 +00:00
Jenkins c4414d43fb update fi translation
Change-Id: Iea0863fa59de6fa9dd9f0b9760417dbff4cb4eba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357379
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-13 13:40:30 +00:00
tbarna 04d506938e Disable Question Bank if Import existing quizzes as New Quizzes is checked
refs CLAB-80

flag=instui_for_import_page

test plan:
 - Move to Site admin settings page and under the
   feature options tab enable the
   "Use InstUI for the course import page" feature
 - set NEW_QUIZZES_MIGRATION, NEW_QUIZZES_IMPORT and
   QUIZZES_NEXT_ENABLED env vars to true
 - Navigate to Import content page and select
   Common cartridge 1.x
 - Check the "Import existing quizzes as New Quizzes"
 - The question bank field(s) are disabled.
 - repeat this process with QTI

Change-Id: I0222a5794c75834848b8a99fc412d3a8b89075f8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/353710
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Andras Kemeny <akemeny@instructure.com>
QA-Review: Dániel Török <daniel.torok@instructure.com>
Product-Review: Kata Virag Keri <kata.keri@instructure.com>
2024-09-13 11:26:36 +00:00
Maciej Sasiński ba8b5919c0 Global announcements ICE
refs VICE-4498
flag = instui_nav

Test plan:
- Go to /account_notifications
- check if Tabs and select work and everything is same as on design

Change-Id: Ie8195dffd69c7908861f38301f9ae00c2e11b13a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
QA-Review: Roland Beres <roland.beres@instructure.com>
2024-09-13 09:43:58 +00:00
Daniel Vincze 7229f8831f feat: add Alert to handle disallow issue
closes VICE-4616
flag=disallow_threaded_replies_fix_alert

Test plan:
- go to course discussion index
- see new alert, play with the buttons

Change-Id: I8768a0b5135ba644301a24b90977c4bc40766bab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356797
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Roland Beres <roland.beres@instructure.com>
Reviewed-by: Ádám Molnár <adam.molnar@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-09-13 09:42:28 +00:00
pzaj-inst a998c3e432 Fix on_permanent_failure callback signature
Fixes QUIZ-14340
flag = none

Test plan:
- specs pass
- Modify the #run_report code (app/models/account_report.rb)
to trigger/raise an error
parameters["locale"] = infer_locale(user:, root_account: account)
raise StandardError.new('Manual error')
- Start an Account report generation from the UI
(Admin Portal > Settings > Reports Tab)
- Observe the jobs container logs to see the raised error
- Verify that the account report record is marked as failed
(workflow_state=error in the account_reports table)
- Without this change the Job would be stuck

Change-Id: I9f3a2e444f5542b40d1d6f8a40c7a15b78ab08d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356374
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Márton Gréczi <marton.greczi@instructure.com>
Product-Review: Balazs Serenyi <balazs.serenyi@instructure.com>
2024-09-13 09:06:36 +00:00
Rida Hummdan d715a69ab0 Add the three-dot button to the AssignmentHeader
closes EGG-25
flag=assignment_enhancements_teacher_view

Test Plan:
- Go to RootAccount -> Settings -> Feature Options
- Enable the "Assignment Enhancements Teacher View" feature flag.
- Select a course and go to its assignments.
- Select an individual assignment (not one that uses an external tool)
- Ensure that there is a three dot options button in the header.
- Click the button and ensure that the correct options are displayed. (See
the designs in the ticket description for reference)
- The options' on click features aren't within the scope of the ticket.

Change-Id: Ib6d27fc5f778fd965d29f667eced7e67b421ba00
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356855
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-09-12 23:08:47 +00:00
Aaron Ogata e021bc4453 require ruby 3.3.1 instead
refs AE-1093

Change-Id: I3e2f95289ef28b7032191a0062a2e738bb9b5b86
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357328
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2024-09-12 23:03:45 +00:00
Ryan Norton 8052120ce6 remove shadow label on password complexity flag
Change-Id: I5123674dcb8e1400d055d3cc12e017828751a0b6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357321
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Ryan Norton <rnorton@instructure.com>
2024-09-12 21:58:17 +00:00
Chris Soto bd3b05927b update new rubric search tray to only show active
this commit fixes the rubric search tray to only show active rubrics
which was recently added.

closes EVAL-4599
flag=enhanced_rubrics
flag=enhanced_rubrics_assignments

test plan:
- in the /rubrics page, create a new draft rubric and also archive
  another rubric
- navigate to the Assignment Show page for an assignment. Click on the
  "Search" button to open the rubric search tray.
- verify that the draft or archived rubrics are not shown in the search
  tray

Change-Id: Ic0125c0124440cc08f450628cc0ce6b6055cf285
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357140
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Sleyder Zuleta <sleyder.zuleta@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-09-12 21:56:44 +00:00
Jackson Huang ed2996e789 able to load speed grader
we want to be able to load speed grader when when
currently there are some schools with issues that
are not able to load speed grader.

fixes EVAL-4170
flag= none

test plan:
  - Setup new quizz
  - Manually add origininality report for each of the submissions
  - Add LTI link to the Originality report Both of these can be
  spoof as long as you ahve one associated to the submission that is
  associated to the quiz.
  - Run in the console
  - course = Course.find(1) <- any course
    user = course.teachers.sample
    assignment = Assignment.find(16) <- a new quizz
    Prosopite.scan do
      SpeedGrader::Assignment.new(assignment, user, grading_role: :grader).json
    end
  - after running the above code, you should not see Prosopite complaining about
    LTI link being part of the n+1 query

Change-Id: Ie79b8e6e900868143e1e7d64268a38fbd10fe2c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355600
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Jackson Huang <jackson.huang@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-09-12 20:55:10 +00:00
Cody Cutrer dba6f1d45f implement OIDC back channel logout
Change-Id: I3f99a1a4095ddeefdd6ccb97fb86e327d6015252
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355735
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2024-09-12 20:39:24 +00:00
Aaron Ogata d2641fecc7 make Ruby 3.3 mandatory in codebase
refs AE-1093

Change-Id: I0000f9473a14464e1e9ce1bae9dcff74cf8660a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357307
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
2024-09-12 20:26:17 +00:00
Ryan Hawkins f551823603 Add Override URIs Screen
why:
- To allow admins to modify the target link URI for each placement when
  configuring an LTI Tool through JSON or JSON URL.

closes INTEROP-8747
flag=lti_registrations_next

test-plan:
- Enable the associated flag and start up yaltt/LTI 1.3 Test Tool.
- Grab a config URL for your LTI tool.
- Add a new tool by URL. Paste in the URL to your config.
- Make your way all the way to the latest screen, the override URIs
  screen. You should be able to modify the target link URI for all
  selected placements.
- Modify the target link URI for a placement.
- Disable that placement on the previous screen. It should no longer
  appear in the overrides screen.
- Reenable that placement. It should appear again, with the value you
  had previously configured.
- Go back and enable a new placement that wasn't requested by your
  config. That placement should now show up in the override URIs
  screen and default to the top level target link URI.

Change-Id: Iaaa07cf1f171a0c87bf15c079b57bf598c07fca8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356740
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2024-09-12 19:39:56 +00:00
Samantha Ernst 6f4f4fe4b0 cast import_quizzes_next migration setting to boolean
fixes QUIZ-14380
flag = none

test plan:
- create a ContentMigration (export a test course and import
  that into another test course)
- go into your canvas-lms rails console and check the returns
  of import_quizzes_next? for varying values
  ```
  cm = ContentMigration.last

  cm.migration_settings['import_quizzes_next'] = "false"
  cm.save!
  ```
  now check that `import_quizzes_next?` returns false
  ```
  cm.import_quizzes_next?
  ```

  repeat to check that import_quizzes_next? returns false when
  migration_settings['import_quizzes_next'] is set to nil or false
  (boolean) and true when it is set to  "true" or true (boolean)

Change-Id: Id6632126314031f14ccb960d4b47a3dcfa13790a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357222
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Peter Zaj <peter.zaj@instructure.com>
Reviewed-by: Adrian Diaz <adrian.diaz@instructure.com>
QA-Review: Adrian Diaz <adrian.diaz@instructure.com>
Product-Review: Samantha Ernst <samantha.ernst@instructure.com>
2024-09-12 18:27:50 +00:00
Evan Battaglia 20cfd37248 Switch to InstUI confirm dialog on Dev Keys page
* Removes usage of window.confirm() on Dev Keys page for deleting keys
  and chaning key state
* Replaces it with usage of InstUI Confirm dialog
* InstUI confirm dialog conforms to a11y standards and maintains UI
  cohesion, but the main motivation is that when using window.confirm,
  hitting 'Enter' or 'Space' immediately after the confirm dialog shows
  up will confirm (and thus do the dangerous action). For the Inst UI
  dialog, you have to tab your way to the Confirm button.

Test plan:
* Go to the site admin dev keys page
* start changing the state of a dev key and make sure the Inst UI
  confirm dialog shows up. Press Enter or Space and the dialog will
  close without changing anything
* Do again but click the 'Cancel' button and make sure the dialog closes
  without changing anything
* Do again but click the confirm button and make sure the key changes
  state.
* Try changing to on, off, and allow to see all messages
* Do the same on an account-level dev key where there is a toggle
  (on/off) instead of the three options (on/off/allow)
* Try deleting a key you can create a dummy API key or delete the
  User-Generated key which will fail with an error toast after
  confirming) and make sure it only deletes after clicking confirm.
* Try deleting both an LTI key and an API key (you can cancel) just to
  see the different messages.

flag=none
closes INTEROP-8633

Change-Id: Id53a71e039dff2ec9a0eed196a6e8cce7651889b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356301
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Steven McGee <steve.mcgee@instructure.com>
QA-Review: Steven McGee <steve.mcgee@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2024-09-12 18:15:34 +00:00
Jacob DeWar 26d328ff7d spec: skip flaky calendar2 spec
refs LX-2053
flag=none

Test Plan:
 - Jenkins

Change-Id: I5c436dd0b1076cfa5a8cf9a04dde196da3cb3f42
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357296
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jacob DeWar <jacob.dewar@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-12 17:12:29 +00:00
Aaron Shafovaloff e27c32d4b4 give more specific error in dev upon failure to load SG2
Refs EVAL-4607

Change-Id: I4d17ef9256920c0c4c896c987eb73d603d1fb4b7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357297
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-09-12 17:06:44 +00:00
Aaron Ogata 2fdc82c631 Revert "replace graphQL legacy tracer with official version"
This reverts commit 0975b499d1.

Reason for revert: needs environment change first

Change-Id: I112b37aa92f825e43240dd49225eef887fa50fb1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357034
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2024-09-12 14:30:24 +00:00
Dora, Csolakov 6addd9afe6 Fix Teacher label overflow in discussion replies
refs VICE-4579
flag=none

test plan:
1.Create a reply as a teacher
2.Verify that the label is not scrollable

Change-Id: I614b4c1f418094232ebf01c3bbec200941a6e253
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357098
QA-Review: Theo Sorriaux <theo.sorriaux@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-12 13:01:38 +00:00
Janos Csizmas b22a9ab991 Fix People page tab focus
refs VICE-4381
flag=none

Test plan:
 - Visit the course people page
 - Check the tab focus

Change-Id: I6d980f3d06365b24940e0144e106e2e7bec7c1e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355979
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
Reviewed-by: Daniel Matyas Vincze <daniel.vincze@instructure.com>
QA-Review: Roland Beres <roland.beres@instructure.com>
2024-09-12 12:57:53 +00:00
Jackson Huang 98621c08ce add error for limit character
this commit adds error message for when the
rubric name does no thave between 1 and 255
characters

fixes EVAL-4509
flag= none

test plan:
1. create a new rubric
2. have the name to be more than 255 character
3. it should display and error and not let you
save

Change-Id: I321c2911d2b0c7a58247708f427ddf96b7296391
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356441
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-09-12 08:04:15 +00:00
Jenkins 2dcddb3e33 [i18n] Update RCE translations.
Change-Id: I043296e7de97847402f56edaec6b89d4b53ef158
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357263
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-12 04:53:03 +00:00
Jenkins 8fbba060a3 [i18n] Update package translations
Change-Id: Iea8d7e77d476960bcaedc562fea5c4fff7ec7a10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357261
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-12 04:52:42 +00:00