Commit Graph

63766 Commits

Author SHA1 Message Date
Drake Harper 6986a9305b Add subAssignmentSubmission field to submission interface
flag=platform_service_speedgrader
refs EVAL-4444

Test Plan:
- should be able to query subAssignmentSubmissions on a submission

Sample Query:
query MyQuery {
  legacyNode(_id: "55", type: Assignment) {
    ... on Assignment {
      id
      name
      submissionsConnection(filter: {userId: "251"}) {
        nodes {
          _id
          subAssignmentTag
          score
          grade
          subAssignmentSubmissions {
            grade
            score
            publishedGrade
            publishedScore
            assignmentId
          }
        }
      }
    }
  }
}

Change-Id: Id9441ce502d7d5a10df8e8bbb35cab134af8ee9d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355133
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2024-08-16 15:39:21 +00:00
Jackson Howe e5b8934de9 Fix add button if there's no cards
fixes LX-1939
flag = selective_release_edit_page

Test plan:
 - Create an assignment and assign a single student to it
 - Remove that student from the course
 - Go to the assignment's edit page
 - Expect to see no cards (since the student is removed)
 - Click the add button, and expect that to work

Change-Id: Icc6572fbebd515a8690976ccbbbf3a3411ad2c90
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355246
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: Jackson Howe <jackson.howe@instructure.com>
2024-08-16 15:13:45 +00:00
Dmitry Buimistrov 81d35dfa9d Add a feature flag to enable Impact integration for New Quizzes
Closes QUIZ-14149

Test plan:
- Go to SiteAdmin settings -> Feature Options
- "Impact integration for New Quizzes" should exist as "Shadow"

flag = impact_integration

Change-Id: I4a8455948bc5d5dab81e8f2a3d1fb45077366581
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/353978
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gergely Knipl <gergely.knipl@instructure.com>
Reviewed-by: Márton Gréczi <marton.greczi@instructure.com>
QA-Review: Márton Gréczi <marton.greczi@instructure.com>
Product-Review: Dmitry Buimistrov <dmitry.buimistrov@instructure.com>
2024-08-16 10:27:04 +00:00
Chawn Neal 08ae0ad833 Add persist highlight to discussions and speed grader
fixes VICE-3676
flag=react_discussion

Test Plan:
1. In the url for discussion show page
and persist=true.
Then trigger highlight, ex 'go to topic'.
alternatively add this to the url to highlight an entry
?persist=true&entry_id=4

2. Have a graded discussion.
make it check-pointed

- Make sure a student has completed,
both topic replies and replies to another student.
-- this allows speedgrader to show discussion.
- next as a teacher, open in speedgrader for the entry.
- it will highlight the entry with persist.

Note:
There is a bug that should be handled by navigation.
- lets say the student has 3 entries,
it will only highlight 1 entry, no matter which you
open in speedgrader. This is unrelated to persist.

Change-Id: If56633cb95bf342bda603c08c0e9d844775625a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354022
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2024-08-16 07:40:01 +00:00
Dustin Cowles 0ffd006141 remove deprecated getPageContent scope
fixes ADV-170
flag=none

Test plan:
- PreReqs:
  - An LTI tool with the `lti.getPageContent` scope
    `https://canvas.instructure.com/lti/page_content/show`
- Verify the `lti.getPageContent` postMessage works

Change-Id: I2bcc36e63af5631a3a18b66d0e4501456943644c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/352928
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: Dustin Cowles <dustin.cowles@instructure.com>
2024-08-16 02:33:17 +00:00
Tucker McKnight 47c1db548a Save valid site admin registrations and account bindings
This avoids two errors that we found when running the
data fixups in beta.

1. Site admin developer keys have a nil account.
   When we have a dev key with a nil account_id, create
   an Lti::Registration and set the account to
   Account.site_admin. Previously, we would throw an error
   if the account was nil.
2. DevelperKeyAccountBindings *can* be in non-root accounts.
   That is to say, the backend allows it, validation-wise. This is
   probably something that has been done a few times through
   the API unintentionally. When we find a DeveloperKeyAccountBinding
   for a non-root account, we should just skip trying to create
   an Lti::RegistrationAccountBinding for it.
   (Lti::RegistrationAccountBindings must be in a root account.)

