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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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/+/273803https://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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>