Commit Graph

1422 Commits

Author SHA1 Message Date
Paul Gray ce5e25bc3e Add resource_link_id to requestFullWindowLaunch
This commit adds a `resource_link_id` parameter to the `/retrieve`
endpoint, and forwards it from `requestFullWindowLaunch` post messages.

why

`requestFullWindowLaunch` post messages use the `retrieve` endpoint, but
there wasn't enough context to reproduce the same launch from which the
post message came. This caused issues, mainly the full window launch was
missing custom parameters set on the original launch.

The context can now be provided by the tool on the
`data.resource_link_id` attribute of the `requestFullWindowLaunch`
message.

test plan:

Create an iframe-d lti launch in the RCE, providing some custom
parameters. Send a `requestFullWindowLaunch` post message, supplying the
`resource_link_id` as part of the data, like:

```
{
  subject: 'requestFullWindowLaunch',
  data: {
    url: '...',
    resource_link_id: "8370d7d7-5eea-4ff5-b2bf-11df83fe4d2c",
    launchType: 'new_window',
    launchOptions: {
      width: 1000,
      height: 800,
    },
  },
}
```

Verify that the same custom parameters were sent in the new launch.

Repeat the same process for resource links added to a module.

fixes INTEROP-8061

flag=none

Change-Id: I28de2d70d1a9154ea0439a466beb06edc1d29c85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320036
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: Alexis Nast <alexis.nast@instructure.com>
2023-06-22 13:46:43 +00:00
jen.smith de73ba904b always left align grading scheme table header labels
flag = grading_scheme_updates

Test Plan
- enable 'Improve Letter Grading Scheme Usability" site admin flag
- create or edit a grading scheme from assignment options
or course settings
- 'Letter Grade' and 'Range' table headers should be left aligned

closes EVAL-3278

Change-Id: Id44731b48352d0fccf8319adb57286d12f033f62
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320957
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-06-21 21:36:38 +00:00
jen.smith 89d5b42f21 fix default course grading scheme not selected on assignment edit
flag = grading_scheme_updates

Test Plan
- set a course default grading scheme in course settings
- create or edit an assignment
- choose ‘letter grade’ for assignment grading type
- unless the assignment already had a different grading scheme set,
the course gradings scheme selected in step 1 should be selected on
the assignment edit page
- saving the assignment edit page when the default course scheme is
selected should result in a null grading_standard_id in the database
for the assignment - ie, no override.  changing the course scheme in
course settings should change the assignment’s selected scheme on the
assignment edit page.
- saving the assignment edit page when something other than the default
course scheme is selected should result in that standard’s
grading_standard_id in the database for the assignment- ie, an override.
changing the course scheme in course settings should not change the
assignment’s selected scheme on the assignment edit page.

closes EVAL-3269

Change-Id: I9a76efab484b96d963a9e2ed94233e1317c008d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320742
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-06-21 21:36:23 +00:00
Matheus afac17ac2b Hide CC upload button for locked media
closes LF-368

flag=media_links_use_attachment_id

Test plan
- Create a BP course and link a child course
- Upload a media file and lock it in the parent
- Sync the courses
- Check the child course files
- Preview the locked file and check that there is
  no CC upload option when clicking the CC button
  (There will be no CC button if there are no tracks)

Change-Id: I29f4e6b13196b6d906ff04f206c1d2d909450c65
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320660
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2023-06-21 16:38:33 +00:00
Ed Schiebel 63d6556de4 Tweaks to weekday picker
- add aria-checked to checkbox
- make min size of each day a bit larger
- add tabstops before and after the WeekdayPicker in the
  story to make it easier to to kb only testing

closes LF-407
flag=none

test plan:
  - in English, all the days should look the same size
  - you should be able to click anywhere in the blue
    circle and have it toggle selection
  - everything makes sense using a screenreader

Change-Id: Ia7d9c4009ffa44afaa04b53d3679fb2f299da9a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320893
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2023-06-21 13:36:27 +00:00
Juan Chavez 09ad9af0c7 Calendar should show overlapped event range and request range
fixes LF-352

flag=none

test plan:
- Navigate to Calendar view.
- Create an event that starts in a day of the week previous of
the week that shares days with the next month.
- Using the arrow cursor, extend the event to the first days of
the next month.
> Verify that the event is shown in the current month and the
next month when switching through months.

Expected behavior:
Requested range         |------------|
Event 1           |---|
Event 2                     |---|
Event 3                                 |---|
Event 4             |---------|
Event 5                        |---------|
Event 6             |--------------------|

Events 2, 4, 5 & 6 should be returned

Change-Id: Idc43a83fed3cb8aceb3067ced4770e2e601619c1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320587
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-20 21:35:55 +00:00
Ed Schiebel 8a7d06ec3d Keep expanded accts expanded after applying changes
This PS looks bigger than it is.
When an account is first rendered expanded, which happens if you
Apply Changes while it's open, we have to detect that we haven't
fetched its sub-accounts. This is the subtantive change.
It also requires the mock data be correct
and it wasn't. That accounts for most of the spec changes.

I removed @ts-nocheck from a few files and fixed typescript errors
(though AccountCalendarItemToggleGroup.tsx turned out to be
more than I wanted to tackle).

closes LF-302
flag=none

test plan:
  - have a bunch of accounts and sub-accounts
  - go to /accounts/:account_id/calendar_settings
  > expect the top account to be expanded, others collapsed
  - click the twisty to expand a sub-account
  - make a change and click Apply Changes
  > expect the sub-account(s) to remain expanded
  - make a change to the root account
  - click the twisty to close the root account
  - click Apply Changes
  > expect the root accoutn to re-open after the update

Change-Id: Id056b6cb12442cf1ad20a5589f1b916c0ffc1607
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320006
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: Ed Schiebel <eschiebel@instructure.com>
2023-06-20 17:04:09 +00:00
Ed Schiebel 5626457e08 Create weekday picker for recurring calendar events
closes LF-354
flag=none

