Commit Graph

8730 Commits

Author SHA1 Message Date
Charley Kline 49200d8575 Fix "delete help links" data fixup to allow for consortiums
Fixes FOO-4808
Refs FOO-4794
flag=none

It was discovered after merge that the "delete help links"
data fixup migration was missing a test... if the account
is part of a consortium, the help links are "root_only"
settings and some plugins validate the assignment to
root_only settings and disallow their assignment if the
account is a consortium member.

Test plan:
* If you have consortium accounts, the original migration
  should no longer fail

Change-Id: Ife8369263be71aeca10f8c78ecfb9f046545b15a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/358369
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-24 23:22:12 +00:00
Ed Schiebel 388d995568 update the block editor data format
the legacy block editor code assumed the json format for
the block_editors.blocks column was
   blocks: [data: {editor data}, id, timestamp]
that was an artifact of the data structure emitted by editor.js.
Now we just want to put the craft.js editor's json output directly
into the blocks column.

The data migration also changes the editor_version value
from '1' to '0.1' because '1' doesn't seem right

this commit also introduces data transformations to update the data
to the latest version on the fly

closes RCX-2369
flag=block_editor

test plan:
  - before checking this branch out, have a block editor page
  - after checking this branch out
    - run bundle exec rake db:migrate RAILS_ENV=development
    - run psql canvas_development
    - select id, editor_version from block_editors;
    > expect your pages to have version 0.1
  - edit the old v0.1 page
  > expect it to work
  - save
  > expect it to have v0.2 in the block_editors table
  - from the pages index page, choose Duplicate from a
    page's kabob menu
  > expect the correct type of page (rce or block) icon
    to be displyed
  > expect to be able to view the copy of the page
  > expect to be able to edit the copy of the page
  - run:
    bundle exec rake db:migrate:down VERSION=20220228162704
  - select id, editor_version from block_editors;
  > expect the old v0.1 pages to revert to '1'
  > expect the new v0.2 pages to remain '0.2'

Change-Id: I592bffc11018ab3c4f7d7cc4752202088d5700c5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357583
Migration-Review: Cody Cutrer <cody@instructure.com>
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: Ed Schiebel <eschiebel@instructure.com>
2024-09-24 20:53:16 +00:00
Omar Gerardo Soto-Fortuño 6e0da7228e Make CheckpointGradeInputs work on SRGB
closes VICE-4434
flag=discussion_checkpoints

Test plan:
 - Test passes
 - Go to Screen Reader Grade Book and try grading
     different types of checkpoints, it should work
     and persist as expected.

Change-Id: If37afc92f62b76f14b518a1a1cb84e2eb74f1256
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/358144
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Chris Soto <christopher.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-09-24 16:00:47 +00:00
Matheus 454d7fbb7a Datafix: Get media that is only in notorious to instfs
refs RCX-2417
flag=none

Test plan:
- Get media into notorious but not instfs
- Downloads shouldnt be working from the files page (nor previews)
- Run the datafix
- Check that all of them made their way into intfs

Change-Id: I7d419824bc44338704fd60b22b842d18bea152ac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/358040
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2024-09-24 13:59:52 +00:00
Cody Cutrer d3829532b3 use .from_now/.ago instead of arithmetic for literals
[skip-stages=Flakey]

this is related to Rails/TimeZone cop

Change-Id: Id3a345cf67003aa8fc03d45ae0d16959286a2269
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349846
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
2024-09-24 01:25:40 +00:00
Angela Gomba 663ca21f76 Add Checkpoints to Upcoming Assignments
closes VICE-4653
flag=discussion_checkpoints

Test Plan:
- Create a Course and set the Home Page to Assignments
- Create a Discussion Checkpoint and use the Assign To to set
  the due date within 1 week
- Go to the Home Page of the course and observe the Upcoming
  Assignments list on the right side includes the checkpoints