Note: in lib/data_fixup/create_lti_registrations_from_developer_keys.rb,
the registration_values hash now has an account_id key instead of
just "account." This is because if the account_id is set to an ID
that doesn't match an account, developer_key.account will be nil,
even though developer_key.account_id is set to some integer. (If
it's a site admin key, developer_key.account_id is nil, and therefore
developer_key.account is also nil. But that's different from having
developer_key.account == nil because the account_id couldn't be found.)
If developer_key.account_id is set to a nonexistent account ID, then
developer_key.account is nil, but the developer key is *not* a
site admin key.

We still want to throw an error if developer_key.account is nil *if*
and only if developer_key.account_id is *not* nil. I.e., the account
is nil and it's not because it's a site admin key.

During the fixup on beta, we did run into a few where
developer_key.account_id was set to a nonexistent account.

test plan:
- specs pass

refs INTEROP-8501
refs INTEROP-8502

fixes INTEROP-8800

flag = lti_registrations_page

Change-Id: Ia3198b21e2b29b5cb9ac75b5f9cbabf492e620f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355019
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 23:45:39 +00:00
Chris Soto 3283393637 change ff name of enhanced_rubrics
this commit changes the name of the enhanced_rubrics feature flag from
Rubric Enhancements to Enhanced Rubrics

closes EVAL-4485
flag=none

test plan:
- open up the feature flag page for an account or course
- verify the name of the feature flag is now Enhanced Rubrics

Change-Id: Ic312e78a05070cbacad4657765edb038aa140d8f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355243
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2024-08-15 22:55:30 +00:00
Rida Hummdan 1696936f3a Create the AssignmentTeacherView component
closes EGG-5
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 the assignment name is displayed at the top left
of the page.
- Nothing else will be displayed on the page. It is still in the
works.

Change-Id: I84fc911730d8fb5d925173b33e58594058d6a8a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354662
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-08-15 22:50:40 +00:00
Aaron Shafovaloff b9c369eaeb Remove empty space in People
Test plan:
  - Observe /courses/[id]/users
  - Note that it makes a product manager happier

Change-Id: If3981114298e117b993a04bf55d08b2a4427388d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355242
Reviewed-by: Chris Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jeremy Perkins <jperkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 21:59:07 +00:00
Sarah Gerard b5a7a3b386 Validate assign to cards on save of page edit page
If there are errors on the assign to cards on save of
the page edit page, focus on those errors and don't save.

refs LX-1886
flag=selective_release_edit_page

test plan:
- create/edit a page and add some assign to cards
- make some errors on the cards, have invalid dates and
  cards without assignees
- attempt to save the page, focus should go to the errors
  and the save should not occur.

Change-Id: I5d63332ef6b25f38076bd3b0e9fca5160b9ecb9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355213
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: Sarah Gerard <sarah.gerard@instructure.com>
2024-08-15 21:09:00 +00:00
Sarah Gerard eb19454232 Initial embedded assign to in page edit page
This commit takes the tray out of the page edit page.
You should be able to edit assign to cards and the cards
should save as expected. Validations on save are not yet
functional, and module overrides are not yet completely
functional.

refs LF-1886
flag=selective_release_edit_page

test plan:
- create a page and add overrides. Mess around with adding,
  deleting cards, changing the dates, etc and ensure it
  works as expected.
- save your changes and ensure that all changes are saved
  correctly.

Change-Id: Ifff4dc71a80f1632400ebc4af3d939b272e523a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355210
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: Sarah Gerard <sarah.gerard@instructure.com>
2024-08-15 21:08:38 +00:00
Jacob Burroughs 227488498d Remove unnecessary test table
Change-Id: If9441780317e9b79181529b7399396cee2bd8aba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355233
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
Migration-Review: Alex Slaughter <aslaughter@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2024-08-15 20:44:58 +00:00
Cody Cutrer 0fdb1bea18 squash old migrations 202403
closes AE-1068

Change-Id: I141a1f7263ac01cfc3313851f57b576e71ec0138
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355208
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2024-08-15 20:22:04 +00:00
Cody Cutrer 2a6ced7e83 squash old migrations 202402
refs AE-1068

Change-Id: I63a45261536e6df44967cbaeb2b5584b02c6c18c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355203
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2024-08-15 20:21:52 +00:00
Jason Anderson bf9d2ba1ec Fix LMGB Errors with trust accounts
closes OUT-6551 OUT-6552 OUT-6553
flag=none

Users from trust accounts were incorrectly being filtered
out of LMGB when using the 'inactive', 'concluded', and
'unassessed' filters. This patchset addresses that issue
and provides tests that validate the solution

Test Plan:
Tests are sufficient and pass in Jenkins

Change-Id: I7a4f5d05f31be0cbd31818442b7616d760eaac7e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355209
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: Kyle Rosenbaum <krosenbaum@instructure.com>
2024-08-15 19:21:28 +00:00
Aaron Shafovaloff 5bf1119406 clean up tsconfig
Change-Id: Ie0319024f4e4b0cfc854c6043c66a3b6cd22d382
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355214
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 18:50:54 +00:00
Aaron Shafovaloff a09e3372c7 move query-string-encoding
Change-Id: Iac755b5473e0b4d307a403db11b7c763d013be77
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355211
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-15 18:29:41 +00:00
Cody Cutrer 842b155fa9 squash old migrations 202401
refs AE-1068

Change-Id: Idb2a1bbfe29c641f49dec910f314d9d6a583e40a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355201
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@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>
2024-08-15 18:26:39 +00:00
Robin Kuss 38d674f81d spec: add no tray tests for quizzes edit page
Closes LX-1966

Test Plan: passes Jenkins

Change-Id: Ib33a8b23bd1ab1f8bba4dc4f3346ca9a285271a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355085
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
2024-08-15 17:35:46 +00:00
Aaron Shafovaloff 2d03324bd4 introduce safelyFetch; add some polish to /accounts
test plan:
  - ensure that /accounts still lists accounts

Change-Id: Ib8dee9d83afb1bbde7631b4da6240442759dc585
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354990
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-15 17:10:46 +00:00
Jason Perry 9a29bc546b Don't check cached batch when checking stop
Closes FOO-4633
flag=none

Test Plan:
  * Start a large batch mode SIS import
  * Abort it (via API or console) part-way through
  * Observe that parallel importers are aborted rather
    than continuing to run

Change-Id: I48fda5274d061b4f30661a5cb247bffd54e3a532
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355098
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jason Perry <jason.perry@instructure.com>
QA-Review: Jason Perry <jason.perry@instructure.com>
Product-Review: Jason Perry <jason.perry@instructure.com>
2024-08-15 16:33:10 +00:00
Sleyder Zuleta 770999776c support embed param in the peer review page
fixes EVAL-4427
flag=assignments_2_student

Test Plan:
- acting as one of the students assigned to peer review, navigate to the
  assignment as the reviewer
- reload de page adding embed=true parameter
- validate the canvas menu is not being rendered

Change-Id: I654f55ce7760087aa219004c39d7e93aa1c5fc05
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354624
QA-Review: Jackson Huang <jackson.huang@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 16:17:25 +00:00
Jorge Arteaga 9ce27e1b2e import points_possible from new quizzes
fixes QUIZ-14061
flag = none

test plan:
- have the New Quizzes Common Cartridge flags turned on
- make sure quiz_lti is up-to-date, and/or
has the changes from g/352154

- create a course
- create a CQ and a NQ with points
- for the CQ to have points it must have questions
- the NQ points are set in the Assignment Edit page
- for the NQ, make sure the sum of the points from the
quiz entries is different than the assignment points
- go to the Export Course Content page and export the
course as an IMSCC package
- import the package into a different course
with the option "Import existing quizzes as New Quizzes"
turned on
- observe that the quizzes have the correct points
- import the package again into a different course with
the option "Import existing quizzes as New Quizzes" turned
off
- again, the quiz points should be imported correctly

Change-Id: I075945fe805df054a7f63012b54a765293739d3e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/352653
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Cason Snow
Reviewed-by: Iman Morshed <iman.morshed@instructure.com>
Reviewed-by: Adrian Diaz <adrian.diaz@instructure.com>
QA-Review: Adrian Diaz <adrian.diaz@instructure.com>
2024-08-15 14:52:40 +00:00
Chris Soto d9cc3038e8 update enhanced_rubrics ff to course level
this commit updates the feature flag for enhanced rubrics to be at the
course level instead of the account level. This will allow a more
granular setting where the FF can be enabled at the account and course
levels.

closes EVAL-4476
flag=enhanced_rubrics
[fsc-max-nodes=15]

test plan:
- set an account to have the enhanced rubrics FF enabled
- verify that in the account rubrics page, the enhanced rubrics are
  enabled

- set one course in the account to have the enhanced rubrics FF disabled
- verify that in the course rubrics page, the enhanced rubrics are
  the old UI
- have an assignment with a rubric and visit speed grader. verify that
  clicking on the rubric button opens up the old rubric UI. complete the
  rubric assessment for the student.
- as the student, navigate to the assignment page and verify that you
  can see the old rubric UI for the completed assessment.

- set one course in the account to have the enhanced rubrics FF enabled
- verify that in the course rubrics page, the enhanced rubrics UI is
  enabled
- have an assignment with a rubric and visit speed grader. verify that
  clicking on the rubric button opens the new rubric tray. complete the
  rubric assessment for the student.
- as the student, navigate to the assignment page and verify that you
  can see the new rubric UI for the completed assessment.

Change-Id: I54bfaba53517240382b151ae58c53c183e83fdba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Sleyder Zuleta <sleyder.zuleta@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-08-15 14:11:17 +00:00
Chris Soto 4f9f71d23b fix traditional assessment view rating heights
this commit fixes the following:
- height of the rating cells in the traditional
rubric assessment view. The height of the rating cells are now dynamic
and should stretch to fit the height of the row instead of a set height.
- add criterion long description modal to the traditional rubric
  assessment
- fix student view of the rubric assessment to show the long description
  modal when the long description icon is clicked
- student view of the assessed traditional rubric should now have the
  points input as text instead of input field

fixes EVAL-4412
fixes EVAL-4445
fixes EVAL-4404
flag=enhanced_rubrics

test setup:
- have a rubric with different types created and attached to assignments
  - rubric with different sizes of ratings
  - rubric with outcomes
  - rubric with free form comments
  - rubric with very long rating long descriptions

test plan:
- navigate to /rubrics
- view the different rubrics created by clicking on the rubric names
- verify that the rating cells in the traditional view stretch to fit
  the height of the row and that everything looks normal
- navigate to speed grader for some of these different rubrics
- verify that they open in the sidebar and look normal.
- as a student, navigate to the assignment page and view the rubric
  assessment
- verify that the long description modal opens when the long description
  icon is clicked, the assessed point value is now a text instead of an
  input field and that everything looks normal

Change-Id: I8075c76f705dc866f7b155afdd874cb71b19bda6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355093
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: Ravi Koll <ravi.koll@instructure.com>
2024-08-15 13:42:42 +00:00
Jenkins 86c3e1b2e4 update fr-CA translation
Change-Id: I67e30700c55fc2154bb324c3579e9d77aeacae85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355180
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 13:41:13 +00:00
Jenkins 9b41971fa8 update da-x-k12 translation
Change-Id: I1765bd722e2eb0551d59661807ec37ffd574a5e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355179
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 13:37:41 +00:00
Jenkins 4186293864 [i18n] Update RCE translations.
Change-Id: Ic33c563aef5dacf9f5f5f125cf8a057c41b2bb0e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355147
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 04:51:54 +00:00
Jenkins 9a04625d08 [i18n] Update package translations
Change-Id: I279bb3a8e0a0b445a51f795311a44242e5f7693b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355146
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-15 04:51:32 +00:00
Eric Saupe 583282ff7d Add file verifier reset data fixup
fixes RCX-2111
flag=none

test plan:
- Run data fixup
- Verify uuids were changed in all non-deleted attachments

Change-Id: I13a5499e6c15c9cfb62046b1852e4a91afd86b7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354818
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: Eric Saupe <eric.saupe@instructure.com>
2024-08-14 22:49:04 +00:00
Mysti Lilla f447ed48b7 File link -> InstFS UUID controller
refs RCX-1900
flag=instfs_uuid_api

Test plan
- Have a couple of different types of file
  urls (for rich content)
- Send a request to /api/v1/instfs_uuids_for_files
  with a body like { user: <user_uuid>, file_urls:
  ["url", ...], location: "anything" }
- Ensure that this only works if the feature flag
  is on (it is by default), otherwise 404
- Ensure that URLs are returned with the attachment's
  instfs_uuid (if any) if the user you sent the uuid
  for can manage the file
- Ensure that the URLs are not returned in the list
  if the user cannot manage the file

Change-Id: I781b5165725a56e906c2e9c509c95961ca0d141e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348291
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
Reviewed-by: James Logan <james.logan@instructure.com>
QA-Review: James Logan <james.logan@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2024-08-14 22:04:03 +00:00
Charley Kline a4c2ccc266 Temporary fix for dynamic import of locale files
Fixes FOO-4657
flag=none

The rspack upgrade changes how pathnames are mapped
for dynamic imports, which broke the language polyfill
code. I wasn't able to get all the way to the bottom
of what's going on; there is probably a better fix for
this (or maybe not!), but this makes the import more
explicit in a way that rspack clearly understands.

Will probably need to revisit this issue to clean up
the code and research exactly what is going. In the
mean time, this will do.

Test plan:
* Be in Google Chrome
* Set your user's language to Íslenska
* Reload the page with the browser console open
* You should see successful "polyfilled is for locale is"
  and not any "Cannot find module" errors

Change-Id: I6c42d3f80da01576d939f5d3b39f042ca1ef594c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355131
Reviewed-by: Dustin Cowles <dustin.cowles@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-08-14 21:56:38 +00:00
juan.chavez e34441901e Fix Sync to SIS in embedded Assign To for discussions
closes LX-1952

flag=selective_release_ui_api
flag=selective_release_edit_page

test plan:
- Enable required sync to SIS and make due
dates required in account settings.
- Navigate to a graded discussion create/edit page.
> Verify that if the Sync to SIS checkbox is enabled
the cards of the panel should require due dates
(showing errors). If not you can leave these fields
blank.
> Verify that you are not able to save if there
are empty due dates if Sync to SIS is enabled.
> Verify that if you try to Save, the focus will
go to the first issue you have on the cards.

Change-Id: Ic844d45aa477e41cd6d406cb3ed5f0c83817f551
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354840
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sarah Gerard <sarah.gerard@instructure.com>
QA-Review: Sarah Gerard <sarah.gerard@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2024-08-14 20:03:55 +00:00
Matheus b37258f970 Increase mediaelement speed selector height
fixes RCX-1838
flag=none

Test plan:
- Preview a media file
- Click the speed selection button
- Check that you can see all the options
  down to the canvas-added 0.50x

Change-Id: I60ca8a383d116ba18c244fa1b9fac94c85ffd6d8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354998
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: Luis Oliveira <luis.oliveira@instructure.com>
2024-08-14 19:43:37 +00:00
Matheus e305f8437d Bump canvas_link_migrator gem
refs RCX-1971 RCX-2172
flag=none

Test plan:
- Passes Jenkins

Change-Id: Ic57624cc278c334f13d46a760bb0788247d36db6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355068
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: Luis Oliveira <luis.oliveira@instructure.com>
Build-Review: James Butters <jbutters@instructure.com>
2024-08-14 19:38:46 +00:00
Xander Moffatt 1992fb7303 fix: account for div container during infinite scroll
why:
* the top_navigation_placement feature flag introduces
a wrapper div around all of Canvas, to make the Drawer
implementation work
* InfiniteScroll looks at the document for scroll events,
but with the wrapper div there aren't any
* use the wrapper div if present but fall back to the usual
document-style implementation

closes INTEROP-8799
flag=none

test plan
* create more than 50 tools in a Course or Account
* easiest way to do that is to take an existing tool and in a rails console
with the tool as `t`, run this:
`100.times.each { |i| t.dup.tap{ |t| t.name = "test #{i}"; t.save }`
* with the top_navigation_placement flag off, scrolling down to
the bottom of the list of apps should load more
* with the flag enabled, scrolling down won't load any more
* with this commit checked out, scrolling down should
always load more tools

Change-Id: Ic65166fa597c296d4c010e0a87faf2992bea2b33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355123
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2024-08-14 19:23:16 +00:00
Eric Saupe 716108e6a5 Leave Icon Maker tray open until close button is clicked
fixes RCX-1990
flag=none

test plan:
- Open Icon Maker tray
- Click outside the tray and verify the tray does not close
- Upload an image via the icon maker tray
- Verify there is no prompt when clicking the image modal
- Make changes in the tray and click the close button
- Verify there is an alert asking to save the changes

Change-Id: I87784f8a4405dde8f557fa2c917a2c38f087fd43
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354823
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: Eric Saupe <eric.saupe@instructure.com>
2024-08-14 18:31:27 +00:00
Kai Bjorkman 2c3d0b89a7 file restrictions only apply to online uploads
closes EVAL-4144
flag=none

Test Plan:
PreReqs: Published course with a student enrollment that has media in
Studio. Have an assignment with file upload submissions and
file restrictions enabled. Assignment Enhancements DISABLED
- Edit assignment in a course and uncheck file upload submission types
 without unchecking “Restrict Upload File Types.”
- Enable “media recordings” submission type.
- After saving the edits to the assignment, act as a student and select
the 'New Attempt' button at the top right of the assignment page, select
 the Studio tab, and choose a video to submit.
- Click the embed button on the window that appears and notice the error
 at the top of the page stating that the submission file type is invalid
  and cannot submit.

Change-Id: I561a31c96aa38d65e05eacba2b4383abe32a624e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/351264
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
2024-08-14 18:26:22 +00:00
Aaron Shafovaloff d72be1f5cc don't use separate tsconfig for ui/engine
Change-Id: Id3c9be27153d32245bfc672956a347979ced2157
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355119
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-14 18:12:28 +00:00
Martin Yosifov 7f11bf61a0 Remove assignments w/ sub assignments from undated items
closes VICE-4492
flag=discussion_checkpoints

Test plan:
- Go to SiteAdmin -> Feature Options and enable
the Discussion Checkpoints feature flag
- Create a course and enroll yourself as teacher
or student; take a note of the course id
- Create a graded discussion with checkpoints
and add due dates
- Create a graded discussion with checkpoints
but do not add due dates
- Get undated assignments from the Calendar API
http://<canvas url>/api/v1/calendar_events?
type=assignment&context_codes[]=course_<course id>&undated=1
- Verify that response is an empty array
- Repeat the API call for type=sub_assignment
- Verify that the two undated checkpoints are returned

Change-Id: I1630561f5817fb39acd8f7534b873b6d6825c56a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354994
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2024-08-14 17:02:23 +00:00
Ed Schiebel bd9433d259 Tweak some blocks
and prevent Tabs from nesting
and added I18n to SectionMenu

closes RCX-2179
flag=none

test plan:
  - create an empty page
  > you cannot delete the sole blank section
  - add a new section
  > expect the trash can in the toolbar
  - delete all but 1 section
  > you cnnot delete the last section

  - add a Tabs block
  - try to dnd Tabs into the Tabs
  > expect it to be disallowed
  - try to dnd another block into the Tabs
  > expect it to work as expected
  > expect the RCE Block to be present, even if the ai_text_tools
    flag is off
  - Add a columns section
  - add a Text block to a column
  - enter some text, including returns to introduce more
    paragraphs
  - add another text block above or below the first one
  - add some text and <esc> to stop editing
  > expect all the pragraphs to look evenly spaced
  - in any of the text blocks select some text and
    click on bold, italic, underline, and/or strikethru
    in the toolbar
  > expect the corresponding buttons to be highlighted
  > expect the text to get the corresponding styling

  - add a text block
  - type some text with a ?
  > expect the ? to work

Change-Id: I53ab48693873ec0a85979af6813292d8a100aa13
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354456
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: Ed Schiebel <eschiebel@instructure.com>
2024-08-14 16:07:11 +00:00
Sarah Gerard aa648cb76b Fix incorrect date for graded discussions with todo dates
A graded discussion can have a todo date if it was converted
from an ungraded discussion to a graded discussion. In that
case we should not show to todo date on the modules page.

fixes LX-1964
flag=none

test plan:
- create an ungraded discussion and check the 'add to student
  to do' box and add a date
- create a module and add the ungraded discussion to it
- expect to see the to do date on the module item
- go back to the discussion and change it from ungraded
  to graded
- check the modules page, expect to see no date on the
  discussion module item
- add a due date to the discussion and return to the module
  page
- expect to see the due date on the discussion module item

Change-Id: If32c99af3aa5c49137a2e99593b090d30360dd8c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355009
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: Sarah Gerard <sarah.gerard@instructure.com>
2024-08-14 15:54:07 +00:00
Ryan Hawkins f624a48470 Allow Editing Dyn Reg App on Apps Page
why:
- To allow admins to edit apps that were installed using Dynamic
  Registrations. This reuses the same modal that is used during the
  install process, rather than creating a whole new screen.

flag=lti_registrations_page

closes INTEROP-8525

test-plan:
- Enable the associated flag and navigate to the Apps page.
- Make sure you can still install an app using Dynamic Registration.
- Click the three dots button on the app that you just created in the
  table.
- Click the Edit App button. A modal should open up to the review
  screen.
- Modify some aspects of the configuration and click through all the
  screens. Once you've finished, click the Update App button and make
  sure it all saves properly.

Change-Id: Ib075c273f0091ae019cc4f67f4cd295c662b652f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/354566
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 15:52:27 +00:00
Drake Harper 980d461eca Update mutations to enable checkpoint grading
flag=platform_service_speedgrader
refs EVAL-4444

Test Plan:
- create a checkpointed discussion
- ensure you have correct code for SG2
- attempt to grade a checkpointed discussion

Change-Id: I9512072fdb57e80a7403559f085bf6d640270f00
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355008
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-08-14 15:33:39 +00:00
Caleb Guanzon 399c6ad342 apply egg17 to master branch
flag=discussions_redesign
fixes EGG-17

test plan:
- create a graded group discussion for
a group set that has groups without any students
- as a student, visit the discussion
(you will end up in the root topic page, this is ok)
- reply to the discussion
- as a teacher, view discussion in speedgrader
- verify discussion loads without error

- create an anonymous discussion, as a student, reply
- delete your reply
- verify you can reload the page without the page breaking

- create a graded group discussion this time with
groups that have students
- as a student belonging to a group, reply to your
group's discussion
- as a teacher view speedgrader
- verify the the full discussion loads with the student's reply

Change-Id: Iadc6205a84c05c27cfbf03c7fbdc36087d72e81a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355056
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: Chawn Neal <chawn.neal@instructure.com>
2024-08-14 15:26:05 +00:00
Jenkins 9c0f3f0ea3 update sv-x-k12 translation
Change-Id: I766d4bb65f0596d24483314160a61a3cf8013cd6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355084
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 13:48:13 +00:00
Jenkins a56217c8e1 update nb-x-k12 translation
Change-Id: Ia11e75fdf72b0f40ed66525fb965c8d16b6af697
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355083
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 13:45:21 +00:00
Jenkins 34b1ad5483 update fr-CA translation
Change-Id: I868bdec2ade5510394f03d12c070c8f65a799a82
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355082
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 13:41:44 +00:00
Jenkins 6a4feb03f8 update da translation
Change-Id: I0922654468b119075531abce957c6fc8e5fe4200
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355081
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 13:37:47 +00:00
Jenkins 065c2c3cef update cy translation
Change-Id: I6993dafab92e29c375402294ef051a3e59ea5f69
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/355080
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-08-14 13:37:13 +00:00