If a teacher restores a group discussion while the
course discussion is still deleted, it leads to unexpected
product behavior.
Instead, teachers should leave the course discussion
undeleted, and delete specific group discussions.
This prevents group discussions from being restored if their
associated course discussion is deleted.
Test Plan:
- Create a course with a group set and a group
- Create a course discussion topic for that group set.
- Delete the course discussion.
- Notice that the GROUP discussion topic is not listed
on the group undelete page.
- If you try to make the API call to restore the group
discussion, it gives a 403 Forbidden error.
closes VICE-3426
flag = none
Change-Id: I55832d243845571d73bdabee9481ebac40500ef8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317191
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jody Sailor
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
This column will be used to track whether admins want users to be
automatically subscribed to the account's calendar. Making it a string
column to allow for potential future subscription models. Using a
column instead of a setting since we'll make queries against this
column and don't want to load lots of accounts into memory.
Also adds a partial index as a postdeploy. The new app code that uses
this column is behind a feature flag and won't be used until after the
deploy is complete, so a postdeploy is fine here.
closes LS-3981
flag = none
Test plan:
- Run migrations
- In a rails console, create an account:
`Account.create!(account_calendar_subscription_type: "auto")`
- Run `Account.auto_subscribe_calendar`
- Expect to see only the new account you just created
- Run `Account.create!(account_calendar_subscription_type: "blah")`
- Expect that to fail
Change-Id: Ic09e5b9af3fbe138075419a4279b9bd0b00859db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317173
Migration-Review: Cody Cutrer <cody@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>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
flag=restrict_quantitative_data
fixes VICE-3482
test plan:
- turn rqd feature flag and course setting ON
- visit course settings page
- verify that you do not see the
Hide totals in student grades summary checkbox
Change-Id: Ib608a9630be352f3cb9523c89fe92af258cffa48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317272
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
release = none
test plan:
Load the select content dialog (By doing a deep linking/content item
launch), and find a tool that has a magnifying glass, and make sure it's
aligned properly.
Change-Id: Ieb028244171a68413cba625a5a613bf3037d5838
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/315444
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Paul Gray <paul.gray@instructure.com>
Product-Review: Paul Gray <paul.gray@instructure.com>
flag=restrict_quantitative_data
fixes VICE-3478
test plan:
- as a teacher or admin
- follow the steps as outlined in
the newly created selenium tests
Change-Id: I11bcb461e2af3d6813a6a39fcfbb7015b75b9753
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317161
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jody Sailor
QA-Review: Drake Harper <drake.harper@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>
closes VICE-3466
flag=react_inbox
Test Plan
1. go to react inbox
2. set network throttle to slow
3. Star conversations
4. The star state should set before network request finishes
5. If network request fails, the original state should return
6. do steps 3-5 for marking conversation unread
7. Reset network throttle to no throttle.
Change-Id: I3bd9d8b4aaec49e50c484e45f37bce3da38ec769
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317061
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
flag = auto_subscribe_account_calendars
closes LS-3979
Test plan: specs pass
Change-Id: Iaf29690ad88c555b20364469a1b6dc710d451177
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317143
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: Jackson Howe <jackson.howe@instructure.com>
flag = none
closes LS-3980
Test plan:
Spot check these areas to make sure they still work:
- Edit account calendar visibility as an admin
- Change account calendar granular permissions in account permissions
- Add account calendar events in the calendar as an admin
- Subscribe to and view account calendars as a student
Change-Id: I9a5a3fa85f5557720f43a5e26c3abf5218127259
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317141
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: Jackson Howe <jackson.howe@instructure.com>
why:
* overwriting the urls during the beta refresh is expensive, slow,
often causes the beta refresh to take too long, and doesn't account
for many situations like rich content links or content items that
don't directly match the tool's url
* instead, use the same tool config to mutate the urls at launch time
for 1.1 tools
* this doesn't apply to 1.3 tools, which should use the
canvas_environment parameter of the login request to achieve similar
results
closes INTEROP-8005
flag=none
test plan
* install a LTI 1.1 test tool (https://lti-1p1-test-tool.vercel.app/) is
easiest
* modify it in the Rails console to include a domain or launch_url
override:
```
t.settings[:environments] = {
domain: "https://lti-1p1-test-tool-git-master-xandroxygen.vercel.app/"
}
t.save!
```
* create some content from this tool - assignments that launch it,
rich content items - you can check the ticket comments for some examples
of the current behavior in beta and things to test
* mock your local canvas to be "beta":
* create a test_cluster.yml file in the config folder
* add `test_cluster_name: 'beta'` to that file
* in a rails console, run `Setting.set("allow_tc_access_", "true")`
* restart your canvas `dc restart`
* launch the 1.1 test tool - it should be launching to the overridden
domain
* launch some of the content you created - it should also be launching
to the new domain
Change-Id: I21f1164799a68016921d34d3924ca621589235ba
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314470
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Alexis Nast <alexis.nast@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>
refs VICE-3502
flag=restrict_quantitative_data
Test Plan:
- specs pass
- in a rails console
- get an assignment
- get a user
- call assignment.grade_for_student(user)
- should return the grade for the user
Change-Id: I4ba2c43fe24fe14bd897c242eb426d6ae1e56769
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317045
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: Chawn Neal <chawn.neal@instructure.com>
closes LS-3884
flag=none
Test-plan:
- Create a blueprint course
- Check that it displays the BP sidebar
trigger and sidebar correctly
- Access it in a mobile or with a mobile viewport
- Check that the normal BP sidebar trigger is hidden
- Check that the mobile header has a new BP trigger
- Activate it and check that the sidebar opens up
- Check that the new trigger does not show up in
normal or child courses's mobile header and that
there is no extra space where the trigger would be
Change-Id: Ic40d45e48a3a42cf494111513c01828233cf882d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317059
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: Luis Oliveira <luis.oliveira@instructure.com>
We had duplicate onStar Logic within the CanvasInbox and its child
ConversationListContainer. This patchset removes the duplicate logic
and consolidates it in the same way that the onRead mutation is handled.
refs VICE-3466
flag=react_inbox
Test Plan
1. Verify that onStar functionality still works correctly
Change-Id: Idd80527c2b2ab19ab6dd4b14cc2fd13d67b85d8c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317033
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Jason Gillett <jason.gillett@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>
when entering a what-if score for a classic quiz that requires grading
(pending_review status), the total does not update if the "Calculate
based only on graded assignments" button is checked.
fixes EVAL-3042
flag=none
test plan:
- as a teacher, create a classic quiz with an essay question
- as a student, take the quiz
- as the student, view the grades page
- make sure the "Calculate based only on graded assignments" box is
checked
- verify that the total score percentage and points do not factor the
score/points for the ungraded quiz assignment.
- as the student, you should see the rocket icon next to the assignment
- as the student, modify the score for the assignment
- verify that the total score updates to reflect the changes for the
entered score. Verify that both the percentage and the points are
updated.
- as the student, revert the score back to the original score.
- verify that the total score percentage and points both go back to the
original values.
- as the student, refresh the page and verify that the total score
percentage and points do not factor the points for the ungraded quiz
assignment.
Change-Id: I8a847d19b9c250e634cec2dc194cd917d352a683
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316770
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: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
Does two things:
1. Allows passing of `skip_downstream_changes` via the
assignment update api. This allows us to make changes
blueprint child assignments without excluding them
from future blueprint syncs. This is necessary because
we update the workflow state during the initial BPS.
2. Skips downstream changes when marking NQ assignments
as `duplicating` during the initial BPS.
refs QUIZ-9465
Test Plan:
- Specs pass
- Run the test plan from the coresponding LTI PS:
https://gerrit.instructure.com/c/quiz_lti/+/314701
Change-Id: If7dd580046c370d94fc1c7f6fa7b998c500225dc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/314703
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: James Logan <james.logan@instructure.com>
the notifications url gets added via the layout template partial
and is only included in one of our manual access token creation
templates, so I'm just going to remove it from the html template,
to be consistent with the others.
fixes FOO-3480
refs FOO-3412
flag = none
test plan:
• have a multi-sharded canvas setup using MRA
• have a user with an active email communication channel that
has been created on a shard different than your default shard
(where the siteadmin account resides)
• log in as the user and navigate to their user settings page
• create a new access token using the |+ New Access Token| button
• check the notifications sent to the user and note that the link
on the text “Manage User Settings” points to the correct host
of that user's home account, instead of the primary root account
on the default shard
• verify in the html template we no longer include the link
"Update your notification settings"
• re-generating access tokens should behave similarly
Change-Id: Ib764f315c154baf1fb1a043c2f66baab6adfb804
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316964
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
refs VICE-3502
flag=restrict_quantitative_data
Test Plan:
- grading standards should be queryable on a course
- use the sample query below to test in /graphiql
Sample Query:
query MyQuery {
legacyNode(_id: "1", type: Course) {
... on Course {
gradingStandard {
title
data {
baseValue
letterGrade
}
}
}
}
}
Change-Id: I04174a3b4ea3b26069aafd4384239375b2275610
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/317037
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: Jason Gillett <jason.gillett@instructure.com>
closes: VICE-3459
flag=restrict_qualitative_data
Test Plan:
1. Create a graded discussion
2. enable RQD
3. as a teacher view discussion
4. points possible should be visible
5. View as a student
6. Points possible should not be visible
Change-Id: I0498c659096aadce8e6e3ce921c4252a743a3c4a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316613
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Allison Pittler <allison.pittler@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>
flag=restrict_quantitative_data
flag=assignments_2_student
fixes VICE-3441
test plan:
- have both feature flags ON
- as a teacher go to /courses/:course_id/grades
- click the cog menu
- go to late policy
- set your automatic late deductions
- create an assignment due yesterday and publish
- submit the assignment as a student
- grade the student
- as the student who is quantitative data restricted
- visit your assignment page
- verify that the hovering on the top right of the page
that shows grade does not trigger a tooltip
Change-Id: I8562234ff522a55c800e99c6a8cb1fb1b80de43f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316926
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
flag=react_inbox
closes VICE-3427
Test Plan
1. Open the React inbox
2. Click into the Addressbook
3. Verify that the initial menu is Courses and Users
4. Do the same verification in compose modal
Change-Id: I4464bdcb5d8dc76923bf6a037d35348a7bd3795c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316950
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Allison Pittler <allison.pittler@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes VICE-3410
flag=react_discussions_post
Test Plan
1. Create a discussion
2. Create an entry as a student with an attachment
3. As a teacher edit the entry message
4. the edit should be successful.
Change-Id: I75569b5f89c4ad765dc2b2381c1e4f094af28bfd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316947
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@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>
the cause was special characters and the non-standard use of React.
test plan:
- turn on enhanced_gradebook_filters
- create a student group with special characters (e.g. <, >, &)
- attempt to filter by it in the gradebook
- the filter navbar should not disappear
fixes EVAL-3032
flag=enhanced_gradebook_filters
Change-Id: I377edba4d97c29f80e800165fa1b059c07a2b7b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/316905
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>