Change-Id: I09b3320b905b51ed4f8e4c8e8823adb1e3e5d87d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357757
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-09-23 22:36:24 +00:00
Cody Cutrer e8a9fc7b13 rubocop: Rails/ReadWriteAttribute
[skip-stages=Flakey]

mostly done manually, since many of these calls weren't even necessary,
or can easily be replaced with `super`

Change-Id: I1a5a38a1332a26a11c6041a005d691730206fc10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/344440
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
2024-09-23 18:16:48 +00:00
Jason Gillett d4cbf3eca0 Display checkpointed discussion in assign to tray
closes VICE-4299
flag=discussion_checkpoint

Note: Updating checkpointed dates from the tray
will not work until VICE-4300

Test Plan
1. Create a checkpointed discussion with
various states of override due dates and availability
2. Compare the discussion edit page with the assignTo tray
cards
3. Should display all override due dates corectly
3a. assign to tray locations
discussion show, discussion index, assignment index

Change-Id: Ia7125e027370ee7e96cfd8482e5592961316e59a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357825
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Juan Chavez <juan.chavez@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-09-20 23:43:53 +00:00
Jozsef Kercso 5f9cfb1c34 Generate Markdown formatted Canvas docs
This patchset enables generating Canvas API documentation
in Markdown format. The goal of the work is to be able to import
the whole Canvas API documentation into the new Documentation Portal
(developerdocs.instructure.com).

refs: https://instructure.atlassian.net/browse/SAS-3699

How to generate the docs in Markdown format?
Run this command from a Canvas box:
`OUTPUT_FORMAT=markdown rake doc:api`
The generated documentation will be available in `public/doc/api_md`.

test-plan:
- Backward compatibility: I regenerated the documentation in HTML format
 and compared each file with the output from an original documentation.
 Only the timestamps in the footer differed; everything else was the same.
- Content parity: I compared the content of each generated Markdown file
with its "twin brother" HTML file. While there are differences in look and
feel, the content is consistent. This is how it looks like in Markdown
format:
https://inst.gitbook.io/sandbox-instructure-developer-portal/0hk9uatQ63bsQYSzZzF2/

Note:
The change does not influence in any way the HTML formatted
Canvas Documentation or the way is generated.

Change-Id: If4f11a35e7cea77f434faa3c699937a11fa24d51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357227
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: Jozsef Kercso <jozsef.kercso@instructure.com>
2024-09-20 09:20:44 +00:00
Charley Kline f691a0648e Unilaterally remove "Covid-19 Canvas Resources" help link
Closes FOO-4794
Refs FOO-4735
flag=none

We've already removed the Covid help link from the Rails
model, but most production accounts have it saved as a
custom help link setting, after having edited their
account settings. It was decided to remove it everywhere
so this is a database migration to do so in all accounts.

Test plan:
* needs migration review

Change-Id: Ie2c7004c31fde321a95f26202d508ba588d34af0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357864
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Migration-Review: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2024-09-19 16:09:37 +00:00
Martin Yosifov bfb2e68ad1 Enable complete checkpoints on student to do list
closes VICE-4551
flag=discussion_checkpoints

Test plan:
- Go to SiteAdmin -> Feature Options and enable
Discussion Checkpoints feature flag
- Create course with student
- Create graded discussion with checkpoints and assign due dates
- Act as student and go to Dashboard -> Recent Activity
- Click on the X next to each discussion checkpoint in the
sidebar To Do list and verify that it is removed from the list
- Reload the page and verify that the discussion checkpoints
do not show in the sidebar To Do list
- Go to Dashboard -> View List and uncheck both checkpoints
- Switch to Dashboard -> Recent Activity and verify that the
discussion checkpoints show in the sidebar To Do list
- Go to the course home page and verify that the discussion
checkpoints show in the sidebar To Do list

Change-Id: Ic0b8780d3485450cafffc3cf3ab273a2af59eb8a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357585
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2024-09-18 23:21:18 +00:00
Keith T. Garner 1803924d8a cleanup call to DynamicSettings
Harden against things like consul being down.

test plan:
 - specs pass