test plan:
  - from the canvas-lms directory, run yarn storybook
  - from the storybook page (if it doesn't open, go to
    http://localhost:6006/
  - select EXAMPLES > Calendar > WeekdayPicker > Default
  - play with it
  > expect it to work as you'd expect, and to print out
    the selected days as they change
  - choose "In GB English"
  > expect Monday to be the first day
  > it still works
  - choose "With Selected Days"
  > expect Monday and Thursday to be pre-selecte
  > it still works
  - try with keyboard only

Change-Id: I644876a4b3a27c2cf71a30850388da033ac8b4d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320201
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Juan Chavez <juan.chavez@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Allison Howell <allison.howell@instructure.com>
2023-06-20 15:40:11 +00:00
Adrian Diaz e64386d8c5 fix blueprint assignment/quiz retry failed copy
fixes QUIZ-10827
flag = none

Test Plan:

- Create a master course with one new quiz
  - The new quiz can contain one single question
- Create a course
- Turn off sqs2quizlti container
- In the master course, in the blueprint
  menu create a new association with the last
  created course
- Go to the associated course
- Go to Assignments and wait for the copy to fail
  - If you wish you can mark it as failed
    like this:
    Assignment.last.fail_to_duplicate!
- When the assignment copy has failed you must
  see the retry button.
  - Observe there is no cancel button
- Click the retry button
  - Observe a new duplicate process has been
    triggered
- Go to Quizzes and repeat the same steps
  described for assignments
- Let's test the new quiz copy recovers correctly
- You can erase all sqs2quizlti messages and then
  start the sqs2quizlti
- Go to Assignments and wait for the copy to fail
  - If you wish you can mark it as failed
    like this:
    Assignment.last.fail_to_duplicate!
- Turn on sqs2quizlti
- Click the retry button.
  - Observe a new duplicate process has been
    created
  - After some seconds the copy must finish
- Now, let's test blueprint sync works
  - Go to parent blueprint
  - Go to the assignment
  - Change the title
  - In the blueprint menu click on "Sync"
  - Wait for the sync to finish
  - Go back to the child course
  - Go to the assignment
  - Observe the title has been updated

Change-Id: Ic170ba89fc422d69cf6f7f61b50296307c7715cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317026
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Logan <james.logan@instructure.com>
QA-Review: James Logan <james.logan@instructure.com>
Product-Review: Marissa Pio Roda <marissa.pioroda@instructure.com>
2023-06-20 14:40:44 +00:00
Chris Soto 1b26623782 ind-gradebook enhancement message students who
this is an iterative commit for the enhanced individual gradebook work
currently under feature flag. this commit adds the "Message Students
Who..." modal. it reuses the existing modal from a shared inst ui
component. it also moves apiRequest util & some refactoring.

closes EVAL-3225
flag=individual_gradebook_enhancements

test plan:
- build & tests pass

Change-Id: I7d67f62e153fc9ad7ffb878dea586ad7f6dda926
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320609
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-15 18:32:49 +00:00
Mysti Lilla abdcfc6242 Cleanup BP change page for captions
fixes LF-389
flag=media_links_use_attachment_id
QA-risk: low

Test plan
- Have a BP course set up
- Upload a media file with captions
- Go to the blueprint unsynced changes
  page and make sure media tracks
  give useful information to the user
  about what's being changed

Change-Id: I76462867c533981f176720b7529b544ab4102085
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320319
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: Mysti Lilla <mysti@instructure.com>
2023-06-14 18:58:56 +00:00
Drake Harper fbbae7a742 Respect drop assignment rules
closes VICE-3579
refs VICE-3580

flag=restrict_quantitative_data

Test Plan:
- create an assignment group
- add rules to assignment group
- create assignments in assignment group
- grade a student on applicable assignments
- as the graded student visit the react grade summary page
- assignments should be correctly dropped accoding to rules

Change-Id: I19d5760c22d17a6919da66591b0d2847003e6f91
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320445
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jody Sailor
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-14 18:56:43 +00:00
Matheus d2e0ef5ac3 Alter canvas media player failure feedback for attachment media
This should be JS tested, but LF-59 kinda got in the way, so it
would be good to figure that out, we're skipping a bunch of stuff...

closes LF-300
refs LF-59

flag=media_links_use_attachment_id

Test plan
1. Upload a media file in a course
2. Link to the media file in the RCE
3. Keep the RCE page somewhere accessible.
4. go to the files section and replace that
5. Reload the RCE page and check that you won't
see the old errors while @media_object is nil
(for me this window was like a minute)
6. Check that what you do see is a friendly
message directing the user to wai

Change-Id: I1eb4e7abeca6bb2dd430a575db787ee888c8c1c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320424
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: Luis Oliveira <luis.oliveira@instructure.com>
2023-06-13 23:14:59 +00:00
jen.smith 0676d5781c fix bug when deleting a grading scheme row
fixes EVAL-3250

flag = grading_scheme_updates

Test Plan
  - turn on 'Improved Grading Scheme UX' site
admin feature flag
  - create a new grading scheme or edit an exising one
with at least three rows
  - delete the last row
  - save the grading scheme
  - no error should occur and data should save correctly

Change-Id: I6a85b30fe13548603b327810542f1c3ec5e20df1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320307
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-13 17:41:35 +00:00
Paul Gray 183fea4a7c Remove autofill on assignment edit for 1.1 tools
test plan:

Install a 1.1 tool, create a new assignment, and choose "External tool"
for submission type. Choose a 1.1 tool, and select "submit." It
shouldn't update the assignment title.

Also create a resource link anywhere else in the course using the select
content dialog.

refs INTEROP-8109

flag=lti_assignment_page_line_items

Change-Id: I4e5afb515d0ac94de6853ee811f55111ee9701a8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320101
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-12 22:47:02 +00:00
jake.oeding 2b583b363d remove SMO feature flag
closes LF-164
flag=none

test plan:
* pre-req: you'll need to configure the studio lti
  in your dev setup to point to my studio beta. i
  will help
* you'll need to do the following with the new
  external tools dialog flag on AND with it off
1. find an RCE, open the studio lti
2. choose a video to insert, and de-select the
   'display media tabs' toggle
3. finish inserting the video
4. confirm you can launch the SMO tray from by
   clicking on the embedded video
5. repeat step 2 but leave the toggle selected,
   and again insert the video
6. confirm that you can't launch the tray from
   the embedded video

Change-Id: I21b17c8c33be5c5f78dade122bdd5e4f290586a8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320182
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: Jake Oeding <jake.oeding@instructure.com>
2023-06-09 18:40:09 +00:00
Jason Gillett 64eddec3ed Handle N/A case correctly when RQD is enabled on grade summary
closes VICE-3559
flag=restrict_quantitative_data

Test PlanL
1. Create a course with 1 assignment
2. Do not grade anything
3. As a student in that course, view your grades
4. the total should display N/A

Change-Id: I331d99424d016ca506e52bbd916a24388db8958d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/320125
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2023-06-09 15:13:43 +00:00
jen.smith f95ef0e87b Update UX for assignment grading schemes
New assignment grading schemes UX including a grading
scheme select and modal to manage course level schemes.

Replaces the old assignment grading schemes search modal

flag = grading_scheme_updates

Test Plan
  - Enable 'Improve Letter Grading Scheme Usability'
(grading_scheme_updates) site admin flag
  - Edit an assignment
  - Select 'Display Grade As' to Letter Grade
  - Test selecting of assignment grading scheme,
and adding, removing, editing, and managing of course
level grading schemes

closes EVAL-3154
closes EVAL-3155
closes EVAL-3156

Change-Id: I842cdd6591c916bffaff268e6d26639215924085
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319903
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-06-08 13:55:58 +00:00
Keith T. Garner 5ae303aa76 add ConnectedFriendlyDatetimes component
An accessibility concern popped up in voiceover for availability dates
when rendered as two components. The space that was part of the prefix
of the "until" clause was ignored, leading to the output of
"11:00amuntil" being read. To work around this, a new component is
created in this patchset that is a single rendered sentence that should
make screenreaders do the right thing.

flag=none

fixes EVAL-3079

test plan:
 - Ensure Assignment Enhancements feature is on
 - Create an assignment that has both an unlock/available dates and a
   lock/until date.
 - On a mac, turn on voiceover
 - As a student on the assignment page, keyboard navigate to the
   availability date.
 - Ensure the date is read correctly with a seperation between the first
   time and the "until" clause.

Change-Id: I8adf7e9a429c1b63d413b96213c7a8829b931537
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319750
Reviewed-by: Cameron Ray <cameron.ray@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: Sam Garza <sam.garza@instructure.com>
2023-06-07 23:49:43 +00:00
jen.smith 3b9a00019f Update UX for course grading schemes
New course grading schemes UX including a grading
scheme select and modal to manage course level schemes.

Replaces the old course grading schemes search modal
and the old course grading standards page.

closes EVAL-3151
closes EVAL-3152
closes EVAL-3153
closes EVAL-3158
closes EVAL-3159

flag = grading_scheme_updates

Test Plan
  - Enable 'Improve Letter Grading Scheme Usability'
(grading_scheme_updates) site admin flag
  - Access 'Settings' from a Course in the left nav menu
  - Test selecting, adding, removing, editing, and managing
of course level grading schemes

Change-Id: I31d33acff1b4400673bf8fe0ac031b03996faddf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319818
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-07 21:32:52 +00:00
jen.smith 189d5b5fc3 Create account grading settings UI tab view
New account grading settings page including
grading schemes and grading periods; replaces
prior 'grading_standards' page.

Also changes account left hand navigation menu to
link to this new page if the grading_scheme_updates
site admin feature flag is turned on.

This is the page that the new custom grading status
tab will be added to.

closes EVAL-3142
closes EVAL-3149
closes EVAL-3165
closes EVAL-3153
closes EVAL-2614

flag = grading_scheme_updates

Test Plan
  - Enable 'Improve Letter Grading Scheme Usability'
(grading_scheme_updates) site admin flag
  - Access 'Grading' from the Account left nav menu
  - Test adding, removing, editing of account level
grading schemes and grading periods.
  - Note: grading period code was moved and adjusted
only slightly; grading scheme code was heavily refactored
(jquery to inst ui)

Change-Id: If512e1a8c2b63f305b138d59e1cced5a2da890aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319568
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-06-07 20:52:22 +00:00
Jonathan Guardado 7469255d26 Upgrade WikiPage title on edit page
A new variant of the current WikiPage title using InstUI components.

closes LF-268
flag = wikipage_instui_input

Test plan:
1- Turn on the “permanent_page_links” FF.
2- Edit or create a new page on a course.
3- Expect to see a similar design.
4- Confirm that the new component is used via the browser inspector.
5- Expect the input to display the wiki page title.
6- Clear the title and try to save the change.
7- Expect to see an error message below the input with the text
 “You must enter a title”.
8- Expect the submission to be canceled.
9- Expect layouts to match the current version when content is locked
or not editable by the user

Change-Id: I453f44534cc9c9b79709f593b269e2a8a82e8f12
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319573
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: Jonathan Guardado <jonathan.guardado@instructure.com>
2023-06-07 16:06:13 +00:00
Aaron Shafovaloff ea3c547858 fall back on ListFormat polyfill
test plan:
  - test secondary info display in gradebook
    - properly shows lists of section or group names
  - note that TotalGradeCellFormatterSpec.js (uses Intl.ListFormat)
    also passes

repeat test plan on MacOS Catalina Safari 15
  recommended: use Sauce Labs, BrowserStack, etc.

refs EVAL-3093

refs FOO-3576

fixes CANVAS-FRONTEND-3WF4

flag=none

Change-Id: Ie69c342afb260a36faa705c476d33afdb08b0a9f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319674
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-06-02 22:38:03 +00:00
Mysti Lilla 312924ff0f Ensure Kaltura settings protocol matches window protocol
flag=none
QA-risk=low

Test plan
- Have notorious set up locally
- Have an assignment
- Check your Kaltura plugin settings
  protocol and make sure it matches
  what you're running Canvas under
- Make sure the save the protocol
  (you might have to save it as
  http before it actually saves it)
- In Speedgrader, go to a student's
  submission and try to upload a
  media comment
- Ensure it doesn't error

Note:
This was changed once and reverted because
it caused problems in prod:
020e02d49a

Change-Id: I453eb4be391136743b1e635634433472d8414624
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319595
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2023-06-02 18:03:56 +00:00
Paul Gray 7fdf1fba7f Ignore tool name for deep linking assignments
why

Previously, if a title wasn't included in a content item returned from
a deep linking request, the assignment would default to the tool name.
Now that these values are prepopulated in the form (instead of being
sent directly to the backend), it doesn't make sense to use the tool
name for the assignment, as this will always override the assignment
title.

test plan:
Create an assignment and choose "External Tool" for submission type.
Launch the LTI 1.3 test tool, and choose various combinations of values
for "Title" and line_item.label, and make sure they match the
behavior sepcifed by the `lti_assignment_page_line_items` flag.

Also test adding a deep linking resource to a module via the "Module +"
button, making sure that the select content dialog properly errors when
no value is passed for "Page Name."

fixes INTEROP-8107

flag=lti_assignment_page_line_items

Change-Id: I203cbf3bca719a4263059e36c4231bac95b2eed4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319548
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>
2023-06-02 13:08:12 +00:00
Matheus 57f00bb3f2 Use new media attachment route on upload
closes LF-328
flag=media_links_use_attachment_id

Test plan:
1. In the files area in a course (or user)
2. Open the preview for a video file
   (upload one if needed).
3. Try to upload a CC via the CC menu and
   check that the correct media_attachments/
   route was used and not media_objects/

Change-Id: I55e1c2fffe44de089c39b5eb96c4ba634198d242
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319253
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
2023-06-01 21:12:34 +00:00
jen.smith f0e5f1631d add a form input component for grading schemes
input component is used by both update and create
use cases. component is responsible for validation.
a containing component is responsible for server calls.
component is imperative for its save command because
the 'save' button itself always lives outside
of this component (in a modal action button row, etc)

flag = none

Test Plan:
  - tests pass

closes EVAL-3145
closes EVAL-3146

Change-Id: I528c2c1463b0d324be6e927d08639d4b4b4a6559
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319193
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-05-31 17:51:10 +00:00
Jason Gillett 9997a765c0 Update K5 student grade book to respect RQD
closes VICE-3518
flag=restrict_quantitative_data

Test Plan:
1. Open K4 course student grades
2. Verify that scores are correctly set to letter-grade

Change-Id: Id54dbf3d7d513faf09ad0f893786dfad2bee3a29
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319081
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: Jody Sailor
2023-05-26 22:51:30 +00:00
jen.smith 64eeb5aefe add grading scheme template view component
for viewing the default canvas letter grading scheme,
which has no id or perms, cannot be edited or
deleted, and has its own unique action (edit a copy)

flag = none

closes EVAL-3189

Test Plan:
   - tests pass

Change-Id: I635b6cabe92ab3e7b3fb0d91868847643eb16f26
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319165
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-26 17:30:04 +00:00
jen.smith b0c5846737 add grading scheme view component
flag = none

closes EVAL-3144

Test Plan:
  - tests pass

Change-Id: Ibb8c8022fcb9d5b9f165351a0569250f033b26be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319148
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-05-26 16:02:27 +00:00
jen.smith 49be933bd7 add react hooks for grading schemes
add react hooks for
- loading collection of grading scheme summaries
- loading collection of grading scheme details
- loading grading scheme detail
- loading default canvas grading scheme template
- creating grading scheme
- updating grading scheme
- deleting grading scheme

These hooks will be called by the new grading
scheme UX in the future to communicate with
the server

flag = none

Test Plan:
  - tests pass

closes EVAL-3143

Change-Id: I42363a3e4e680de725b1183a68d03f478455c941
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318988
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-25 21:08:54 +00:00
jen.smith fafb525713 add typescript types for grading schemes json models
Add new typescript types for the json response and put/post
payloads (as produced and consumed by the new rails grading
schemes json controller).  additional functionality will be
added to the ui/shared/grading_schemes package in the future.

closes EVAL-3147

flag = none

Test plan:
   - n/a
   - nothing in the UI is using these types yet

Change-Id: Ia3b8607c6cbcb67eb2d1c6d1c64bc1086c533bad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318983
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-05-25 20:39:58 +00:00
Jason Gillett d98cdb2cee Update GradeFormatHelper to not use ENV variables directly
Currently inorder to use the GradeFormatHelper with RQD settings
the env variable needs to be saved as restrict_quantitative_data

However other places in canvas save this variable differently. Making it unusable.

This change de-couples the GradeFormatHelper from having to have
the RQD setting exposed in a specific way in the environment

refs VICE-3518
flag=restrict_quantitative_data

Test Plan:
1. Tests pass and no functionality changed.

Change-Id: Id4b9907005d771571fb479ec91942fd5ed2d770b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319070
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-25 16:38:27 +00:00
Omar Gerardo Soto-Fortuño 4b9753c459 Convert percentage to Letter Grade on GradeDetails AG when RQD
closes VICE-3517
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a sub account with a C4E enabled.
  - Have all the setup for RQD on a C4E course.
  - As a student, visit /courses/[Course ID]#grades.
  - Click on View Assignment Group Totals. It should
      display Letter Grades instead of percentages.

qa risk: low

Change-Id: I457d0a6e61dc3f5f83cb2f2ea2d4ab2ad133bb53
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/319032
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jody Sailor
2023-05-25 15:10:17 +00:00
Kai Bjorkman 609038eb19 set hide_in_gradebook upon quiz create/edit
Allows for 'hide_in_gradebook' to be set on the new_quiz (assignment)
object when the checkbox is selected when creating/editing the quiz.

flag=hide_zero_point_quizzes_option
closes EVAL-3050

Test Plan:
    - run migrations
    - Create a New quiz
    - Set the points possible to zero
    - select the checkbox the appears and ensure the checkbox above is
    automatically checked and disabled
    - Save the quiz and ensure there are no errors
    - Ensure you can edit the quiz normally and toggle this option on
    and off

Change-Id: Idb126fa4dcc44b037b32468aa54afb26185bd982
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318180
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Jackson Huang <jackson.huang@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-24 17:53:30 +00:00
Ákos Hermann 4908dcb6c0 Add mobile offline feature flag
Added offline feature flag for the mobile apps.
The feature flag will be checked via 'api/v1/features/environment',
so it is also added to the JS_ENV.

closes MBL-16729
flag=mobile_offline_mode

test plan:
- check if the flag is setup correctly
- the flag will only be used on mobile apps

Change-Id: Ic378bf9f655ba3740c9501269956cf07b8ca3622
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318853
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Balint Bartok <balint.bartok@instructure.com>
QA-Review: Szabolcs Fuzi <szabolcs.fuzi@instructure.com>
QA-Review: Nemere Kristof <kristof.nemere@instructure.com>
2023-05-24 08:22:25 +00:00
Jackson Howe c196f5d48f Remove new_quizzes_modules_support flag
closes LF-290
flag = none

Test plan:
 (Requires a NQ connection to test)
 - Go to a course's modules page
 - Click '+' to add content to a module
 - Select each content type in the dropdown, and expect to see
   '[Create Assignment]', not '[New Assignment]' (or quiz, page, etc)
 - Select Quiz
 - Expect to be able to choose between NQ and CQ
 - Create a NQ and then a CQ
 - Open each quiz
 - Expect the quizzing engine to match the selected engine

Change-Id: I8a54874a78aace2c6a97250f704ecc0d6d61cb77
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318759
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-23 16:44:03 +00:00
Omar Gerardo Soto-Fortuño 55ba353dce Convert percentage to Letter Grade on GradeDetails when RQD
closes VICE-3516
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a sub account with a C4E enabled.
  - Have all the setup for RQD on a C4E course.
  - As a student, visit /courses/[Course ID]#grades.
  - Where it says the Total on the first line below the
      the tabs, it should display a Letter Grade instead
      of the percentage.

qa risk: low

Change-Id: I5e087030048ca0961ad229d2725cb98ff5f51283
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318488
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Suggs <aaron.suggs@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Allison Pittler <allison.pittler@instructure.com>
2023-05-23 14:16:32 +00:00
Jackson Howe 6b14dcf375 Remove rce_better_paste flag
closes LF-284
flag = none

Test plan:
 - Spot check that the test plan in commit
   13323b04ed still works as outlined

Change-Id: I76309969b8ef63368fc18896bc96f35bf93c6d0d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318573
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-22 20:14:44 +00:00
Jackson Howe 3af61de394 Remove scale_equation_images flag
closes LF-275
flag = none

Test plan:
Start the mathman service:
 - Clone the mathman repo
 - Run `npm install` and `node app.js` if running canvas locally,
   else follow the instructions in the README to set up in docker
 - In a canvas rails console, run:
   `Setting.set('equation_image_url', '<mathman url>/svg?tex=')`
   note: mathman url is either http://localhost::8000 (local) or
   http://mathman.docker (docker)
 - Restart rails server

Run the test:
 - Open an RCE
 - Add an equation (like 3x - 2)
 - Change the text size to something massive
 - Save
 - Expect the rendered equation to match the text size

Change-Id: I940231feafb5730b9927493f4c6232b6c3145de1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318349
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: Jackson Howe <jackson.howe@instructure.com>
2023-05-22 18:43:37 +00:00
Kai Bjorkman b9767bac47 add hide zero point quiz checkbox
flag=hide_zero_point_quizzes_option
closes EVAL-3045

Test Plan:
    - ensure when creating a new quiz and the points possible is 0
    that this new checkbox is not shown of the ff is disabled
    - enable hide_zero_point_quizzes_option ff
    - create a new quiz and enter 0 as the points possible
    - ensure a checkbox labeled 'Do not display in gradebook or the
    student's grade page' is displayed
    - change the points possible 10
    - ensure a checkbox labeled 'Do not display in gradebook or the
    student's grade page' is not displayed (only displayed when 0)
    - enter 0 back into points possible and select the checkbox
    - ensure the 'Do not count this assignment towards the final grade'
    checkbox is disabled and checked with a message reading : 'This
    is enabled by default as assignments can not be withheld from
    the gradebook and still count towards it.'
    - ensure when the 'Do not display in gradebook or the
    student's grade page' checkbox is hidden or unchecked after being
    checked that the 'Do not count this assignment towards the final
    grade' is enabled and remains checked.

Change-Id: Icd51fcd43590b8c91a8a3b208f6b8747e43b9480
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317372
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Christopher Soto <christopher.soto@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-22 18:17:22 +00:00
Jason Gillett 72a12c9527 Show points possible to teachers on assignment index page
closes VICE-3442
flag=restrict_quantitative_data

Test Plan:
1. as a teacher navigate to assignment index page
2. verify points possible appears on assignments
3. Switch to student view
4. verify points possible are not visible.

Change-Id: I34cc86cc732bb3bf60103adeb2ab3fe1aae5d5eb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318561
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2023-05-22 15:38:11 +00:00
jake.oeding 1c5b640d98 adjust copy in modules and edit course link tray
closes LF-295
flag=module_publish_menu
flag=rce_ux_improvements

test plan:
-turn on the flags
-go to a page with an RCE
-insert a course link (any type)
-click on link, link options, and you should
 see the new tray open
>confirm the copy change is reflected and makes sense
-next go to modules
-click on the publish all button, then continue
>make sure you have the correct copy for progress bar
 and stop button
-click on the button again and select unpublish, continue
>confirm you have the unpublish copy for the progress bar

Change-Id: Ida46fb2ce654032f4037083bd725b0b7c1edcb8d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318617
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: Allison Howell <allison.howell@instructure.com>
2023-05-22 14:36:07 +00:00
Jackson Howe 30fc2959b4 Remove files_dnd flag
Also removes UploadDropZone component (plus its spec file and css
resources) since it was only used when the flag was disabled.

closes LF-272
flag = none

Test plan:
 - Go to /files
 - Drag a file from your computer into the files list
 - Expect it to be uploaded
 - Drag the same file again
 - In the modal that appears (since you're uploading a duplicate file),
   expect to see a "Skip" button

Change-Id: I325f69fbaad0a40b411fa94189bfb89f1e267055
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318334
Reviewed-by: Sarah Gerard <sarah.gerard@instructure.com>
QA-Review: Sarah Gerard <sarah.gerard@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-18 21:26:12 +00:00
Jackson Howe ecff6e1ce9 Remove rce_improved_placeholders flag
closes LF-276
flag = none

Test plan:
 - Spot check inserting image, video, audio, and other file types
   into the RCE using copy/paste, drag-n-drop, and using the upload
   dialog
 - Expect content insertion to work as before
 - Expect the placeholder to look nice

Change-Id: Ifde85538dee72f957832595f666f0a436b1d16a1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318442
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-18 17:21:00 +00:00
Jonathan Guardado adec94d8c4 Remove buttons_and_icons_cropper flag
closes LF-31
flag=none

test plan:
- Passes Jenkins
- Confirm that the Icon image cropper works as usual

Change-Id: Id8b0e814b2f077cf9fa168b88e5b7098fd5a23b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318346
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
2023-05-17 19:37:24 +00:00
Martin Yosifov 910a92b6f2 Update Alignment Summary to show new quizzes with aligned items
closes OUT-5470, OUT-5598
flag=outcome_alignment_summary_with_new_quizzes

Test plan:
- Enable Improved Outcomes Management FF
- Enable New Quizzes Included on Outcome Alignment Summary Tab FF
- Download g/316783 in Outcomes-Service
- Start Canvas, Quiz API, Quiz LTI and Outcomes-Service
- Go to Account > Courses and create course with outcome
- Create a new quiz and align the outcome to that quiz
- Go to Alignment Tab and expand the aligned outcome
- Verify that new quiz alignments for that outcome match the
desktop design referenced in the ticket
- Open devtools and enable responsive mode
- Resize browser window and expand the aligned outcome
- Verify that new quiz alinments for that outcome match the
responsive design referenced in the ticket

Change-Id: I7f2c5f29aad4440691d6ca6a7d0cc813dc09c64e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317210
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Wilmer Corrales <wilmer.corrales@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Wilmer Corrales <wilmer.corrales@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2023-05-17 18:04:09 +00:00
Omar Gerardo Soto-Fortuño 60646a0f22 Converts GradesSummary grade to Letter Grade when RQD
closes VICE-3515
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a setup with Canvas for Elementary.
  - Have a student with a few graded assignments.
  - Visit the Dashboard -> Grades tab.
      Or navigate to /#grades.
  - Progress Bar should be gone and percentage should
      be shown as Letter Grade if RQD.

qa risk: low

Change-Id: I3a750f8082c8f77ce3d91c1d52f59426e79ee0bc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318397
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jody Sailor
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-17 18:00:18 +00:00
Chris Soto a889a051f5 simplifies types for fe grade calculators
AssignmentGroupGradeCalculator and CourseGradeCalculator were using
types for full submission and assignment when only using a few props
from each type. this commit simplifies the types to only include the
needed props.

test plan:
- all tests passing

Change-Id: Ib3a1335eb8db0975c8198feb9bd5edf72e10a585
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318324
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>
2023-05-16 21:34:44 +00:00
Omar Gerardo Soto-Fortuño abcdbf22b0 Hide points from GradeRow when RQD is on
closes VICE-3514
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a sub account with a C4E enabled.
  - Have all the setup for RQD on a C4E course.
  - As a teacher, create an assignment with 10 points.
  - As a student, visit /courses/[Course ID]#grades.
  - It will normally show Out of 10 points.
  - With this PS it shouldn't show it.

qa risk: low

Change-Id: I51edb8909f4a3ce4492af8beb950834cde75c242
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318200
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jody Sailor
2023-05-16 21:02:22 +00:00
Aaron Shafovaloff 53012299d0 Make Gradebook selector more consistent
Also: adds view / JS feature for enhanced individual gradebook

Test plan:
  - with individual_gradebook_enhancements feature flag off
    - go to the gradebook
    - click on the gradebook selector
    - change between the various gradebook variants
  - with individual_gradebook_enhancements feature flag on
    - go to the gradebook
    - click on the gradebook selector
    - change between the various gradebook variants
    - verify that one can select the enhanced invididual gradebook
      (this will be blank)

flag=individual_gradebook_enhancements

Closes EVAL-3107

Change-Id: I1da357577a43ce178326ed422d0baeb2fa578982
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317696
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-05-16 18:13:50 +00:00
Aaron Shafovaloff 9c779047b6 resolve FlashAlert type issues
test plan:
  - existing tests pass

flag=none

Change-Id: I9774b1a65fa50e611364525d872516eef624a22d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318184
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-05-15 19:01:56 +00:00
Yona Appletree d542842994 Update serviceRCELoader to add externalToolsConfig props
Supports new external tools dialog config in legacy RCE loader.

Refs LF-204
flag=none

QA Risk Low

Test plan:
- Load an RCE in a page that uses serviceRCELoader and ensure it loads

Change-Id: I227c2317ab9c51f509c592c07c9d4cf76598ac65
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318087
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2023-05-15 16:37:43 +00:00
Ed Schiebel 4224962406 leave focus on primary button when startting mod bulk pub.
closes LF-246
flag=module_publish_menu

test plan:
  - Open bulk publish modal
  - click "continue"
  > expect focus to remain there

Change-Id: Ib0ff0aed1cd182b69eacf70c6ea01174c81a86f6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317897
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: Allison Howell <allison.howell@instructure.com>
2023-05-15 13:54:46 +00:00
Ed Schiebel c09b4ea26e Do a better job gettiing SR messages get read for mon. bulk pub.
This commit makes a few changes
  1. remove @ts-ignore and fix errors triggered by the recent removal
     of allowImplicitAny
  2. add a couple alerts to distinguish between a bulk publish job that
     failed and one that was cancelled.
  3. by changing many of the SR alerts to be 'polite' rather than
     'assertive', they get read after the publish all button gets focus
  4. #3 triggered the need to convert FlashAlert.js to typescript
  5. when the modal was closes, VO was reading information about it
     again and interrupting alerts even though it was closed. Change
     the rendering so the Modal is not rendered at all if it's not open.
  6. in safari, the modal doesn't automatically return focus to the
     publish all button when closes (I think this is because the
     trigger was really the menu item and not the button) so
     ContextModulesPublishMenu has to manually make sure this
     happens

closes LF-32
flag=module_publish_menu

test plan:
*** you should try this in a couple broswer+sr combos ***
  - have some modules with items
  - with a screenreader on
  - Publish All -> pub or unpub module + items
    1. let run to completion,
    2. close the modal and let run to completion,
    3. stop the publish
  > expect the visual alerts to be read by the screenreader
  > expect focus to return to the Publish All button (unless you
    moved focus somewhere else, then it should stay there)

Change-Id: I3a30956537885ae1c64d3e07232adba5cd18b45b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317796
Product-Review: Allison Howell <allison.howell@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2023-05-15 13:54:35 +00:00
Jonathan Guardado a1a18c75f8 Auto subscribe support on account calendars page
subscription dropdown to support auto and manual
configurations in the account calendars admin page

closes LS-3983, LS-3984
flag = auto_subscribe_account_calendars

Test plan:
- Enable the feature flag
- Go to the account calendars admin page
- Notice the new dropdown next to each sub-account
- Change an account calendar subscription type from Manual to Auto
and save the change
- Expect to see a confirmation modal with a message related to the
change you are about to perform.
- Press Confirm
- Expect the change to be saved
- Change the account back to Manual subscription and apply the change
- Expect not to see the modal this time.
- Change the visibility of one account calendar and apply the change
- Expect not to see the confirmation modal.
- Confirm that the subscription dropdown is only enabled when the
account calendar is checked/visible

Change-Id: I68c1f4347ed22a59ac80efc316037f8b5f92d496
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317826
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: Jonathan Guardado <jonathan.guardado@instructure.com>
2023-05-12 23:02:06 +00:00
Yona Appletree 224b3cfa8c Fix TS errors in select_content_dialog
Adds ENV types for context modules

Refs CFA-11
flag=none

QA Risk Low:
- This shouldn't change any emitted javascript at all.

Test plan:
- automated tests pass

Change-Id: Ief8e1a9f845648f861f61d4e3557260f6a272714
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/318026
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
2023-05-11 22:34:27 +00:00
Yona Appletree a0fca4ed79 Type script safety for INST and ENV
Closes none
flag=none

QA Risk Low:
- This shouldn't change any emitted javascript at all.

Test plan:
- automated tests pass

Change-Id: I1a7f0976d72bcbb152b498dec82bf20385107dd8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317043
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: Yona Appletree <yona.appletree@instructure.com>
2023-05-11 17:50:08 +00:00
Yona Appletree d136523768 Upgrade eslint packages, clean up ignores
Update some eslint packages removing the need for
some eslint-disable directives.

Changed react/no-unknown-property to warning since
we have several instances of it already in the
codebase.

Refs CFA-5
flag=none

Test plan:
- Automated tests pass

Change-Id: I4967d53477de7c4effe8861ee71e735be33f6b14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317894
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>
2023-05-10 23:22:15 +00:00
Evan Battaglia 7b6c5ca3ae Support for editing LTI 1.3 collaborations
The collaboration edit link already passes in a content_item_id to the
`retrieve` endpoint. In ExtgernalToolsController#retrieve, this is used
in the LTI 1.1 path to make a content_item_id in the data for the
content item success URL, but it is not used in the LTI 1.3 path. This
commit:

1. passes thru the content_item_id into the `data` param (a JWT) for the
  deep linking return URL
2. In the deep-linking response page, includes content_item_id as
  "service_id" (following LTI 1.1 nomenclature) in the postMessage, and
3. in the collaborations code, correctly extracts the content_item_id
  from the the postMessage sent by the deep_linking_response page.

closes INTEROP-7986
flag=none

Test plan:
- Install the LTI 1.3 test tool
- From the course collaborations page, create a new collaboration using
  the tool
- Update the collaboration to have an updateUrl, e.g.:
    c=ExternalToolCollaboration.where(workflow_state: :active).last
    c.data['updateUrl'] = "http://web.lti-13-test-tool.docker/launch"
    c.save!
- Refresh the collaborations page and click the "edit" button to launch
  the tool
- In the tool, enter a new value in the title field, and send the link
  back to Canvas. The collaboration should be modified with the new
  title -- no new collaboration should be created

Change-Id: Iac13b5a2a5b3034a26cfb8541d34749c89704b91
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317193
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>
2023-05-10 23:13:25 +00:00
Paul Gray 58a743fe31 Prefill assignment edit form from DL lineItem
test plan:

Make sure assignments edit page still works

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

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

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

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

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

```
Assignment.last.line_items
```

flag=lti_assignment_page_line_items

fixes INTEROP-8003

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

flag = none

Test plan:

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

Change-Id: Ifaf98a4a6fc76a987c43cc1240e45d85ca02afda
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314865
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
Reviewed-by: Steve Mcgee <steve.mcgee@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
2023-05-10 16:38:18 +00:00
jake.oeding 2feada772c backport SMO logic to old external tool dialog
closes MAT-1355
flag=rce_show_studio_media_options

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

Change-Id: Iae2767015742bbfb0eb7b07ae87dc922e979d98f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317818
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
2023-05-10 16:25:48 +00:00
Jackson Howe 7d0a6dd2b2 Add module name to publish button SR text
closes LS-3995
flag = module_publish_menu

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

Change-Id: Ibd12dd5f9d34f03107ad6777e32fc9e7d8bca035
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317664
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-09 15:41:02 +00:00
Jackson Howe 6e0f3504c0 Put focus on close button when bulk publishing
closes LS-3996
flag = module_publish_menu

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

Change-Id: Ib66cd4dff1bd4701c69083fab2c5f1bcbb5a846e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317444
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-05-08 17:09:21 +00:00
Charley Kline bf720fe249 Typescriptify fuzzy relative time and move to ui/shared
flag=none

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

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

Change-Id: I51aef1eedc37a35b1e6c44e734c751d0b8fd015d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317199
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-05-08 14:26:18 +00:00
Aaron Shafovaloff ee6c9d4366 Remove deprecated use of React.FC
Test plan:
  - Existing tests pass

flag=none

Change-Id: I9edba9d33fce925d94b0ea73e2eb2e6471cd57c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317573
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-05-05 23:02:06 +00:00
Aaron Shafovaloff ce864bb5ff turn on noImplicitAny for typescript
also: remove tsconfig-strict.json

also: remove tsc precommit hook

test plan:
  - existing tests pass

flag=none

Change-Id: Ia2b30d9d77fdb55159de4fe16f3ee1826f43aad5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317197
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-27 21:34:07 +00:00
Yona Appletree e115c330ca Type safety and prop cleanup for RCE components
Closes MAT-453
flag=none

QA Risk Low

Test plan:
- automated tests pass

Change-Id: I615b91dd03fb865bf5b4390702d320e2b88feb39
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316757
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: Yona Appletree <yona.appletree@instructure.com>
2023-04-27 19:39:52 +00:00
Ed Schiebel 80874dd213 Update duplicated items when bulk publishing 1 module
from the post-batch-publish fetch results.

closes LS-3993
flag=module_publish_menu

test plan:
  - have a module with stuff in it
  - have a 2nd module with sone of the same stuff in it
  - pub/unpub one of the modules + items
  > expect the items duplicated in the other module to
    be updated with the correct publish state

Change-Id: I022f6335c988950b08b961b0c1a5c5ce178dd763
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317175
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jonathan Guardado <jonathan.guardado@instructure.com>
QA-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2023-04-27 19:14:29 +00:00
Aaron Shafovaloff e9671c9620 Speed up use of Intl formatters
test plan:
  - existing tests pass

flag=none

refs EVAL-3093

Change-Id: I627a409014be9afb073b26b7c70f16ba4977738d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317155
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-04-27 18:42:06 +00:00
Jason Gillett 78e88659ba Restore all options on assignment create/edit with RQD
Since the original commit that hid these options were in coffee script
And those files have since been decaffeinated, a simple revert won't work.

closes VICE-3503
flag=restrict_quantitative_data

Test Plan
1. Act as  a teacher in a course with RQD on
2. Create a new assignment
3. Verify that all display grade as options appear
4. edit an assignment
5. Verify that all display grade as options appear

Change-Id: Id5b4157c7ce4109a44e8f66549ecef84bde2adc2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317166
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2023-04-27 18:41:44 +00:00
Aaron Shafovaloff 867c59dd8c replace $.toSentence with Intl.ListFormat
test plan:
  - test secondary info display in gradebook
    - properly shows lists of section or group names
  - note that TotalGradeCellFormatterSpec.js (uses Intl.ListFormat)
    also passes

closes EVAL-3093

flag=none

Change-Id: Ief7ffaa831cebc4540c6f962f4792978042f7023
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317100
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-27 15:42:15 +00:00
Aaron Shafovaloff b8ab0d98fe remove $.underscore from instructure_misc_helpers
also removes redundant str-underscore.js

test plan:
  - new specs pass

flag=none

refs EVAL-3087

Change-Id: I2c1beb4183be2ed733899d23bee87efae62b90cd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317112
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-27 14:55:38 +00:00
Jonathan Guardado 3e477b0c81 Don't enable the continue button when canceling jobs
fixes LS-3963
flag=module_publish_menu

test plan:
- Make some changes and publish them, while publishing click the
Stop button
- Expect the jobs to be canceled and the modal to close without
enabling the continue button
- Repeat the process using the unpublish option

Change-Id: I7f1fcb6967665b457010ee188624052fb6c52a17
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316941
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
2023-04-27 00:35:21 +00:00
Yona Appletree 428b086c87 Rename some js -> ts before other changes
Refs MAT-453
flag=none

QA Risk Very Low

Test plan:
- automated tests pass

Change-Id: I3af4310a11edac2efa49504c049b24244475f221
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316975
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Yona Appletree <yona.appletree@instructure.com>
2023-04-26 18:04:24 +00:00
Aaron Shafovaloff ea54d5cc3e move obj-select package to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: I9f00ddb761c0ae6c46d7079d07fe11f48c604dd1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316705
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-26 16:32:13 +00:00
Aaron Shafovaloff fb484eac8b move jquery-tree to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: Ifc493c2b45a67f2f8208e36521d322aa9ca5af08
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316708
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-26 16:29:04 +00:00
Aaron Shafovaloff e07e739eaa expose lodash-underscore types
removing the IIFE from lodash-underscore exposed the types

lodash is preferred, but this provides types for existing code.

bonus: flattenObjects was moved to a shared utility function
  it is only used once

test plan:
  - existing tests pass

flag=none

Change-Id: I7ec207f15a326bdefe75897f5c627dbd3d0d0c7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316677
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-26 16:26:25 +00:00
Ed Schiebel 314b157af9 Update the green bar on pub/unpub'd module items
when you toggle a single module item's publish state, the green bar
at the item's left edge is not updated.

closes LS-3962
flag=module_publish_menu

test plan:
  - have couple modules with items. have at least 1 item
    in multiple modules
  - click on the pub/unpub button for a single item
  > expect the green bar to be there if the item gets published
    and not if unpublished
  > if the item is in >1 module, expect them all to have the
    right green bar state
  - try publishing/unpublishing a whole module + items
  > expect the green bars to reflect the published state
  > expect items in >1 module to have the right state in all
    modules
  - try publishing/unpublishing all modules + items
  > expect the green bars to reflect the published state

  > expect the greeen bars to still work correctly on the assignments
    and quizzes pages

Change-Id: I2bcd0e760e5a9e53f4036b71c15b8b6a1aad6f31
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317021
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-26 16:24:25 +00:00
Ed Schiebel 30b97decd9 Have bulk publish modal text unique to skipping items or not
closes LS-3961
flag=module_publish_menu

test plan:
  - from Publish All, select modules + items
  > expect the note in the modal to talk about modules and items
  - from Publish All, select modules only
  > expect the note in the modal to talk about modules only

Change-Id: Id54c98377dd192f4d54c64295844ed506af85f4c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317016
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-26 15:25:24 +00:00
Ed Schiebel ad7db0e58e Defer updating module items until the refetch completes
We disable all the items, do the batch update, then fetch the
retulting publish states, then and only then re-enable and
update the module and its items state. This keeps module item
publish states from flashing the wrong state before we receive
the correct one.

cloese LS-3960
flag=module_publish_menu

test plan:
  - require copyright in your course
  - have a moduile with a file published item
  - from the module, unpublish module + items
  > expect all the items to become unpublished
    except for the file
  > expect the file item's pub button never to flicker
    with unpublished then correct to published

Change-Id: Ia84e08348403befaa7b39b2f1f14e09ee716952e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316966
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-26 12:31:24 +00:00
Ed Schiebel 1f986cdad7 Improved bulk update modal text
and queue the delayed job at HIGH_PRIORITY rather than the
default LOW_PRIORITY
(see
https://instructure.atlassian.net/wiki/spaces/CE/pages/85500887059/Background+Workers+Jobs
for background on delayed job priorities)

closes LS-3969
flag=module_publish_menu

test plan:
  - in a course with a module
  - select Publish All -> anything from the menu
  > expect the new text in the modal (broken into 2 paragraphs
    after consulting with Heather)

Change-Id: I161958226bdb0f2b7fba3f29c67e5a13926d008d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316940
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-25 20:25:27 +00:00
Ed Schiebel e88e917bc1 Init module publish button for duplicated modules
closes LS-3966
flag=module_publish_menu

test plan:
  - in a course with at least 1 module with some items
  - from the module's kabob menu, Duplicate
  > expect the new module to have the publish menu button
  - select Publish module + items from the menu
  > expect the menu button to be disabled while publishing
  > expect the items to be disabled while publishing
  > expect the new module to be published
  > expect the items to wind up published too (if they should be)

Change-Id: I8940cf9fa2d1bba25f5622bf47941836b3e8ed88
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316936
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-25 20:25:14 +00:00
Ed Schiebel 27b9d0e46b Catch newly added module items while disabling for bulk publish
The reason newly added item's pub button didn't get disabled is
because it's data-* attributes are all unset. At first I thought
it made sense to get those set, but in the current code this
is done by the erb template and not in the UI, so I decided
not to touch that logic. The fix, passing the HTML element
to the updateModuleItemPublishedState instead of the item id
(which is missing) is actually better logic there than
before, and solves this problem.

closes LS-3964
flag=module_publish_menu

test plan:
  - in a course have a couple modules with items
  - from the modules page, add an item to one of the modules
    bonus points for adding an item that's in a different module
  - pub/unpub with items the module you added the item to
  > expect the newly added item's pub/unpub button to be disabled
  > expect the item in the other module to be disabled too

Change-Id: Ic4eafd60c2acc66ee62bf0e0ea31acfd8be73f77
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316918
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-25 20:25:02 +00:00
Ed Schiebel 684f6bf34f Add SR messages to bulk module publishing
closes LS-3955
flag=module_publish_menu

test plan:
  - with the SR on
  - with a couple modules with items
  - publish/unpublish all with items
  - click "Continue" in the modal
  > expect the Continue button to change to Stop Publishing
  > expect teh SR to tell you what happens if you click it
  > expect a SR message once progress is > 0

  - repeat, but refresh the page before publish completes
  > expect progress SR messages as the publish continues
    to completion

Change-Id: I422e32af802dd45563bc850433a38952bfb79d7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316655
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-25 20:24:04 +00:00
Aaron Shafovaloff 0dff4122cd move make-promise-pool to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: I983d985d6d81dc4ef77af98d3a647fa4a4d2eee1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316713
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-25 17:45:25 +00:00
Ed Schiebel 046c35e036 Correctly set assn w/ submission module item pub state
after bulk publish

closes LS-3968
flag=module_publish_menu

test plan:
  - have a module item that's an assignment with student
    submittion(s)
  - Publish All -> unpublish module + items
  > expect the assignment's publish state to remain published
  > expec any other module items to show as unpublished

Change-Id: I0be7a9870c5ab9f4327d4f7df9260fb157d3e768
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316793
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-25 16:02:47 +00:00
Ed Schiebel eba5b37c02 Set pub btn states if page refreshed while publish is in-flight
closes LS-3951
flag=module_publish_menu

test plan:
  setup: it will be helpful if you put a `sleep(10)` in
  app/models/course.rb#batch_update_context_modules at the
  top or  bottom of the modules.each loop.

  This should work from the modules page and the course
  home page (when Home is Modules)

  - have at least 2 modules with some items in your course
  - from Publish All menu, publish or unpublish all + items
  - click Continue in the modal
  - when the progress bar moves, refresh the page
  > expect the Publish All button to have a spinner and
    be unresponsive to clicks
  > expect each of the modules' pub/unpub button to have a
    spinner and be unresponsive to clicks
  > expect all the module item pub/unpub buttons to be dimmmed
    and be unresponsive to clicks
  > expect the spinners to eventually go away and the page to be
    funtional once the publish job completes

Change-Id: Ib94e19eb59a42c910c7d91c39511de9597d65380
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316534
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-24 20:40:26 +00:00
Aaron Shafovaloff e00f1bb4f8 remove compose package
test plan:
  - existing tests pass

flag=none

Change-Id: I9639333fec600678a3126b2f1ffb5fdd2d800d23
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316704
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-24 19:07:31 +00:00
Jackson Howe d76bcb8f3c Show account events in important dates sidebar
Make account calendar events marked as important dates appear in the
important dates sidebar. These events will have the default color (very
dark gray). Also includes these calendar contexts in the context modal
if the number of contexts is greater than the max that can be shown at
once.

closes LS-3958
flag = none

Test plan:
 - As an admin, make some account calendar events and mark some as
   important dates
 - As a k5 student, subscribe to the account calendar and go to the
   dashboard.
 - Expect to see the important dates events present in the sidebar
 - In a rails console, find your root account, then run:
   account.settings[:calendar_contexts_limit] = 3
   account.save!
 - As a student on the dashboard, click the settings button in the
   important dates sidebar
 - Expect the account context(s) to appear
 - Select/deselect the account context(s) and expect the events
   displayed in the sidebar to update appropriately.

Change-Id: I26064b29984587803c1d58d507234d7ad6415d6d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316668
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-04-24 17:53:47 +00:00
Eric Saupe 6d5d958c17 Remove page refresh when job is stopped
This removes the window.location.reload() that was being called when
the progress is stopped as it is no longer needed with the state fetch
that happens when the job ends for whatever reason.

This patchset also includes a bit of rearranging of the
ContextModulesPublishMenu.tsx that the TypeScript linter was really mad
about and does not affect the functionality.

fixes LS-3959
flag=module_publish_menu

test plan:
- It's easiest to add a sleep(10) at the bottom of the loop in
app/models/course.rb#batch_update_context_modules to stop the progress
- Have a course with a few modules and module items in them
- Start a Publish All job for the course
- Once some progress has been made click Stop
- Verify the modal closes and statuses are updated for what was completed
and the page does not refresh

Change-Id: I7121fb1355af752836e7c2a5c7771265cb9da55e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316670
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: Jackson Howe <jackson.howe@instructure.com>
2023-04-24 16:57:14 +00:00
Aaron Shafovaloff 4555e54ca7 move escape-regex to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: I5649a6a2f31cea974fac32e9bbff367e0e217007
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316714
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-24 15:57:07 +00:00
Charley Kline e6c2fb3a75 Coalesce toQueryString and query-string-encoding
Closes FOO-3485
flag=none

There were two separate shared utils for encoding a JavaScript
object into a URL query string; this combines them both into
a single place. There are now two ways to encode; they have
slightly different type signatures (array of objects vs a single
object) but one just calls the other after some massaging.

We will prefer toQueryString() in new code as it does a much
better job of matching the "PHP-style" query string encoding
that our Rails code seems to prefer; there's a wrapper method
for the legacy encodeQueryString one.

Tests were also coalesced and converted to Jest, and more test
cases were added for the kind of tricky legacy encodeQueryString
method.

Test plan:
* automated tests pass

Change-Id: Ib6f0246b3f438646967b233b72a2632ae2de9159
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316612
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-21 23:49:13 +00:00
Ed Schiebel 55a4767513 Handle errors from failed bulk publish requests
closes LS-3950
flag=module_publish_menu

test plan:
  - have a course with a couple modules with some module items

  Publish One Module
  - in devtools, take the network offline, or kill your canvas server,
    or
return render json: { message: "whoops" }, status: :bad_request
    from context_modules_api_controller.rb#update
  - pub/unpub one module (with or without items)
  > expect the button to get a spinner
  > expect an alert telling you something went wrong
  > expect the module's publish button's spinner to go away

  Publish All
  - in devtools take the network offline, or kill your canvas server,
    or
return render(json: { message: "whoops" }, status: :bad_request)
   from context_modules_api_controller.rb#batch_update
  - pub/unpub all modules, with or without items
  > expect the Publish All button to get a spinner
  > expect an alert telling you something went wrong
  > expect the spinner to go away

  Monitor progress failure
  - have at least 2 modules with items
  - in app/models/course.rb#batch_update_context_modules,
    add a sleep(10) at the bottom of the modules.each loop
  - from Publish All, pub or unpub modules + items
  - wait for the progress bar to move
  - from devtools, go offline
  > expect an alert telling you something went wrong
  - go back online and refresh the page
  > expect the Publish All button to still have its spinner
  > expect the bulk publish job to complete

Change-Id: I3659f69b9ce0ff70580eb0edb8c3b41c8cd5a8d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316267
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>
2023-04-21 12:19:49 +00:00
Eric Saupe 4e7e1b6f44 Enable bulk publish menu and icons for newly added modules
Some changes to the way modules are selected were needed because of the
way that new module DOM elements are added. They don't have updated
ids or datasets until a full page reload so we need to get certain values
from other places that are more reliable.

fixes LS-3952
flag=module_publish_menu

test plan:
- Create a course
- Go to modules page
- Verify Publish All menu is disabled
- Create a module
- Verify Publish All menu is enabled
- Verify the module publish menu is enabled
- Verify both menus work and update the module accordingly
- Add more modules without page reloads and verify they work

Change-Id: Ibeade6972c114ff4e37e3c6df2a6a762ea852c28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316447
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: Eric Saupe <eric.saupe@instructure.com>
2023-04-20 21:23:54 +00:00
Aaron Shafovaloff 7ba6ceea12 remove coffeescript from webpack config
also: remove vestiges of CoffeeScript

test plan:
  - existing tests pass

closes EVAL-3071

flag=none

Change-Id: Ic52024efd7d16e9a5ee550d7ad9a406950ec4b51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316570
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2023-04-20 19:49:42 +00:00
Aaron Shafovaloff 9ee95c1c97 turn on @typescript-eslint/no-use-before-define
test plan:
  - existing tests pass

flag=none

Change-Id: I492c8e0fcf9f90fc6c43a87bf090e414b58a1477
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316580
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-20 19:47:23 +00:00
Aaron Shafovaloff ddf696d1f5 move convert-case to ui/shared
Change-Id: I465adfb221f922da133dbaa73cc9241198b9812f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316316
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-04-20 17:20:46 +00:00
Aaron Shafovaloff 4b01c1a15d decaf signup-dialog
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I7bf9d1287ed3b5e6a3e0ea414f4aa37732fc3444
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316418
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-20 15:09:53 +00:00
Aaron Shafovaloff 1732bdfcea remove .coffee files required by gems/plugins
Change-Id: I8e807d7d540cd7a4082582e17e8c01c58f13e43e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316486
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 14:33:33 +00:00
Aaron Shafovaloff d943246949 decaf View.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I73bc3b78923946f2b235f0da72f29d89af5a0415
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316482
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:57 +00:00
Aaron Shafovaloff caa4b89425 decaf publish-button-view
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I75393636d21b3e31ba06edb69bf345044f5b6329
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316483
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:47 +00:00
Aaron Shafovaloff 9b04328e3a prepare .coffee to .js import change gems/plugins
test plan:
  - existing tests should pass

refs EVAL-3055

flag=none

Change-Id: I5303a1b94f0329de2e085b05136bea066a9323e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316488
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-20 12:51:40 +00:00
Aaron Shafovaloff b75acafb1a decaf User.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I81fab894f0bb56eb2bd3f88cca30280fcb4e88cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316484
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:35 +00:00
Aaron Shafovaloff 2ee18837bc decaf backbone-collection-view
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I3887a8641d487950c37708574d9d66370a53e8c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316468
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:25 +00:00
Aaron Shafovaloff 136e628aa9 decaf DueDateOverride.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I26596f0c8f464851255221f50eeb0e177dbbf9ec
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316465
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:13 +00:00
Aaron Shafovaloff 0d153a84da decaf Collection.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: If9e69ff5ec439e4a4800e276e7ef00db3c3b5201
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316444
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:09 +00:00
Aaron Shafovaloff 2970f14693 decaf Progress.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Ic392ce84c072f94de2cf5dfa997d637c245cc3e5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316471
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:51:04 +00:00
Aaron Shafovaloff 08d6c966cf decaf TreeView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I5114704a1e2408789cf2cd6b659589730ffc408d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316472
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-20 12:50:59 +00:00
Aaron Shafovaloff 49ef803021 decaf OutcomeColumnView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Ib74773b2794a515b38aaf51789c4eafccb4d262a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316462
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 23:23:18 +00:00
Aaron Shafovaloff b11d9209ed decaf PeerReviewsSelector.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I9e80d9b6798797f50cd29bf3c0d1e4ccfddf9bb2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316461
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 23:22:55 +00:00
Aaron Shafovaloff 6d8d411d48 decaf ValidatedMixin.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I96eea89f542836f542b763de9cf5569bf2173086
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316452
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 23:22:31 +00:00
Aaron Shafovaloff cc4a09c195 decaf CurveGradesDialog.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I3ee90d042c4f22f9c068a2d6f27603f4824a366f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316453
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 23:22:12 +00:00
Aaron Shafovaloff 4550f2f3ee decaf Model.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I4159a48f91ef8f87a6daaadab666ae3a7f8de829
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316298
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 23:21:05 +00:00
Aaron Shafovaloff 1bdeaab88d decaf message-students-dialog
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I47b1a432e814bddf55e8fc6836f3c594e695a818
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316430
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 21:36:40 +00:00
Aaron Shafovaloff fe9704685b decaf Pseudonym.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Ide84ba213339e26d8bc740fa805493dcea226335
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316440
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 21:03:19 +00:00
Aaron Shafovaloff c250b12f65 decaf TurnitinSettings.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I8df7b7c1a5411b24d20196ae37d3fcec329e14ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316438
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 21:02:54 +00:00
Aaron Shafovaloff c400f929e2 decaf Group.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I7f7a55884a5ab976c31d4dbcb4d8e7c9612976dc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316437
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 20:51:55 +00:00
Aaron Shafovaloff ff9519961d decaf AssignmentOverrideCollection.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I1a49e87bc2668b13d10fbfdb3ca6331b58cae264
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316435
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-19 20:47:10 +00:00
Aaron Shafovaloff 2889e660f7 decaf Outcome.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Icd5a90c1d8369ded3cfdccb0368d9a0608713a18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316433
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 20:29:51 +00:00
Aaron Shafovaloff 34f9e9493c decaf GroupUser.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I5d47a7921a473caaf5a36cda214a3a8a4300cc29
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316432
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:24:44 +00:00
Aaron Shafovaloff 1f7d834d36 decaf DiscussionEntry.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I84cfc432047e5388c618cbdfb6e5ae5c0ef6192e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316428
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:22:10 +00:00
Aaron Shafovaloff 9fbe235e86 decaf ExternalContentReturnView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I530c8c4cea6100190fba56c6da231b5f142a71db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316427
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:21:58 +00:00
Aaron Shafovaloff 5733422a06 decaf lock-button
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I567ff8068d33dcf76e9e14883584dad1d72d6470
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316425
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:21:37 +00:00
Aaron Shafovaloff b0a43dbda3 decaf dialog-base-view/index.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I564df7cc1ac340c7ea2a3baf2b0aa89ecbdc68f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316429
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 20:21:19 +00:00
Aaron Shafovaloff 8bb7f26567 decaf MissingDateDialogView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Iaa637e9fb368da1c43886c44824c05c7356be579
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316421
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:21:15 +00:00
Aaron Shafovaloff fa4e57b939 decaf normalize-registration-errors
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I65591ef82397221f9951152f6322be52f7b5b993
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316422
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:20:41 +00:00
Aaron Shafovaloff 65b4e467ad decaf publish-icon-view/backbone/views/index.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I02c12b0128e4dceee712d2791dcc1de8d0a93268
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316415
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 20:20:12 +00:00
Aaron Shafovaloff 4655c7e301 decaf mixin.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I9252ad54cd1157ac961614e11c0b58459052735c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316417
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 20:20:10 +00:00
Aaron Shafovaloff 795405bca0 decaf handlebars-helpers/index.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Ifb131792d6cb1e4661ad9041a4003d6a4c9cffbc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316382
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2023-04-19 19:37:18 +00:00
Aaron Shafovaloff fb2d7c0a5e decaf FindFlickrImageView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I4da44226a5f515acb91ee7aeb47a2772d85b5731
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316413
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 19:33:04 +00:00
Aaron Shafovaloff 671585e569 decaf ConverterViewControl.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I0c5af0104b6344f5b3ed7e803e7d0863f5499807
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316302
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-19 16:04:39 +00:00
Aaron Shafovaloff 55d7e0ef1c move query-string-encoding to ui/shared
Change-Id: Ib0481bcabb66160e3e2f0a5fd45132725fe5d5fd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316281
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-19 15:20:09 +00:00
Aaron Shafovaloff 82814f7b74 move with-breakpoints to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: I07fb203c8b64126cee59e0ccb3be59580a9a2e05
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316312
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-19 15:19:18 +00:00
Aaron Shafovaloff 91545cdfb0 decaf Assignment.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: Ibe0d91ae0bd52c479093ff254e04d2956e8118f7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316308
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-19 15:04:23 +00:00
Aaron Shafovaloff 0b7bb15fa2 decaf File.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I432fca6870353035b408764041ebfa7264180b38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316303
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-18 22:25:32 +00:00
Aaron Shafovaloff bb964221b0 decaf context_modules.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I9ac692d1d4aba36d8bab9ae2f894b39db4ae8720
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316297
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-18 22:22:41 +00:00
Aaron Shafovaloff 174627b725 decaf GroupCategoryEditView.coffee
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I9463b140cc342b19c73bac2a7988d6403a534b51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316301
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-18 22:21:05 +00:00
Derek Williams 5c49c2c175 fix logic in speed grader links within modules
certain circumstances would lead to the speed grader link showing
when it should not, and having {{assignment_id}} listed in lieu of
an actual assignment id.

fixes EVAL-3054
flag=additional_speedgrader_links

test plan:
- in a course, navigate to the modules page
- create a module and add a discussion topic (non-graded)
- publish and unpublish the discussion topic and a speedgrader link
should never be present in the kabob menu
- edit the discussion topic to make it graded
- publish and unpublish it again, but the speedgrader link should show
while in published status

Change-Id: I1d4b356682c528e7796c34ba83031fe59df21e51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315980
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-04-18 21:32:31 +00:00
Ed Schiebel 6b47c458e1 Show the re-lock dialog if necessary after bulk module publish
closes LS-3944
flag=module_publish_menu

test plan:
  - in a course with "Copyright and license information" required
  - create a module with a a couple assignmens
  - edit the module and set it to require all items in
    sequential order
  - publish, unpublish, republish the module + items
  > expect the Requirements Changed modal to appear

  - add an unpublished file that has no copyright info yet
  - pubilsh the module + items
  > expect a  "Some module items could not be published"
    alert

Change-Id: I5fc30ecda76df090ebb8b9bf9750b94ea05f0943
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316178
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-18 21:24:00 +00:00
Aaron Shafovaloff 8776de0175 decaf ui/shared (7)
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I67e0ad6f20debb31fa6d764ac12f5ab55872a90e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316269
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-18 21:04:02 +00:00
Ed Schiebel 99d3b2f35f Have module bulk update correctly handle items in >1 module
- while bulk publish of a single module is in-flight, disable
  all instances of items that are in multiple modules
- after bulk publish of a single module is complete, all
  duplicates should reflect the new pub/unpub state

closes LS-3940
flag=module_publish_menu

test plan:
  - create 2 modules
  - put an assignment in both modules
  - add some other stuff to the modules
  - bulk pub/unpub with items on one of the modules
  > expect the duplicate item to be disabled in both
    modules while publish is in flight
  > expect the duplcate item's pub/unpub state to be
    updated in both modules
  > expect published items to have a green bar on
    their left edge

Change-Id: I65607605197b2f009eadd39a5c1f500f0ae623b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316068
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
2023-04-18 19:03:49 +00:00
Aaron Shafovaloff 1e6c3e5b6e decaf TreeBrowserView
test plan:
  - existing tests pass
  - meaningful comments are preserved

flag=none

refs FOO-3470

Change-Id: Iccf0dad7b6e0373494efe88bfab937b7a18bd43c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316249
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-18 15:59:20 +00:00
Aaron Shafovaloff c08eb6a7e4 decaf ui/shared (6)
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I246b0b3615f83c0fff80218ec1648cfaf9ff7c7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316207
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-18 15:43:26 +00:00
Aaron Shafovaloff ecbc1a034c decaf ui/shared (5)
test plan:
  - existing tests pass

flag=none

refs FOO-3470

Change-Id: I4cc0c6412b879689b1aa179c8ee73f4a3d07dbcc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316194
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-18 14:10:48 +00:00
deyvison.penha 2a87adabb0 Full screen media player is playing restarts
This PS fix the issue when open a user open fullscreen and play the
video, and after exit fullscreen the video restarted because of a
postMessage.

fixes MAT-1234
flag=none

Test plan:
 -Open up a page with an RCE.
 -Add a video and open fullscreen and play it; exit fullscreen and
 the expected behavior is the video isn't reloaded.
 -At the same page, create a link using video media course,
 save the page and click in the link, will open in another tab. In
 the media player, open fullscreen and play it and exit fullscreen,
 the page will not reload.
 - In New Quizes, Add a video and reproduce the same steps (play
 the video, open fullscreen and exit it, the video isn’t reload).

Change-Id: I2f7bf6c6b68d0e03bd95064e27a1d46bf909dd0c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315799
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: Allison Howell <allison.howell@instructure.com>
2023-04-18 11:00:27 +00:00
Roberto Noguera 5018bf4ff7 Add validation to Array index on fetchOutcomes.js
closes OUT-5579
flag=outcome_service_results_to_canvas

test plan:
- Create a course and add students to it\
- Create a few outcomes
- Create a new quiz with questions and align the outcomes to it
- log in as a student and take the quiz
- check the student Learning Mastery grades and make sure
  it loads correctly
- Create a classic quiz and a rubric, align an outcome to
  the rubric and align the rubric to the quiz
- log in as a student and take the  classic quiz
- Grade it
- check the student Learning Mastery grades and make sure
  it loads correctly (both tabs)

Change-Id: Idce96f63c4c7d8ba6f0de7e6ef69fede562ce8db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314636
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2023-04-17 18:26:43 +00:00
Aaron Shafovaloff 099111b2fe decaf ui/shared (4)
test plan:
  - existing tests pass

flag=none

refs FOO-3470

Change-Id: I67293d787ce6e45481b9c0e2713a686a989c6112
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315999
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-14 17:56:19 +00:00
Jackson Huang ffc8bf51b7 fixes media recorder plugin for safari
We want to change the check for the media recorder plugin to be
canUseMediaCapture() instead of checking browser version

fixes EVAL-2965
flag=

test plan:
- Make sure you have kaltura enabled
- Use a safari browser and make sure that
  the version is 14 and up
- Create an assignment
- Sign in as a student and submit the assignment
- Check the submission details and in the comments
  section, you should be able to record a video with
  audio as well and upload it

Change-Id: I516aef94059f80cf946087f4c0e29d2e138c7a49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315846
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-04-14 15:58:46 +00:00
Aaron Shafovaloff d8e365bfc7 decaf ui/shared (3)
test plan:
  - existing tests pass

flag=none

refs FOO-3470

Change-Id: Ia1030be3812ecb1c6d0a8d07b22a55cdb84cc1b9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315992
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-13 21:44:39 +00:00
Jacob DeWar 79a9179912 Stop including mentions dropdown in user content
fixes MAT-1087
flag=react_discussions_post

test plan:
-make sure to enable flag
-go to discussions - create or use existing
-in a reply (new or edit), start a mention by typing @
*Verify mentions menu opens
-click the save button
*Verify the menu content is not included in saved post
-Make sure the menu is usable as normal with mouse and
 keyboard

Change-Id: If6b55a0e21d65aab1b1475928e09348d75972804
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315675
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Allison Howell <allison.howell@instructure.com>
2023-04-13 20:11:02 +00:00
Aaron Shafovaloff c33a9f0d9e decaf ui/shared (2)
test plan:
  - existing tests pass

flag=none

refs FOO-3470

Change-Id: Ia1a49230dfca95b9101a89c7a469656407310df6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-13 15:48:59 +00:00
Jackson Howe 283be9e74c Reload the page if student with different font selected
When an observer changes the selected student in the picker, we check
to see whether the observer should see the k5 dashboard with the new
student selected. If they are currently seeing the wrong dashboard
type, we reload the page. Now, we'll also check what font the observer
should see with the new student selected (in the same network
request). If the dashboard type or font is incorrect, reload the page.
This situation (where an observer is observing multiple students where
some see the classic font and others see the k5 font) should be
fairly uncommon. We do not need to do the font check on the classic
dashboard page because if the user is seeing the classic dashboard,
they'll always see the classic font.

flag = k5_font_selection
closes LS-3925

Test plan:
 - Create 2 accounts, one with k5+lato, one with k5+balsamiq
 - Create a course in each account
 - Enroll 3 students in the courses; 2 of the students in 1 course, 1
   student in the other course
 - Enroll an observer in both courses, link the observer to
   the student(s) in each course
 - Act as the observer
 - Visit the dashboard
 - Select one of the students in the picker
 - Expect to see the appropriate font
 - Select another student in the picker
 - If you selected the student who sees the same font, expect the
   dashboard to not reload
 - If you selected the student who sees the other font, expect the
   dashboard to reload and the new font to apply

Change-Id: Ie62c2c7ebc38e53fdc90402b510e4e4ecaf04fa3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315716
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-04-13 15:04:07 +00:00
Ed Schiebel 37e3a39aa4 Move module bulk update react components to context-modules dir
ContextModulesPUblishIcon, Menu and Modal were in their own packages
under ui/shared. A location more consistent with the design of
./ui is ui/shared/context-modules/react.  This commit moves them
there and updates imports.

closes LS-3939
flag=none

test plan: passes jenkins

Change-Id: I0512874ef4460f5def24942f820c3d8e73e63428
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315943
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-13 14:56:10 +00:00
Aaron Shafovaloff c33862abfd decaf ui/shared (1)
test plan:
  - existing tests pass
  - substantial comments are preserved

flag=none

refs FOO-3470

Change-Id: I4dee43295f060bc46e1da12ffd734d4fbecf7e7c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315947
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-04-13 14:55:52 +00:00
Aaron Shafovaloff 9477db6136 decaf small .coffee files (1)
test plan:
  - existing tests pass

flag=none

refs FOO-3470

Change-Id: I247bc477279d6315c4b5be35120e4fc6d1b888bb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315841
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-12 21:56:47 +00:00
Ed Schiebel ca4d44b382 Disable buttons while bulk publish is in progress
closes LS-3792
flag=module_publish_menu

The purpose of this commit is to:
1. Disable module item buttons and the "Publish All" button
    while 1 module bulk publish of one module is in progress
2. While Publish All is in progres don't disable, but make the
   Publish All button inactive
   and disable all  the item buttons.
3. Disable all the module item pub/unpub buttons while
   any bulk publish is in progress

I also removed all the  @ts-nocheck lines and cleaned up
typing.

To get there much of the code had to be refactored so that
the network requests were not being performed by the
varous UI elements. This was to facilitate updating the
UI while bulk publishing is in-flight since we need
access to more of the UI than just the button the user
clicked.

This commit also had to manually merge in the work done
in https://gerrit.instructure.com/c/canvas-lms/+/314728
which is an a11y update to how the individual module
bulk publish button+menu work while the process is
in progress and
https://gerrit.instructure.com/c/canvas-lms/+/315291
which queries for module and item publish status
after the bulk update is complete.

test plan:
  While bulk publishing 1 module:
  - have a couple modules with some module items
  - from the pub/unpub menu button in a modules header
    select each of the 3 options
    - publish module and items
    - publish module only
    - unpublish module and items
  > expect the Publish All button to be disabled
    while the process is in-flight
  > expect the module's menu button to remain
    enabled and retain focus but do nothing
    `when clicked while the process is in-flight
  > expect the all the module's item
    pub/unpub buttons to be disabled while the
    process is in-flight
  > expect the module and it's items pub/unpub icons
    to reflect the correct state when the process
    finishes
  > expect the buttons and icons of the other module
    not to be disabled during the update
  - have a file module item
  - click it's icon and choose anything other than
    Publish or Unpublish
  - click the module's publish (or unpublish) module
    and all items
  > expect the state of the file item to remain unchanged

  Publish All work is in progess
  - have a couple modules with some module items
  - from the publish menu, try all 3 options
    - publish all modules and items
    - publish modules only
    - unpublish all modules and items
  - click Continue on the modal
  - close the modal
  > expect the Publish All button to be enabled, but
    do nothing if clicked
  > expect each module's publish menu button to be disabled
  > expect each module's item's pub/unpub button to be disabled
  - wait for the buld publish to complete
  > expect the buttons and menus to be enabled
  > expect all the modules and items to reflect the correct
    publish state

  - click on Publish All and choose one of the items
  - click Continue on the modal
  - click Stop on the modal
  > expect the bulk publish to stop
  > expect the module items to be left in the
    correct state for when the process was cancelled

Change-Id: I4ed7b6e990096e82b9bc253b4aed625ab8802c74
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315523
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: Ed Schiebel <eschiebel@instructure.com>
2023-04-12 21:45:13 +00:00
Jackson Huang b3055bea55 fixes alignment of assignment edit page
we want the fix some inconsistencies in the assignment
edit page

fixes EVAL-2613
flag=

test plan:
- create an assignment
- click on the edit button
- make sure assignment boxes are aligned

Change-Id: I6d9d3e1c002832bc6b5ce810bae921eb3d36d35c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314202
Reviewed-by: Cameron Ray <cameron.ray@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>
2023-04-12 16:24:00 +00:00
Yona Appletree d37b20afa0 Allow filtering features by id
Add the ability to search feature options by the id of the feature,
which is what's present in Gerrit and JIRA.

Closes MAT-1325
flag=none
qa-risk=medium

Test plan:
  - Navigate to Site Admin -> Settings | Feature Options
  - Ensure searching features by id works
    Example: rce_improved_placeholders
  - Ensure searching by display name still works, too.
  - Ensure all options are displayed by default / sanity check.

Change-Id: Ib1f1245a397e100c0ec9cff84ade1b623510e08b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315692
Reviewed-by: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-12 15:37:29 +00:00
Adrian Diaz ac48b9b18c dashboard async publish course card button
fixes: QUIZ-10970
refs: hackweek

flag = none

Test plan:
- Create a Course
- Go to Dashboard
- Click on 'Publish' button on
  Course Card
- The Course Card should move
  to Published
- Click on Course title to go
  to the Course
- Verify the Course is
  published

Change-Id: I1ec847634907f90dc136da7fccd97cf000b3d90b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312646
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Marissa Pio Roda <marissa.pioroda@instructure.com>
2023-04-11 17:03:13 +00:00
Aaron Shafovaloff 8e1c0585c6 move backbone-identity-map to ui/shared/util
test plan:
  - existing tests pass

flag=none

Change-Id: I33fc54fc8734d5eb16c3bb7601c2bdd5a76a8a54
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315473
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2023-04-10 21:56:29 +00:00
Aaron Shafovaloff aaf3ba9f37 remove obj-flatten package
it was only used once

test plan:
  - existing tests pass

flag=none

Change-Id: If6d5a8859622ab80ed5c0937d49f20e4b300d36c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315474
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-10 20:33:17 +00:00
Aaron Shafovaloff 2fdf0e692b move sanitize-url to ui/shared/util
test plan:
  - existing tests pass

flag=none

Change-Id: Icc42e7c5ccab58efd702615d232cc4f0801c10cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315479
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-10 20:22:33 +00:00
Caleb Guanzon 87eae6312e handle 0/10 and everything/0 in A2 with RQD
fixes VICE-3444
flag=assignments_2_student
flag=restrict_quantitative_data

rules:
0/10 will show as F for quantitative data
1/0 will show as A for quantitative data
complete/0 will show as Complete for pass_fail
1/0 will show as A for letter_grade
0/0 and -1/0 will show no score for
quantitative data

note:
- i wrote tests for non-rqd
0 points possible assignments,
this is to make sure existing
behavior is preserved against
future rqd work

test plan:
- verify the rules as stated above are enforced

Change-Id: Ie5b76122f3cf1ec289b75e3d4b414e900e982445
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315416
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-10 18:29:18 +00:00
Aaron Shafovaloff dc7704ca3c move prevent-default package to ui/shared/util
test plan:
  - All existing tests pass

flag=none

Change-Id: I61ba44f35ac506eb939af823c275357b945c5cd0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315472
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-10 17:40:23 +00:00
Aaron Shafovaloff 1b09079cba move jquery-sticky to ui/shared
test plan:
  - existing tests pass

flag=none

Change-Id: I0693395899798d546e0913888a4116a87112eb5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315477
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-04-10 17:39:07 +00:00
Aaron Shafovaloff 51349dfa05 remove .coffee extension from coffeescript imports
this removes annoyances when decaffeinating files

test plan:
  - all tests pass

flag=none

Change-Id: Ie3af0faf13d64a4701bb917fbcae29cb10474df1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315484
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-04-10 17:01:42 +00:00
Aaron Shafovaloff 4eddb28fe6 Remove browser-sniffer package
Chips away at our dependence on old jQuery

Also: Remove IE and old-Safari detection

Test plan:
  - Load Canvas in Safari
    - document.body should have 'safari' className
  - Load Canvas in Chrome
    - document.body should have 'chrome' className
  - Load Canvas in Firefox
    - document.body should have 'ff' className

flag=none

Refs FOO-87

Change-Id: I27547cce9d6feaaa44c442590962476345229173
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315224
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Williams <derek.williams@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>
2023-04-07 16:11:14 +00:00
AJ Esa d53bac0553 prevent tooltip overlapping on feature flag pill
Prevent tooltip on pill hover overlapping by overriding the maxWidth
of the pill using the ApplyTheme wrapper.

fixes FOO-3406
flag = none

test plan:
- Set language to a language specified in the ticket above
- Make sure pill on feature options page have no overlapping tooltips

Change-Id: I8689c58617d45111e026d4d264ace8f7645109a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315186
QA-Review: Ajmal Esa <ajmal.esa@instructure.com>
Product-Review: Ajmal Esa <ajmal.esa@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
2023-04-07 16:08:35 +00:00
Jackson Howe bbbf153e2e Don't disable ContextModulesPublishIcon trigger
When a user starts a publish operation, return the focus to the menu
trigger and keep the button enabled, but don't do anything if it is
clicked during a publish. Show a loading spinner and SR text that is
specific to the publish operation happening. Also emit a SR alert with
specific text when publishing is complete.

closes LS-3763
flag = module_publish_menu

Test plan:
 - Enable the module_publish_menu flag
 - Go to the modules page in a course
 - Using keyboard navigation, click the publish menu button within
   an individual module
 - Click one of the publish options
 - Expect that focus returns to the menu trigger when loading
 - Expect that the button is enabled while loading, but clicking it
   does nothing
 - Expect SR text indicationg that publishing is happening
 - Expect a SR alert when publishing is complete

Change-Id: I39e53b168798624baedfa46127109ad6b57fdb87
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314728
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>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-04-07 14:08:38 +00:00
Caleb Guanzon 19cb7ad89e turn quantitative data into letter grade in A2 student
fixes VICE-3407
flag=assignments_2_student
flag=restrict_qualitative_data

test plan:
- have a student who will have restrict_quantitative_data?
that is true for them
- turn on Assignments 2 Student feature flag
- as a teacher, create the following
assignments with the following grading types
-- points
-- percentage
-- gpa scale
-- letter grade
-- complete incomplete
-- not graded

- grade your student on all of them (except not graded)
- as a student visit each assignment, verify that for points
and percentage types, and gpa_scale,  we now show letter grade, and that
for other types, we show them as usual

Change-Id: I98cd9f8b38935c669515a1c26a66276649b46996
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315278
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-04-06 20:30:20 +00:00
Kai Bjorkman fa30e3c603 group assignment checkbox fixed for chrome screenreaders
In this one instance, the checkbox was using an attribute called
`aria-checked`. This is currenlty having bugs within chrome and is no
longer needed as screen readers can now user the normal `checked`
attribute.

closes EVAL-2945
flag=none

Test Plan:
- test using Chrome and FF, create an assignment in a course
- Using a supported screen reader, tab to the Group Assignment option
and enable it
- Tab to the Assign Grades Individually option
- Tab back to the Group Assignment option and ensure it annouces
correctly whether the box is checked.

Change-Id: I04cc6ec14867892794104ef2889b3fc3168fd5b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314475
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@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>
2023-04-06 19:45:33 +00:00
Eric Saupe c6bd24414a Query status of modules and their items after publishing
Querying the API for the status of all modules and their items after
a bulk publish should take care of cases where the job fails, the user
stops the job, or the job completes and the statuses are updated without
a full page refresh.

fixes LS-3917
flag=module_publish_menu

test plan:
- Use the top level publish menu to publish and unpublish modules and
their items
- Verify everything works as expected
- Use the top level publish menu and stop the publish midway through
- Verify the page is updated with any changes made
- Raise an exception in the bulk publish method
- Verify the errored request updates the page to show any changes
- Do the same with the module level dropdowns and verify the results
are correct

Change-Id: I43b4fd0a1694331ac378628de9357a43ae8e236b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315290
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
2023-04-06 19:38:08 +00:00
Jackson Howe 8b58538461 Fix text in ContextModulePublshModal
closes LS-3920
flag = module_publish_menu

Test plan:
 - Click the button to publish all modules in a course
 - Expect the modal text to be updated

Change-Id: I086f350621d7aac949bf8ba9701b765609ed577c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315381
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-04-06 17:47:08 +00:00
Jackson Howe ad216d5989 Use lato by default in RCE in k5+lato accounts
closes LS-3918
flag = k5_font_selection

Test plan:
 - Configure an account as k5+balsamiq
 - In a course in that account, open the RCE
 - Expect balsamiq to be selected by default (but expect to be able
   to change the font still)
 - Configure an account as k5+lato
 - Repeat the process, but expect lato to be selected by default

Change-Id: I0bc17448ee546a7e54b2cc31d5494bbbaf6c0b5c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315107
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-04-05 19:03:49 +00:00
Aaron Shafovaloff 2684acaf64 Replace $().live with $().on
The migration is straightforward

This chips away at our dependency on old jQuery

Test plan:
  - Existing tests pass

flag=none

Refs FOO-87

Change-Id: I197ba09804a22e051c1bb5537121fb0ca1f146e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315240
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-04-05 17:03:58 +00:00
Aaron Shafovaloff c21f969ca1 Removes strip-tags package
Test plan
  - Existing tests pass

flag=none

Change-Id: I3f036cc3ef65a7853b4c1e313e883b6c2c788f0a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315235
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-04-05 16:31:07 +00:00
Omar Gerardo Soto-Fortuño 8d6b0d33be Remove points from assignment index page
closes VICE-3402
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a course and user with the setup
      for restrict_quantitative_data.
  - Go to /courses/[Course ID]/assignments.
  - Points should not show.
  - Verify it shows points if not
      restrict_quantitative_data.

qa risk: low

Change-Id: Icf52b6a544efb7767fe2ece48696278efca94994
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314683
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
2023-04-04 18:32:13 +00:00
Aaron Shafovaloff 12e2f7cf4b Move stringPluralize to ui/shared/utils
Because DefaultUrlMixin.js has trouble importing str-pluralize
  in some cases

Test plan:
  - Test pass

flag=none

Change-Id: If93f7915b0d6b8793aa21125d00fb0a90fa83d65
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314885
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2023-04-04 17:49:12 +00:00
Eric Saupe fd1c695b58 Disable Publish All menu when no modules are present
This disables the top level Publish All menu when there are no modules
persent. It also enables and disables dynamically as modules are added
and removed to the point where there are no modules present.

fixes LS-3758
flag=module_publish_menu

test plan:
- Enable the module_publish_menu flag
- Create a new course with no modules
- Go to the modules page
- Verify the Publish All menu is disabled
- Add a module
- Verify the Publish All menu is enabled
- Remove the module
- Verify the Publish All menu is disabled

Change-Id: Idc15f79d5abde0855fe8ebd372f2c198269d6f07
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314967
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: Eric Saupe <eric.saupe@instructure.com>
2023-04-04 15:47:12 +00:00
Jonathan Guardado b812388b92 Change the action buttons on publish modal
- Change the Cancel button to close.
- Change the Continue button to Stop while publishing.

closes LS-3757
flag= module_publish_menu

Test plan:
- Enable the module_publish_menu FF
- Go to the modules page in a course
- Click on the Publish All button and select any option to open the
modal
- Expect to see a Close button instead of Cancel.
- Click the button and expect it just closes the modal.
- Open the modal again and click on continue
- Expect the Continue button changes to Stop while publishing
- Click on Stop and expect it to cancel the ongoing process.
- Expect the button to be disabled while canceling.
- Expect the modal description to be one described in LS-3757.

Change-Id: Idd57fea75d1bd65541f1dee1a233b7740c660522
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314859
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
2023-04-03 15:26:36 +00:00
Aaron Shafovaloff d91009ff9f Move round to ui/shared
Test plan:
  - Existing tests pass

flag=none

Change-Id: I47e30a7e373bf3f28029f2118df0471e889e348b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314751
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-30 23:13:46 +00:00
Aaron Shafovaloff c3cf2ba6fa Move str-pluralize to ui/shared
Test plan:
  - Existing tests pass

flag=none

Change-Id: I375337124b50c4fb15288928e7f0cd6193a5d366
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314767
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-30 23:00:33 +00:00
Aaron Shafovaloff 54e33a7e8e Move array-erase to ui/shared
Test plan:
  - Existing tests pass

flag=none

Change-Id: Ia2a87888b9a2c004c17a40fc6e14571326047cbb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314749
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-30 21:36:54 +00:00
Aaron Shafovaloff c53647ff92 Move shortid package to ui/shared
Test plan:
  - Existing tests pass

flag=none

Change-Id: Ic01d0dc548b7126cb97caf9ea3923cc5b9585908
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314747
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2023-03-30 21:27:54 +00:00
Aaron Shafovaloff 1de3a05341 Harden Gradebook dependencies
Removes some ts-nocheck

Test plan:
  - Existing tests pass

flag=none

Change-Id: Iaa7b53a62f11d15a61291bc9ab74f61acce64989
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314622
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-30 18:46:36 +00:00
Paul Gray 81cdb25119 Add types for loadingImage
Change-Id: I24530d45b31f58a0d469d14b56ca08fa2e523240
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314435
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Steve Mcgee <steve.mcgee@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-30 16:52:21 +00:00
Jackson Howe 12d953f899 Convert DashboardCardReordering specs to jest
refs LS-3841
flag = none

Test plan: specs pass

Change-Id: I0f6fa423cbac705d4e61d7be4946ee303fd17f18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314573
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-03-30 00:00:16 +00:00
Eric Saupe 0d2444232d Don't change date if new value is invalid
The parsing of text in the date field cannot be relied upon. This patchset
removes setting the new value if it is invalid.

Here are two patchsets where changes were made to fix issues in this area:
https://gerrit.instructure.com/c/canvas-lms/+/273803
https://gerrit.instructure.com/c/canvas-lms/+/309579

fixes LS-3879
flag=none

test plan:

- Have a teacher in a course with the teacher's language set to Català.
- Create a calendar event for a course and click More Options
- Click user a different date for each section button
- Enter a date that is after one week of the current date
- Click save
- Verify the dates were saved correctly
- As a teacher in any language, create a calendar event and
click More Options
- Select a valid date from the date picker
- Type in nonsense to have an invalid date
- Save
- Verify the valid date was saved

Change-Id: I86c2f4fcb4bcc788f850bbd5eaac25cad019c7e7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313980
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-29 18:58:36 +00:00
Omar Gerardo Soto-Fortuño 472ee2fa0b Show only qualitative options on assignments create/edit
closes VICE-3401
flag=restrict_quantitative_data

test plan:
  - Specs pass.
  - Have a course and user with the setup
      for restrict_quantitative_data.
  - Try creating assignment, only qualitative options
      should show on Display Grade as.
  - Try editing an assignment, only qualitative options
      should show on Display Grade as.
  - Verify it shows all the options if not
      restrict_quantitative_data.

qa risk: low

Change-Id: Ie70695835b09e4aec0abfde58f92bbaf845ba373
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314566
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2023-03-29 17:22:35 +00:00
Juan Chavez d9810753c3 Remove mathml duplicate
closes MAT-1175

flag=none

test plan:
- Navigate to a course.
- Change its title to add some inline math.
- Save it.
> Verify that the course title was updated
using Mathjax.

test plan 2:
- Navigate to a RCE instance.
- Open equation editor.
- Enable "Directly Edit LaTeX"
- Add some inline math.
> Verify that the preview was correctly
generated with Mathjax.

test plan 3:
> Verify that you can still edit a module's
title adding inline math.
> Verify that you can still edit syllabus
page content adding inline math.
> Verify that you can still create or edit
a discussion reply with some inline math.

Change-Id: Icfe60adb90f1e03e1aee72d1e60b8e2a2eb7dfd8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311688
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2023-03-29 14:51:09 +00:00
Paul Gray 99641d769f Converting createStore to Typescript
Change-Id: I9112f82dbfeacac750208f5ba7b2f6a58a812cbc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314239
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2023-03-29 14:13:19 +00:00
Jackson Howe c9eb76a687 Rename componentWillReceiveProps to UNSAFE_ version
refs LS-3841
flag = none

Test plan: specs pass

Change-Id: I6f47afe056909d6b6e0803c6c9385e839ffadccf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314488
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-03-28 23:27:06 +00:00
Jackson Howe 76c473d576 Show lato font if use_classic_font?
This commit actually applies the selected font in the UI. In a
course's context, follow the course's account's font preference.
Otherwise, use the use_classic_font? helper.

flag = k5_font_selection
closes LS-3829

Test plan:
 - Enable k5+lato on an account
 - Enable k5+balsamiq on a different account
 - Login as a user who has an enrollment in both accounts
 - Expect to see lato (no balsamiq!) on the dashboard, courses
   index, and in any k5 course in the k5+lato account
 - Expect to see balsamiq in courses in the k5+balsamiq account

Change-Id: Iba33fe1abc893977dc535a71bdd74ba6b5563ff5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314310
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
2023-03-28 16:25:20 +00:00
Paul Gray 9e985c4111 Add types for keycodes
Change-Id: Ib146c98106a6b617222b80eeae36fd57dbde56d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314242
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2023-03-28 16:15:29 +00:00
Paul Gray 3a44a7edc9 Converting splitAssetString to Typescript
Change-Id: I905e0da93f8f554fe037c86fb7833777b0e87c47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314241
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
2023-03-28 16:15:00 +00:00
Aaron Shafovaloff 1f8b34f38f Filter Gradebook rows by submission criteria
This should improve the Gradebook experience for large courses.

It does the following:

- Improves performance upon scrolling
  - Uses a cached filteredAssignmentIds in listHiddenAssignments,
    which is called when scrolling the gradebook
- Submission filters now reduce number of rows shown

Test plan:
  - With enhanced_gradebook_filters flag on
    - Load the gradebook in a course with many students and assignments
    - Apply various submission filters
      - Rows which lack any relevant submissions should be hidden
  - With enhanced_gradebook_filters flag off
    - Smoke test old Gradebook filters

flag=enhanced_gradebook_filters

Closes EVAL-2998

Change-Id: Ie58f9955f7449dd986e044dccb5947069a3593f0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313989
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-03-28 15:37:09 +00:00
Spencer Olson bd88fcf32e late input: show 'Day' or 'Days' instead of 'Day(s)'
flag=none

Test Plan:
- Specs pass

Change-Id: I8df558e80c539cd3699abc04fbb68bacac031118
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314139
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-03-24 15:57:39 +00:00
Aaron Shafovaloff 2d22416f70 Improve performance of SubmissionStateMap
This commit is a prerequisite to submission filtering improvements.

Test plan:
  - Existing tests pass

flag=none

Refs EVAL-2998

Change-Id: I9044a9010f4538a1e3a750f30c297e9bf8dfe770
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314001
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-03-23 17:49:13 +00:00
Juan Chavez e7ae450d0b Remove unused mathml occurrences
fixes MAT-1283

flag=none

test plan 1:
- Navigate to a course discussion.
- Click in reply button.
- In its content add an inline math text.
fe. \(x^2\)
- Submit it with the button.
> Verify that the reply content was updated,
the math was recognized and rendered with Mathjax.

test plan 2:
- Navigate to a course discussion.
- Click in reply button.
- In its content add an inline math text.
fe. \(x^2\)
- Submit it with the button.
> Verify that the reply content was updated,
the math was recognized and rendered with Mathjax.

test plan 3:
- Disable explicit_latex_typesetting flag.
- Navigate to a course modules page.
- Create a module.
- In its title add an inline math text.
fe. \(x^2\)
- Submit it with the button.
> Verify that the module title was updated,
the math was recognized and rendered with Mathjax.
> Reload the page and check that the module title
is still rendered correctly.
- Enable explicit_latex_typesetting flag.
> Verify that when editing or reloading page is not
rendering the module title (with inline math) with
Mathjax.

Change-Id: Ibcac151d1e5c997e4aa2307b4a2ca92706da503c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313782
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2023-03-22 20:44:06 +00:00
Jackson Huang 6cb8bed777 add speed grader link to quizzes and assignments within modules
closes EVAL-2921
flag=additional_speedgrader_links

test plan:
- set up a course with at least 1 module as a teacher
- add a quiz and assignment into the module
- click the options button for quiz and assignment
- notice a link to speed grader now exists
- the link should NOT show for unpublished quizzes or assignments
- also notice the following order of links (some may not show)
    - Edit
    - Build
    - Speedgrader
    - Remove
    - Move To…
    - Increase Indent
    - Send To…
    - Copy To…

Change-Id: I522fcd03f8d0927c4d2af28331f685b05aec7f62
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312840
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-03-22 18:50:18 +00:00
Isaac Moore b322f7aa85 Remove support for bookmark service text queries
refs AE-142
flag=none

test plan:
- verify diigo bookmark search still works

Change-Id: I14bb1e1b497bc3af0c5cd95cc4f5d0d8b428e2f5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313894
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
2023-03-22 15:02:52 +00:00
Isaac Moore e1b397ca30 Remove Delicious from Canvas
refs AE-142
flag=none

test plan:
- mutating allowed_services via UI still works
- mutating user services via UI still works

Change-Id: I2231b76c2dc9443ea94ecf0afbdfc842ecc8c497
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313727
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
2023-03-22 15:01:28 +00:00
Matheus f42b893e67 Add flash message to course publishing in home page
fixes LS-3346
flag=none

Test-plan:
- Go to a course home page
- Publish it via the button on the right
- Expect to see a success flash message on
  reload.

Change-Id: Ie7e5a21c9508ca15a498bf68599dbd880e5fe0f4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313751
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: Luis Oliveira <luis.oliveira@instructure.com>
2023-03-21 20:45:32 +00:00
jake.oeding 6b00141b0e add support for iWork files in RCE and files UI
closes MAT-1269
flag=none

test plan:
*pre-req: might be helpful to have .docx, .pptx, and
.xlsx files also uploaded for referencing the icons
1. Files UI
    -navigate to the files interface and upload a
     .pages, .key, and .numbers file
    >look at the icons they receive in the file UI
     and confirm that you get a doc, ppt, and xls
     icon respectively
    -for each of those, launch the previewer and then
     click on the info button
    >confirm that 'Kind' aligns with the file type
2. Attachments model
    -open up a rails console
    -find the attachments corresponding to the files
     you uploaded
    >check the content_type on each and confirm it is
     the corresponding 'application/vnd.apple.*' type
3. RCE
     -find a page with an RCE
     -open the file upload modal
     >for a .pages, .key, and .numbers file, choose the
      file for upload and confirm it shows the correct
      icon type
     -now go to the course document insertion tray
     >confirm the files you've uploaded have the proper
      icon
     -switch from 'documents' to 'all'
     -navigate to the folder where you uploaded the files
      in the tree browser
     >confirm they have the appropriate icon

qa risk: low

Change-Id: Ie39b0070398982e10e7ef47d7b395450c0af2bc4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313247
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: Allison Howell <allison.howell@instructure.com>
2023-03-21 15:46:27 +00:00
Martin Yosifov de8b419956 Remove Alignment Summary FF from back/front end code
closes OUT-5304, OUT-5305
flag=outcome_alignment_summary

Test plan:
- Create course with few outcomes and assignments;
align some of the outcomes to assignments
- Go to Account > Settings > Feature Options
- Verify that Outcome Alignment Summary Tab FF is not listed
- Enable Improved Outcomes Management FF
- Go to Account > Outcomes
- Verify that there is no Alignments tab in the improved UI
- Go to Course > Outcomes
- Verify that there is Alignments tab in the improved UI
- Click on the Alignments tab
- Verify that the correct number of outcomes and alignable
artifacts (assignments) is displayed
- Click on the filter dropdown and verify that the correct
number of outcomes with and without alignments is displayed
- Verify that search is working properly
- Disable Improved Outcomes Management FF
- Go to Account > Outcomes
- Verify that there is no Alignments tab in the legacy UI
- Go to Course > Outcomes
- Verify that there is no Alignments tab in the legacy UI

Change-Id: I069efdda53af293a82628b7d6a1f20a982bf3953
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313157
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-20 19:24:41 +00:00
Omar Gerardo Soto-Fortuño 2c5396f0ec Show error if the user tries to set the limit group members to 1
closes VICE-3380
flag=none

test plan:
  - Specs pass.
  - Go to the People's Page.
  - Create a group set.
  - Enable “Allow Self Sign-up”.
  - Enter a name and set the “Limit Group Members” to 1.
  - Click Save and it should show an error message.

qa risk: low

Change-Id: Ie667f5828ff0aa10b4e56849289c669ca606791b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313620
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-20 17:47:45 +00:00
Aaron Shafovaloff e422745e42 Remove all implicit "any" in Gradebook.tsx
Test plan:
  - Existing tests pass

flag=none

Refs EVAL-2886

Change-Id: I22adac983ba3d155203394a0c0e1fcb91f8a0db1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313617
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-20 17:40:44 +00:00
Aaron Shafovaloff 868a44b202 Upgrade TypeScript
Test plan:
  - All existing tests pass

flag=none

Change-Id: I2a4babd263f9714a15dfbaac7c5cc952069eca94
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313551
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-17 19:06:57 +00:00
Jonathan Guardado 96c6b2c6bf Refactor ObsererOptions to use valid children
Use a callback to notify the observer picker when the highlighted
option changes, so we no longer need to use a function as a child
to access this value.

refs LS-3837
flag=none

test plan:
- Tests pass
- Expect the observer picker to behave and look as usual in normal
canvas and k5.
- Expect not to see errors associated with the observer picker in the
console

Change-Id: Ic205828bed4882f27ff874b3eef28fd043b19b6d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313385
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-03-17 18:09:57 +00:00
Matthew Bennink 5b16ba4d42 LtiDeepLinkingResponse can indicate that link open in new tab
closes gh-2157
closes INTEROP-7994

Canvas defaults to using an iframe (new_tab: 0) for ltiResourceLink
content items. This requires that a tool provider use the Canvas HTTP
API to update each module item or assignment to specify that it open the
LTI link in a new tab.

Since Canvas doesn't currently take the `window.targetName` into account
when handling ltiResourceLink content items, it seemed OK to handle a
value of "_blank" as a special case for indicating that the content
should open in a new tab.

This would not affect any existing content and it's unlikely (?) to
surprise any users who have set a targetName of "_blank". In fact,
it may now do what they've intended it to do.

Test Plan:
  - Configure a course to launch an LTI Advantage Deep-Linking workflow
  - The tool should return a Deep-Linking response with at least one
    ltiResourceLink content item whose window.targetName value is set to
    "_blank"
  - Once the item populates (module item or assignment), ensure it opens
    in a new tab (note: Canvas will require you to click the "open in
    new tab" button manually to launch the tool, this seems strange but
    is how it's behaved for many years, see
    522abc26d4)

Change-Id: Ie966cd54d622c6b46138a3ddf3f0ebf1a10f1576
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312816
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2023-03-16 18:11:28 +00:00
Kai Bjorkman 6c5e8328ba support group peer reviews in a2
closes EVAL-2829
flag=peer_reviews_for_a2
flag=assignments_2_student

Test Plan:
    -Prerequisites
        - Course with a teacher and three students(student A, B , and C)
        - Students A and B should be put in the same group
        - Student C should be in a different group
    - Create two a peer review group assignments. One with a rubric and
    one without
    - Assign all three students to review each other on each assignment
    - Submit to the assignment as either student A or B and Student C
    for both assignments
    * Peer review Assignment without Rubric *
        - As Student A complete both reviews by adding a comment to each
        - As Student C complete both reviews by adding a comment to each
        - As the teacher add a comment to each submission
        - As Student B review student A and ensure that the comment tray
        is empty when first opening the review.
        - Add a comment and ensure you get a flash message at the top
        of the comments tray showing that the review has been completed
        - Ensure when completing a review that the students only can see
        their own comments
        - Ensure when viewing their own group submissions again that
        they can view all peer review comments given on the group
        submission including their own and the teacher's
        - Ensure the teacher can see all peer review comments when
        viewing the submissions within speedgrader
    * Peer review Assignment without Rubric *
        - As Student A complete both reviews by filling out the rubric
        for each and adding a recognizable comment
        - As Student C complete both reviews by filling out the rubric
        for each and adding a recognizable comment
        - As Student B complete both reviews by filling out the rubric
        for each and adding a recognizable comment
        - As the teacher fill out the rubric for each submission
        - As Student A view their submission and ensure that all of the
        rubric assessments are availible in the drop down and the rubric
        changes to the corresponding assessment for each reviewer and
        teacher (check the recognizable comments)
        - Ensure the teacher can see all assessments as well in
        speedgrader

    * Bonus * Repeat with anonymouse peer review enabled

Change-Id: If63e73e1dda0f9bef3b39271ce40f2184df6fc12
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311148
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
2023-03-16 02:38:11 +00:00
jake.oeding 334aff2043 Revert "remove mentions menu on RCE blur"
This reverts commit 58338612e6.

test plan:
-confirm that you can select a user name with the mouse
 from the mentions menu

Change-Id: I4f662f334f5571ec5d794c1cb6f36722dbc907da
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313387
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-15 20:02:29 +00:00
Kai Bjorkman 18ae8d5932 spec: selenium coverage of proxy submissions
closes EVAL-2714
flag=proxy_file_uploads

Test Plan:
    - specs pass

Change-Id: I32462617cb38ad6be38939922142d621437debe4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309122
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-03-14 20:24:47 +00:00
Aaron Shafovaloff 9643e90fc8 Prevent invalid dates in filter presets
Test plan:
  - Enable enhanced_gradebook_filters
  - Unsuccessfully attempt to have out-of-order start and end
    filter dates

flag=enhanced_gradebook_filters

Closes EVAL-2617

Change-Id: I00377352011f9d7ded17017dfe0905cec44504c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/313005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-03-14 20:06:22 +00:00
Caleb Guanzon 58f75a2a33 sort and fix group navigation selector
flag=none
fixes VICE-3358
fixes VICE-3379
fixes VICE-3381

TEST PLAN:
- create a group set with different groups
- visit the group home page of one of the groups
(/groups/id)
- verify that the group selector dropdown in the left
nav has each group alphabetically sorted
- from the home page of the group, switch groups
- verify you go to the intended group's homepage
- from the discussions index page of a group, switch groups
- verify that you are sent to the discussions index of
the intended group on group select
- now from within a group (and not the course),
create a discussion
- from the discussion show page of a group discussion,
- verify that you are sent to the discussions index of
the intended group on group select
- from the discussion edit page of a group discussion
- verify that you are sent to the discussions index of
the intended group on group select

- now, delete a group from the group set
- visit a diferent group from the same group set
- verify you no longer see the deleted group from
the dropdown

- perform any other group select test as you wish

Change-Id: I70a45b824d153c7976764b56ce7ca49494687873
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312923
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: 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>
2023-03-14 16:05:58 +00:00
Matheus 0aac83e764 Add "Import Blueprint Settings" support for selective import
test plan:
- Copy a BP course
- Mark "Select specific content"
- Observe the "Copy Blueprint settings" option vanishes
- Click  "Create Course"
- Check that you have the option to select BP
  Settings during the selection of what to import
  (Along with Course Settings)
- Create a course, w no students
- Go to its content migrations and select
  Content Type: "Copy a Canvas Course"
- Search and select a BP course
- Check that "Import Blueprint Course settings"
  shows up like the previous scenario
- Check the behaviors are like the previous copying
- Now do that for a Course with students and check
  that even for a selective import the BP option
  does not show up

fixes LS-3815
flag=copy_blueprint_settings

Change-Id: I4c08779f7c72e8c7688060a89849213f552939ae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312817
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: Luis Oliveira <luis.oliveira@instructure.com>
2023-03-13 18:18:23 +00:00
Aaron Shafovaloff 98dedd91dd Prepare assignment data for Individual Gradebook
Pork: include packages in tsconfig

Test plan:
  - All existing (and new) tests pass

flag=none

Refs EVAL-2852

Change-Id: I2a31c1c039e1ce76bc20b251bdb706b23d614151
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312712
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-03-08 20:50:13 +00:00
Jeremy Stanley db4db6a989 link to new course on account course page
test plan:
 - from /accounts/self/courses, create a new course
 - the alert that tells you the course was created should link
   to the course you just made

flag=none
fixes FOO-3409

Change-Id: I72a764aca8e0fb5ffebde80917ac192056ae8d78
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312355
Reviewed-by: August Thornton <august@instructure.com>
Product-Review: Jody Sailor
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-03-08 17:14:02 +00:00
Drake Harper 9c7bc22799 Create apollo V3 client
refs VICE-2232
flag=none

Test Plan:
 - don't break anything and nothing should change

Change-Id: I2034f1258fba6de9b18fb4a0f0b5b581838fad3c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312067
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-03-07 16:57:40 +00:00
Aaron Shafovaloff 7129bf4cac Type-harden Gradebook
Test plan:
  - Existing tests pass

flag=none

Change-Id: I7ebe0a9a746186ac6f6912644713b5efc96301e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311480
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-03-06 16:29:38 +00:00
Aaron Shafovaloff 9e445782a6 Harden speed_grader.tsx
Test plan:
  - All existing tests pass

flag=none

Change-Id: I5ecfd950a4971199b39b0994f0b0d41d5882f565
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312210
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-03-03 17:59:48 +00:00
Davis Hyer 7fc3922300 inject referenced screenreader alert containers
refs LS-3831
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: I1c05f6fb2e304784963a02ea68facc89ce32cc7d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312005
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-03-03 15:54:02 +00:00
Caleb Guanzon cd012fa960 translate bbb playback_format in the backend
flag=none
fixes VICE-3341

since we grab playback types
from the conference providers
we will need to hardcode the ones
we know about so that they can be translated
properly

test plan:
- install the big blue button plugin locally
(requires secrets, ask me to help you)
- LOLCALIZE=true bundle exec rails s
- create a bbb conference and check the recording setting
- start the conference
- in the BBB conference tab, begin recording
- pause recording, end the conference
- wait for around 10 minutes
- visit the concluded conferences section of
the conferences index page
- verify that your conference now as an arrow pointing
left
- click on this arrow and verify that you see the
recording types like Presentation is LOLCALIZED

Change-Id: Ief98759b60127ed3b414111b08fe35c366f9bd60
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312150
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2023-03-02 07:30:59 +00:00
Davis Hyer 020e02d49a Revert "Ensure Kaltura settings protocol matches window protocol"
This reverts commit 51879e7250.

Reason for revert: Appears to be causing issues on production

Change-Id: I193d51d1e1a058ac099b29d0948159bfa5848010
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311367
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2023-03-01 21:36:26 +00:00
Davis Hyer fd5fb35651 fix fragment matcher errors
refs LS-3831
flag=none

The production Apollo client uses the IntrospectionFragmentMatcher to
handle unions and interfaces in GraphQL. The MockedProvider that Apollo
provides does not have this matcher used by default, so none of our
tests are using it. This change only applies the matcher to tests that
execute queries against these types as the others do not rely on the
matcher being present.

test plan:
  - tests pass

qa risk: low

Change-Id: I527c62b99c56dcdb20de267d1134df3382f7c79d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312009
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
2023-03-01 19:47:58 +00:00
Yona Appletree a48af3cb4e Rework and modernize RCE External Tool dialog
Major overhaul of the External Tools portion of the RCE:

  - Incorporates needed functionality previously in canvas common
  - Moved all code into packages/canvas-rce
  - Refactored, cleaned up, and clarified
  - Converted all code into TypeScript

Refs MAT-1082

flag=rce_new_external_tool_dialog_in_canvas

test plan:
  - Testing of LTI 1.3 must be done in Firefox, unless you have
    https configured locally.
  - Install LTI test tools
    - LTI 1.3 test tool from gerrit:lti-1.3-test-tool
    - LTI 1.1 test tool from
      - https://github.com/Yona-Appletree/lti_1p1_test_tool
      - Create a config with the "Editor Button" placement enabled
  - Spot check original external_tools plugin by disabling flag
    - Disable rce_new_external_tool_dialog_in_canvas
    - Test LTI 1.1 and LTI 1.3 resource item selection and embedding
  - Re-enable flag
  - Then test LTI 1.1 and LTI 1.3 resource selection
    - Links, Resource Links, Images
    - In Canvas
    - In New Quizzes
  - Test embedded frames, both in canvas and quizzes
    - LTI 1.1 iframe content items
      - Select 'Return 1.1 test link item (iframe)'
    - LTI 1.3 iframe items
      - Content Item Type: "LTI Resource Link"
      - iframe (JSON): {}
        The content doesn't matter, so long as it's an object.
      - Note: refreshing the page will prevent this from working
              until QUIZ-10579 is completed.
    - Ensure the frames load:
      - in the RCE
      - in the page after saving
      - in the RCE after editing
      - in the page after saving

Change-Id: I9a6b716ba2af29348d82522f4e81bab2140a6cab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/308732
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Paul Gray <paul.gray@instructure.com>
QA-Review: Mysti Lilla <mysti@instructure.com>
Product-Review: Yona Appletree <yona.appletree@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
2023-03-01 18:20:53 +00:00
Davis Hyer a036df2767 ensure table rows are rendered within a table
refs LS-3831
flag=none

test plan:
  - tests pass

qa risk: low

Change-Id: I2403625baea7e46cdb2a8bf1c966fa4160be5b14
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312008
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: Davis Hyer <dhyer@instructure.com>
2023-03-01 15:38:30 +00:00
Davis Hyer 660ee0c0b3 remove unnecessary act usage
refs LS-3831
flag=none

The test was wrapping a DOM query in an act call. As per the react test
utils documentation, act should only be used when "rendering and
performing updates". Since this is neither, the act has been removed,
resolving the console error in the process.

test plan:
  - tests pass

qa risk: low

Change-Id: I217982a129e1be440448685f1a96a4f261360a1c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312003
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
2023-02-27 22:14:42 +00:00
Davis Hyer c1917fb02c provide correct data-testid attribute
refs LS-3831
flag=none

The previously provided data-testId was not recognized as a valid DOM
prop.

test plan:
  - tests pass

qa risk: low

Change-Id: I714a680538571b489df7d154ff66ed9774d9bb33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/312004
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
2023-02-27 20:45:25 +00:00
Derek Williams 2c5591feae fix proxy uploads in production env
refs EVAL-2929
flag=proxy_file_uploads

test plan:
- attempt to upload a file for a student using the Submit on Behalf
- once uploaded, files should appear in the Upload File list

Change-Id: I23344763489b2de4637633ffc96958459b287626
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311993
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-02-27 16:27:57 +00:00
Ed Schiebel ec9d269b43 Make redux store work for all of the rce
and not just the CanvasContentTray
I considered making CanvasContentTray and all its descendents
a redux connected component, but that would have been a massive
change both in how state values were passed to the components
and for review. I elected to simply pass the store's state
to CanvasContentTray as a prop, just like when it was rendered
from witin the <StoreProvider>. Then none of the descendents
needed to change.

How the store persisted which accordion section was opened last
wasn't simply changed by the action that opened the new panel,
but by a subscription to store changes. Now that the store state
persists between CanvasContentTray openings, we can simply
save it to session storage in the reducer.

I also converted RCEWrapper.test.js to jest
which made me update the tinymce mock
and a tinymce Editor mock so you can actually
mount an RCEWrapper now and have it work (within reason)

The specs for canvas_mentions would not pass using the new
FakeEditor and after spending time trying to update them
I gave up and moved the old mock to live along side the
only tests that use it.

closes MAT-1195
flag=none

test plan:
  - with devTools open to the network panel
  - open the CanvasContentTray (course documents etc.)
  - close the tray and wait an hour
  - open the tray
  > expect to see a call to refresh the jwt
  - close the tray
  - open the tray
  > expect no call to refresh the jwt

  - open 'course links'
  - expand one of the accordion sections
  - close the tray
  - open 'course links'
  > expect the same section to be open

Change-Id: I31904a133d760138d6b9bd85a6ab569620454ba4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310508
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Yona Appletree <yona.appletree@instructure.com>
QA-Review: Yona Appletree <yona.appletree@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2023-02-16 21:09:30 +00:00
Drake Harper db69ee4edd Fix group select navigation
fixes VICE-3352
flag=none

Test Plan:
 - go to a group home page in a course
 - should be able to change groups
 - test on group home page and announcements

Change-Id: I09dd0bd71ebadd0bfac2d2f50de6f2733571ce40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311381
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2023-02-16 19:10:50 +00:00
Chris Soto b77369cae7 add modals when completing peer reviews
add modals when completing a peer review if the student still has other
peer reviews to complete or they have completed all peer reviews

fixes EVAL-2824
fixes EVAL-2825
flag=visibility_feedback_student_grades_page
flag=assignments_2_student

test plan:
- as teacher create a peer review assignment with 3 students in class
- have one student (A) peer review the others (B,C)
- submit for the students B,C
- submit for the student A
  - a modal should popup directing you to complete peer reviews. it
    should also inform you that you have 2 peer reviews remaining
  - clicking on the button should navigate you to a peer review for one
    of the other students
- as student A, add a comment so that peer review is done
- you should see a modal pop up letting you know that you have one peer
  review remaining.
- Click on button to go to next peer review
- as student A, add comment on 2nd peer review
- you should see another modal pop up letting you know that you have
  completed all peer reviews
- refresh page, you should see that you have already completed this peer
  review for this student
- add another comment to the peer review, you SHOULD NOT see any more
  modals popup because the student has already completed all reviews

Change-Id: Ibece2f3ec2d4fb2350b4900d7a1e08fb31e72531
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309912
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
2023-02-15 23:19:10 +00:00
deyvison.penha daea8ec858 Front page tag doesn't display
This patchset fix the issue when the
Front page tag doesn't display if last
(or only) page is tagged front page

fixes MAT-1216
flag=none

Test plan:
-Create at least two pages in your course (or one).
-Set the last page as the front page (or the
only page to the front page).
-Note that the front page tag does display for the page

Change-Id: I19ce4654fd83a1dd2a961c975237539e67d1f408
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311218
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: Allison Howell <allison.howell@instructure.com>
2023-02-15 22:16:56 +00:00
Mysti Lilla 51879e7250 Ensure Kaltura settings protocol matches window protocol
flag=none

Test plan
- Have studio running locally and set the kaltura setting
  for the protocol
- Upload a file from your computer to link in the RCE
  and ensure you don't get errors and the file loads

Change-Id: I40c0cfbeac231eefca1de21f4fd86a97f3cc0706
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310987
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
2023-02-15 20:29:06 +00:00
Juan Chavez d3d659daef Fix language selector dropdown in media player
flag=none

fixes MAT-1163

test plan:
- Navigate to a RCE instance.
- Upload a video to user/course files.
- Preview video.
- Click "CC" and "Upload subtitles".
> Click languages dropdown and verify that the dropdown
is filled with language items.
- Select a language and attach a SRT file.
- Click "Upload".
> Verify that there is no console errors.
- Re-open video preview.
> Verify that when opening "CC" the previously submitted
subtitles is listed.

Change-Id: Ic4f11902054050ebf15c0593e8b6c2fe079ec862
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/311001
Reviewed-by: Sarah Gerard <sarah.gerard@instructure.com>
QA-Review: Sarah Gerard <sarah.gerard@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2023-02-14 22:10:38 +00:00
Aaron Shafovaloff 419a4906e2 Specify types for convert-case and html-escape
Test plan:
  - Existing tests pass

flag=none

Change-Id: Ib4ff7609f4ca71242cef7ed91de53a5ef177112c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310891
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
Build-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
2023-02-14 17:48:45 +00:00
Spencer Olson 71ea148e75 make usage of phrase "grading scheme" consistent in ui
closes EVAL-2893
flag=none

Test Plan:
- specs pass

Change-Id: Ice8ec8d79f4b24c526511ffd87a96c6dc515c67e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310755
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-02-13 22:47:20 +00:00
Aaron Shafovaloff 93ecd4a57d Improve types for GradebookSettingsModal
Test plan:
  - All existing tests pass

flag=none

Refs EVAL-2899

Change-Id: I3db7d21152ab4f85c3cec2ab6d5de7a10a29bf71
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310858
Reviewed-by: Christopher Soto <christopher.soto@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>
2023-02-10 23:48:19 +00:00
Aaron Shafovaloff af711d74a2 Make coercion of score string to number explicit
With scoreWithLowerBound >= schemeScore:
  - scoreWithLowerBound is a number
  - schemeScore is a string
  - in the comparison, schemeScore is coerced to a number

This makes the coercion explicit

Test plan:
  - About a dozen tests validate this function; they should all pass
    - See especially: "GradingSchemeHelper > .scoreToGrade() accounts
      for floating-point rounding errors"

flag=none

Change-Id: I02ac386a30d518657e9f49129a98ae2157f4a2c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310678
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-02-10 15:43:41 +00:00
Jason L Perry f988fdd5cc Add "shadow" property to feature flags
This allows a feature flag to remain hidden, even after being enabled.
Only Site Admins will be able to see and opt in/out of shadow features.
The generated API documentation is not changed, as the shadow property
is not shown to non-Site Admins and is meant for internal use only.

This also enables the shadow property for the the `send_usage_metrics`
feature flag.

Closes FOO-3277

flag=none

Test Plan:
* Set `shadow: true` on a feature
* Verify it's shown in the UI if you're a site admin.
* Verify you can't see it as a root account admin, even when enabled.

Change-Id: I5d764c50014b1bb1d2064a22cb5f88022d752e3a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309190
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Perry <jason.perry@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2023-02-09 22:03:35 +00:00
Rajmund Csehil f8b0d9d395 Media Player Iframe - no grey border in cross-domain LTI tools
When the media player is embedded as an iframe
into another iframe, which is embedded into Canvas
the player thinks it is loaded in standalone mode.
This PS makes the following scenario work
Canvas (me.instructure.com) -embeds-> LTI (lti.domain1.com) -embeds->
-> Media Player Iframe (me.instructure.com/media_objects_iframe)

fixes QUIZ-10562

flag=none

Test plan:
Test in Canvas
go to courses/pages
add a page
insert a video file
there should be no grey border in the videoplayer box
video should be resizeable using the tray and switching to a bigger size

save the page and look at the rendered version of the page
video should be like it was in edit mode

Change-Id: I9b306baa5275a563c46149dbae95e56c4c376677
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310218
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Ferenc Marcsó <ferenc.marcso@instructure.com>
QA-Review: Roland Beres <roland.beres@instructure.com>
Product-Review: Rajmund Csehil <rajmund.csehil@instructure.com>
2023-02-09 14:38:41 +00:00
Aaron Shafovaloff c44522ba70 Improve types for GradeInput
Test plan:
  - Existing tests should pass

flag=none

Refs EVAL-2886

Change-Id: I3e76c0c87930a8f6da5531997f6dc7fa64b19d4f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310690
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-02-08 18:21:09 +00:00
Caleb Guanzon 63c8517942 respect granular course content permissions in announcements ui
flag=granular_permissions_manage_course_content
fixes VICE-3285

Since the permission explainer test specifically specifies
that announcement locking and deleting should really
affect announcements locking and deleting,

we should make it so

this fix will also work with the manage course content
combined permission

test plan:
- turn on the
granular_permissions_manage_course_content feature flag

verify the following in the course announcements index:
- the delete row item menu option only shows for roles with
the manage_course_content_delete permission
- the lock/allow row item menu option only shows for roles with
the manage_course_content_edit permission
- if user has neither of these 2 permissions, the
announcement rows do not show a checkbox, and does
not show a manage menu

Change-Id: Ia4b2eee6461b6a85ae71a8b8e5af15586b7aad23
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310593
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2023-02-08 17:07:25 +00:00
Aaron Shafovaloff 50fd556f45 Improve types for grading inputs and results
Test plan:
  - Existing tests should pass

flag=none

Refs EVAL-2886

Change-Id: I9adc05fc38f748706df3445288279f674a0dfaff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310609
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
2023-02-08 15:13:22 +00:00
Martin Yosifov dc22de09f1 Append (unpublished) to name of unpublished artifacts in AS
closes OUT-5373
flag=outcome_alignment_summary

Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes
- Create an outcome and a rubric and align them
- Create and publish an assignment and
align it with the rubric
- Create, but do not publish, a classic quiz and
align it with the rubric
- Go to Course > Outcomes > Alignments
- Select the outcome and expand it
- Verify that the outcome alignment to the classic quiz
displays "(unpublished)" after the quiz title
- Verify that the outcome alignment to the assignment does
not display "(unpublished)" after the assignment title
- Unpublish the assignment and publish the classic quiz
- Go to Course > Outcomes > Alignments
- Select the outcome and expand it
- Verify that the outcome alignment to the classic quiz does
not display "(unpublished)" after the quiz title
- Verify that the outcome alignment to the assignment
displays "(unpublished)" after the assignment title

Change-Id: I5a8a3674c415927bdbe64b9aeb9ae29a2e294f4c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310293
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
QA-Review: Dave Wenzlick <david.wenzlick@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2023-02-06 22:50:01 +00:00
Derek Williams 8e3d63ee25 Add A11y support to file table on proxy upload modal
closes EVAL-2818
flag=proxy_file_uploads

test plan:
- create an assignment that accepts file upload submissions
- as a teacher, view that assignment in gradebook
- click 'Submit for Student' to bring up the proxy upload modal
- add at least 1 file to the modal, but don't submit yet
- navigate the table with screen reader enabled
- ensure each column has an audible header
- ensure each cell in body rows has an audible description

Change-Id: I2c55b6520fa8d4947c2f54e65a546fa51e1f3c68
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/309633
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
2023-02-06 18:24:46 +00:00
Aaron Shafovaloff cec7be603b Fail builds on new TypeScript errors
Test plan:
  - Run `yarn run check:ts` and see that it fails on new TypeScript errors

Future improvement needed:
  - Improve Gergich to parse TypeScript errors

Closes DE-1519

flag=none

Change-Id: I16a498794839753c0f6494f413480df954c55ad8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/310200
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: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2023-02-02 21:25:49 +00:00