Change-Id: I1f1bdc88daabc9a4e6bc4a22d36acb731a36505d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357796
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-18 15:19:48 +00:00
Keith T. Garner c7a7af95fa revert dynamic settings change
This change was made to the wrong file, reverting
it.

test plan:
 - specs pass

Change-Id: Ie04bec7568a19d3efcb02d81457b8a6a648a20de
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357795
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-09-18 15:19:35 +00:00
Martin Yosifov 66cd83465b Add checkpoints to student to do list
closes VICE-4549
flag=discussion_checkpoints

Test plan:
- Go to SiteAdmin -> Feature Options and enable Discussion
Checkpoints FF
- Create course with student
- Create graded discussion with checkpoints and assign due dates
- Act as student and go to Dashboard -> Recent Activity
- Verify that the two discussion checkpoints are listed in the
To Do list in the sidebar
- Click on each checkpoint and verify that you are taken to the
discussion topic page
- Go to Dashboard -> View List
- Verify that the two discussion checkpoints are listed in the
list view
- Go to the course home page
- Verify that the two discussion checkpoints are listed in the
To Do list in the sidebar

Change-Id: I3b71c800d78174d2da05e9f02cf0c0ad548e11ef
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357127
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Roberto Noguera <roberto.noguera@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Kyle Rosenbaum <krosenbaum@instructure.com>
2024-09-17 23:23:26 +00:00
Keith T. Garner 6b0aba988c cleanup 2 calls to DynamicSettings
Harden against things like consul being down.

test plan:
 - specs pass

Change-Id: I90cddd056463ad299e37e17ddeff492d16e5b976
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357418
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-16 19:49:24 +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
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
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
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
Evan Battaglia 40a7d3d10a Dyn Reg: forbid invalid display_type values
display_type is a Canvas extension. The check in
the InternalLtiConfiguration schema is stricter (it actually checks the
value is one of the valid types) than the Dyn Reg schema in
lib/schemas/lti/ims/lti_tool_configuration.rb, so will cause problems
later when we convert the Dyn Reg tool config to the internal tool
config.

refs INTEROP-8538

Test plan:
- specs
- we also need to make sure in the DB there are no invalid values here.

Change-Id: I138473265cdc57b979fa79068c716a32f9f64feb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/357129
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Steven McGee <steve.mcgee@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
2024-09-11 22:16:12 +00:00
Mysti Lilla e273cf2a9a Let New Quizzes do their own InstFS duplication
fixes RCX-2326
flag=rce_linked_file_urls

Test plan
- Have a couple of different types of file
  urls (for rich content)
- Send a request to /api/v1/rce_linked_file_instfs_ids
  with a body like { user: <user_uuid>, file_urls:
  ["url", ...] }
- If the file is an image type, ensure the instfs_id
  is returned in the instfs_ids values
- If the file is a previewable type (DocViewer or
  video/audio) ensure the instfs_id is returned
  in the canvas_instfs_ids values

Change-Id: Ic834ee58050fd42bf7e595d664d130bc92f4d64c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356758
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Griffin Zody <griffin.zody@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2024-09-10 21:40:03 +00:00
Cody Cutrer 84a5ed75f5 Fully validate OIDC ID Tokens
This includes pulling JWKS URI from the discovery document
if it has it, or manually configuring it. And then updating
the JWKS from the JWKS URI periodically as well.

Several pieces of functionality in the Apple provider are
now no longer necessary, and it just uses the base OIDC
implementation now

Closes AE-1138

flag=oidc_full_token_validation

Change-Id: I8647e12d8ddd0f20aa746050e1650e679fdba3cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356345
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
2024-09-10 20:51:13 +00:00
Evan Battaglia 662a615594 Add/make consistent missing LTI scope descriptions
flag=none
closes INTEROP-8820

Test plan:
* Install yaltt
* edit registration
* note that the new copy is displayed and there is no longer a checkbox
  with no label
* build documentation with 'docker compose run web rake doc:api'. Go to
  canvas-web.inst.test/doc/api/file.tools_intro.html and check that the
  new scope displays nicely in the table and links to the postmessage.
* try adding and remove a scope (or change a description where possible)
  to each of the following places and check there are failures:
    * in LtiScope.ts -- LtiScopes
      ("npx jest shared/lti/model/__tests__/LtiScope.test.ts" will fail)
    * in LtiScope.ts -- AllLtiScopes (
      ("npx jest shared/lti/model/__tests__/LtiScope.test.ts" will fail)
    * in i18nLtiScope.ts -- LtiScopeTranslations (add scope or change a
      description)
      (there will be TS type errors, or the jest test will fail)
    * in lib/token_scopes.rb -- LTI_HIDDEN_SCOPES
      ("rspec spec/lib/token_scopes_spec.rb" will fail)
    * in lib/token_scopes.rb -- LTI_SCOPES
      ("rspec spec/lib/token_scopes_spec.rb" will fail)
    * tools_intro.md -- try adding a scope that is supposed to be
      undocumented, and removing documentation for one documented scope
      ("rspec spec/lib/token_scopes_spec.rb" will fail)
    * lti_scopes.yml (adding scope, removing scope, changing a
      description) -- both TS and Ruby tests should fail

Change-Id: Id7597629cf4454d143cbc28f7859b4486d34cb52
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355832
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
2024-09-10 15:49:24 +00:00
Robin Kuss 2b0a75fc93 create data fixup for module override data values
Closes LX-2043

Test Plan:
  - Set up scenario with module overrides that have due_at_overridden,
unlock_at_overriden, lock_at_overridden set to "true."  You can do this
by commenting out lines 128-133 in app/models/assignment_override.rb,
making the change to one or more overrides in the rails console, and
then uncommenting the lines in that file.
  - Run the datafixup via the test included.
  - Run locally...somehow?

Change-Id: I3a115b1ed9f5d8014430697522169ebf58d36ca5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356824
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
2024-09-10 00:12:53 +00:00
Xander Moffatt acfbed56f9 define schema for LTI Overlays
why
* make it easy and clear what users can edit on an LTI
Registration

closes INTEROP-8774
flag=none

test plan:
* create an Lti::Overlay in a rails console and assign
things to its `data` attribute and try `.save!`ing it
* use the schema to figure out what's valid or not
* try saving some invalid things like bad disabled_scopes
or invalid placement names - it should fail
* try saving some valid things - it should succeed

Change-Id: I4711e3e86adcae908351892ca5146eff95cf340a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356726
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2024-09-09 20:39:44 +00:00
Mysti Lilla 1b7bdca0ea Ensure BP children can fix media
refs RCX-2188
flag=none

Test plan
- Set up a blueprint child with locked
  rich content and a bad link that looks like
  /courses/:course_id/file_contents/course%20files
  /media_objects/:media_id.mp4
- Run the data fix up and ensure the Blueprint child
  is able to show the video

Change-Id: Ife7ea69b0f9195b3e4b105d70d56d84103d816ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355396
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2024-09-06 21:49:02 +00:00
Sarah Gerard d80a56166b Remove old visibility views
this removes any references to the old visibility
views and drops them from the database. These views
were extremely slow and are uneccessary with the new
student visibility services. The original views (pre
selective release, for assignments and quizzes) should
still remain.

closes LX-1747
flag=none

test plan:
- run migrations - bin/rails db:migrate
- in a rails console run ActiveRecord::Base.connection.views
- ensure that the only views in the list are
  assignment_student_visibilities and
  quiz_student_visibilities
Change-Id: Ia4cce9ad83e3e8fb749d5148c60ed1a8df53ba46

Change-Id: I63504469e50a4c62f1e10328d7668a9fdae76052
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356753
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Sarah Gerard <sarah.gerard@instructure.com>
2024-09-06 21:19:12 +00:00
Sarah Gerard a96956601c BP and CC work with page availability dates
we should be able to lock availability dates for pages in
blueprint courses, and availability dates should copy over
when doing course copy, and they should be able to be shifted
when adjusted dates is requested.

closes LX-1849
flag=selective_release_backend

test plan:
- For blue print locking:
- create a blue print course by checking Enable course
  as a Blueprint Course in the settings page
- under 'Locked Objects by Type', under pages,
  check the 'availability dates' check box
- create a page and add availability dates, and then lock
  the page by clicking the blueprint button on the show page
- associate and sync a course
- in the associated course, check any place where the assign to
  tray is and ensure that you cannot edit the availability
  dates

- For course copy:
- create a course that has a page with availability dates
- copy the course, ensure that the page in the copied course
  has availability dates
- copy the course again, this time checking the 'adjust events
  and due dates' box, and enter dates to shift the copied
  course to. Ensure that the dates of the page are shifted in
  the copied course
- copy the original course one more time, this time checking
  the 'adjust events and due dates' box, and checking 'remove
  dates'. Ensure that the page's availability dates have been
  removed in the copied course.

Change-Id: I932dbabc968316b5be367ea02d6dd7af255af35a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356510
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Product-Review: Sarah Gerard <sarah.gerard@instructure.com>
2024-09-06 16:05:10 +00:00
Mario Hegyi 2e94d587c5 fix section specific annoucement
Fix the API response if the user and the annoucement
have the same section

fixes VICE-4540
flag = none

Test plan:
- Create an annoucement, remove the all section and add the one section
- Create or use a student with the same section
- Call the /api/v1/courses/{course_id}/discussion_topics/{annoucement_id}
?as_user_id={student_user_id}
- The response should be 200 and should contains the annoucement details

Change-Id: I977541057526e6dfbe6d93b91f01b39c0553dfe1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356434
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Theo Sorriaux <theo.sorriaux@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
2024-09-06 14:48:37 +00:00
Roland Beres a57e57d383 Support importing not_threaded discussion type
refs: VICE-4575

Test plan:
  - Export a discussion with not_threaded type
  - Import the discussion
  - Note that import works and the discussion has not_threaded type

Change-Id: I79d8327816dfb1b8b3a8f8452dfa17f7e1301785
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356034
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Tamás Balogh <tamas.balogh@instructure.com>
Reviewed-by: Theo Sorriaux <theo.sorriaux@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
2024-09-06 13:08:22 +00:00
Spencer Olson f83328b07a handle 0 point assignments in datafixups
closes EVAL-4564
flag=none

Test Plan:
- specs pass

Change-Id: I33a4eed7aa5efa6da2368df949230e33e9bd6f46
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356633
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-09-04 22:09:56 +00:00
Cody Cutrer d3ae10534b bundle update rubocop
newly applied cops:
- Style/RedundantInterpolationUnfreeze
- Rails/CompactBlank
- Rails/PluralizationGrammar
- Rails/RootPathnameMethods

Change-Id: I9b83cde1a91322632986ff8db73e11a8626087e6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356620
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@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>
2024-09-04 20:59:15 +00:00
Evan Battaglia f378a7fadd update LTI docs
flag=none
closes INTEROP-8679

Test plan:
* docker compose run web rake doc:api
* check updated copy at /doc/api/file.lti_dev_key_config.html
* check that the permissions variable expansions is documented at
  /doc/api/file.tools_variable_substitutions.html

Change-Id: Ia9e530b57ec26f5ca1d467be5a623b87cd4308dc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356190
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
2024-09-04 16:05:31 +00:00
August Thornton ede8279f62 deal with duplicate long eportfolio entry filenames
Before processing the zipfile we were still allowing filenames
through that had the potential to be too long when combined with
the Attachment uniqueness helper if duplicate entry slugs were present.

closes FOO-4612
flag = none

test plan |
 - create a _long_ ePortfolio section name
 - create a _long_ ePortfolio page name within that section
 - duplicate the page name within the same section
 - both should exceed 255 characters when combined
 - click "Download the contents of this ePortfolio as a zip file"
 - the zip file should be created without error

Change-Id: I78382efc351a52de4a22fd7a7931d43be643b5ff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356367
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Imre Foldes <imre.foldes@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2024-09-04 15:38:46 +00:00
Daniel, Torok b685d23dc2 XML parsing support for Discussion Checkpoint related fields
refs VICE-4576
flag=discussion_checkpoints

test plan:
 - tests pass

Change-Id: I1f59bb8e30a2b5d11c3980f85aacf22340913b92
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356047
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Dora Csolakov <dora.csolakov@instructure.com>
Product-Review: Kata Virag Keri <kata.keri@instructure.com>
Reviewed-by: Viktor Szpisják <viktor.szpisjak@instructure.com>
2024-09-04 14:42:13 +00:00
Jason Gillett 74c1e4b12c Add checkpoint data to learning object api
refs VICE-4299
flag=discussion_checkpoints

Next patchset will handle hooking up this data to display it
to the user

Test Plan
1. Open the assign to tray on a checkpointed discussion
2. Check network request
3. Verify that checkpoints information is in the request

Change-Id: I4a6045030318477463cc2b087e6e0eb97ff684c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356478
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-09-03 20:38:48 +00:00
Roland Beres 2a64e0bda6 Add discussion checkpoint data to export
refs: VICE-4496
flag=discussion_checkpoints

Test plan:
- Turn on Discussion Checkpoints and Discussions/Announcements Redesign
- Create a discussion with checked Graded and
Assign graded checkpoints
- set Additional Replies Required
- Click on Manage Due Dates and Assign To and
on the open tray set
Reply to Topic Due Date and
Required Replies Due Date
- Save
- Create an export from the course
- the discussion xml contains the new fields
- turn off Discussion Checkpoints
- export again
- see if the xml not contains the new fields

Change-Id: I224150fc26f54b9297f11b88644375d31d53edcf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354121
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dániel Török <daniel.torok@instructure.com>
Reviewed-by: Rajmund Csehil <rajmund.csehil@instructure.com>
Reviewed-by: Roland Beres <roland.beres@instructure.com>
Reviewed-by: Theo Sorriaux <theo.sorriaux@instructure.com>
QA-Review: Dániel Török <daniel.torok@instructure.com>
Product-Review: Kata Virag Keri <kata.keri@instructure.com>
2024-09-02 14:00:03 +00:00
Evan Battaglia ff7165c5ff add Dynamic Registration Overlay JSON Schema
Test plan:
- Install yaltt dev key with dynamic registation. Include at least one
  placement
- Edit the key and change something like a placement title or icon url
  and make sure it works
- Modify the schema in lib/schemas/lti/ims/registration_overlay.rb,
  e.g. make icon_url (under placements items, line 54) be a number. Try
  saving. It will fail, and showing detalis will show useful
  (developer-friendly at least) JSON schema error messages.

closes INTEROP-8538
flag=none

Change-Id: Ib4629138df0e668bc1e77f275965bc4a3789efe5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356051
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Reviewed-by: Csaba Csuzdi <csaba.csuzdi@instructure.com>
QA-Review: Csaba Csuzdi <csaba.csuzdi@instructure.com>
2024-08-30 18:10:25 +00:00
Evan Battaglia c0288269ab Use JSON Schema for Dynamic Registration
* validation previously done in controllr is not part of
  Schemas::Lti::IMS::OidcRegistration and the already-existing
  (now stricter) Schemas::Lti::IMS::ToolConfiguration
* old "simple_validation_errors" only returned the first error so has
  been renamed. The new method returns all errors.

Test plan:
* Run yaltt locally, make a registration and go through the Dynamic Flow
  ("+ Lti Registration" on the Developer keys page). Continue to create
  the dev key and install the tool in a context and make sure the tool
  works.
* delete the tool and dev key. modify app/models/lti/ims/registration.rb
  and change some of the REQUIRED_* to the wrong values. Try to install
  yaltt again and note the error that yaltt gets (it will show you) when
  trying to install.

flag=none
refs INTEROP-8538

Change-Id: Idffcb4b17a3fabf118825565c3f62baaee0f20c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355399
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Csaba Csuzdi <csaba.csuzdi@instructure.com>
QA-Review: Csaba Csuzdi <csaba.csuzdi@instructure.com>
2024-08-30 18:10:14 +00:00
Spencer Olson 283b6ae6d1 update version grades on points scheme assignments
closes EVAL-4437
flag=none

Test Plan:
- Create an assignment using a points-based grading scheme
- Submit to the assignment as a student
- Grade the student as a teacher
- Submit to the assignment as a student again
- Grade the student as a teacher, again (different grade this time)
- Go to SpeedGrader for the student. notice in the dropdown for previous
  grades that it shows the correct grades
- Go into a rails console and manually change the `grade` and
  `published_grade` (without triggering callbacks) on the Version
  objects associated with the grades:

    sub = Submission.find_by(
      user_id: <student id>,
      assignment_id: <assignment id>
    )

    sub.versions.each do |version|
      model = version.model
      model.grade = "bad grade!"
      model.published_grade = "bad grade!"
      version.update_columns(yaml: model.attributes.to_yaml)
    end

- Go to SpeedGrader for the student. notice in the dropdown for previous
  grades that it shows the incorrect grades ("bad grade!")
- Run migrations
- Go to SpeedGrader for the student. notice in the dropdown for the most
  recent grade that it shows the correct grade. For the previous grades,
  it should show "bad grade!".

Change-Id: I874bbf30e5f8988cbce1c27786cac2be121948bd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354429
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-29 18:15:16 +00:00
Spencer Olson 62882d9710 reduce array iterations in DatesOverridable
flag=none

Test Plan:
- specs pass

Change-Id: I34e6a05916b4f0d1fb878e4ed5a5fbd0bb8f4c43
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356082
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2024-08-29 15:51:59 +00:00
August Thornton 0b7a01cea2 integrate common password file upload into Canvas auth
The majority of the changes are in the password policy enforcement
if a common passwords file is uploaded via the Password Options
UI for Canvas authentication. (When the FF is enabled)

closes FOO-4631
closes FOO-4630
flag = password_complexity

test plan:
- enable the feature flag for password_complexity
- go to Authentication --> Canvas auth --> Password Options
- upload the common password file and choose any other options you
  want to enforce
- go to /register and sign up as a student
- make sure the password policy is enforced, i.e.
- confirm that the password must be at least 6 chars
- confirm that the password cannot be a common one (e.g. football)
- confirm that the password cannot contain a run of 4 or more chars
  (e.g. abc123lol is ok, abcd1234 is not)
- confirm that the password cannot have the same char repeated 4 or
  more times (e.g. aaa000bb is ok aaaabbbb is not)
- verify the password policy is enforced when changing your password as
  an existing user (via user profile/settings)
- verify the password policy is enforced when adding a login for a user
- verify the password policy is enforced when resetting your password
  (via forgot password on login page)
- invite a new user into a course, and as that user verify the password
  policy is enforced when you set up your account

Change-Id: I1e5d351f59e545c0f7b24056f6018290ce609d81
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356171
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2024-08-29 02:18:17 +00:00
Chris Soto bccdefdb20 fix rating order not applying on sg page
this commit fixes rating order not being applied in speed grader page

fixes EVAL-4516
flag=enhanced_rubrics

test plan:
- create a rubric with multiple ratings
- update the rating order to low to high
- go to speed grader page and verify the rating order is low to high

Change-Id: I191018436293d39b378c807999c72472a5e19d40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356069
Reviewed-by: Rohan Chugh <rohan.chugh@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-28 19:21:29 +00:00
Robert Horvath 53d73a1433 Allow students to see NQ results after course is concluded
refs QUIZ-14260
flag = new_quizzes_enable_quiz_visibility_after_course_conclusion

test plan:
 - with the flag enabled, students in concluded courses should
   be able to launch New Quizzes
 - with the flag disabled, students should not be able to launch
   New Quizzes in concluded courses
 - regardless of flag state, admins and teachers should be able
   to launch New Quizzes

Change-Id: I8df5db131243910f8e32685fd07d814b5cd1f051
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355264
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Marleny Parmenter <mparmenter@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
2024-08-28 15:27:09 +00:00
Peipei Zhou 65a6ddab51 use safe_constantize to ignore unmappable assets
fixes CLAB-445
flag=none

Test plan:
- enable Smart Search feature flag
- go to course -> settings -> import course content
- choose 'Copy a Canvas course'
  and check 'Import existing quizzes as New Quizzes' checkbox
- click 'Import'
- the course copy should be success

Change-Id: I4c80af9f2d162b2d01e4118cecd94890c10ee6ff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355649
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tamas Barna <tamas.barna@instructure.com>
Reviewed-by: Ferenc Marcsó <ferenc.marcso@instructure.com>
QA-Review: Tamas Barna <tamas.barna@instructure.com>
Product-Review: Peipei Zhou <peipei.zhou@instructure.com>
2024-08-28 08:26:39 +00:00
Keith T. Garner 3bd2d10ab4 optimize a hot section of date_overrideable code
In preloading module ids we ended up with loops within loops leading to
long run times in the ruby code. This optimizes the code to reduces the
number of times we need to pass over the data. (Local testing shows up
to a 450x improvement with 2900ish content items.)

test plan:
 - specs pass

Change-Id: Ied699aee0ee3373ee01a6ebbce6c23d9927e7bf3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/356063
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2024-08-27 22:04:42 +00:00
Jeremy Stanley 0c7ff250cb schema-qualify the pgvector <=> operator
`with_pgvector` is supposed to add the schema to the search path
and make this unnecessary, but for whatever reason it's not working
in the docker build environment. or beta, apparently.

test plan:
 - search works

flag=smart_search
closes FOO-4694

Change-Id: Ica9519269c4f170066ac9a92f1c974d531abf9d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354250
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-27 17:40:25 +00:00
Roberto Noguera dc98645819 Add checkpoints info to Discussions Index Page
closes VICE-4301
flag=discussion_checkpoints

Test plan:
- Test passes
- Go to Discussions > + Discussion
- Fill the title and description
- Select the option "Graded"
- Select the option "Assign graded checkpoints"
- Add points
- Click on "Manage Due Dates and Assign To"
- Fill in "Reply to Topic Due Date" and
  "Required Replies Due Date"
- click on Apply
- Clck "Save and Publish"
- Go back to the discussion pages
- the newly created Discussion should show the
"Reply to topic" and "Required Replies" due dates

Change-Id: Icda226183560dcd6bbad9a3c4df312013205b486
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355284
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Dave Wenzlick <david.wenzlick@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-08-27 05:39:14 +00:00
August Thornton 06adc8314e Add attachment/folder attributes to account policy settings
closes FOO-4696
flag = password_complexity

test plan
- enable password complexity feature flag
- set password policy settings via API or rails console
- leverage the API:
    - GET /api/v1/accounts/:account_id/settings
- verify the password policy settings are returned
- with the feature flag disabled, verify the password policy settings
  are not returned

Change-Id: Ifd51a5594ef673258d1608b94a3883b4d0f54762
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355991
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2024-08-26 18:12:54 +00:00
Jason Gillett 433da77a11 Correctly pass in isCheckpointed prop to discussion index
Correct Data will be displayed in VICE-4299

Next Ticket will handle Discussion Show Assign to tray

refs VICE-4298
flag=discussion_checkpoints

Test Plan
1. Have an ungraded, graded, checkpointed discussion
2. In discussion index page open assign to tray
3. Verify that the checkpoint date inputs appear in
only the checkpointed assign to tray

Change-Id: I6dfbc29c8532414008d283666151c3e14cd725c4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355700
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-08-23 21:07:46 +00:00