closes OUT-6300
flag=inbox_settings
Test plan:
- Go to Site Admin->Features and enable Inbox Settings FF
- Go to Account->Settings and verify that when Enable Inbox
Signature Block is not checked, Disable Inbox Signature Block
for Students is locked and cannot be checked
- Verify that when Enable Inbox Signature Block is checked,
Disable Inbox Signature Block for Students is not locked
and can be checked
- Repeat above for Enable Inbox Auto Response and Disable
Inbox Auto Response for Students
- Enable Inbox Signature Block, Inbox Signature Block for
Students, Inbox Auto Response and Disable Inbox Auto Response
for Students
- Create user and course, enroll user as student in that
course, act as user and confirm enrollment, then go to Inbox
- Verify that there is no Inbox Settings button
- Create another course, enroll user as teacher in that
course, act as user and confirm enrollment, then go to Inbox
- Verify that there is Inbox Settings button; click on
that button and in the modal verify that both Auto
Response and Signature settings are available
- Create another user, act as that user and go to Inbox
- Verify that there is no Inbox Settings button
- Start rails console and make the second user Account Admin
account = switch_to_shard! 'shard name'
user = User.find('put user id here')
role = Role.get_built_in_role("AccountAdmin",
root_account_id: account.id)
account.account_users.create!(user:, role:)
- In Canvas, act as that user and go to Inbox
- Verify that there is Inbox Settings button; click on
that button and in the modal verify that both Auto
Response and Signature settings are available
- Add that second user as observer in a course,
then act as user and go to Inbox
- Verify that there is no Inbox Settings button
Change-Id: I3d984730f6c4a52c807b0c6a98d14e9cfb9d7566
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348208
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Anderson <jason.anderson@instructure.com>
QA-Review: Jason Anderson <jason.anderson@instructure.com>
Product-Review: Chrystal Langston <chrystal.langston@instructure.com>
The version query param corresponds with the submission.attempt - 1,
not the associated SubmissionVersion number.
closes EVAL-4251
flag=none
Test Plan:
1. Create an assignment
2. Submit to the assignment as a student
3. Grade the student
4. Change the points possible on the assignment
5. Verify (through API or rails console) the submission's `attempt` is
1 (because the student has turned in work once) but that it has a
associated SubmissionVersion with a `number` of 2 (because two
versions have been created; one when the student submitted and one
when the points possible were changed)
6. Make a graphQL request to get the previewUrl for the submission.
Verify the `version` param in the returned URL is 0 (attempt - 1).
Change-Id: I130057b2fc3b3d6d9e994994adc59197e470dd75
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349427
Reviewed-by: Rohan Chugh <rohan.chugh@instructure.com>
QA-Review: Rohan Chugh <rohan.chugh@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
for example, it might be coming from the school's SAML provider,
and they trust it
closes AE-1000
Change-Id: I9814eb39dbd0710629cf8e8acda208649a1e3287
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349294
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs FOO-4085
flag=instui_nav
test plan
- feature options on
User Settings: /profile/settings
should be displayed
Change-Id: Ic3fc71af4e64b679c06de9b0dc1f0fa2a0f7c9c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349439
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
closes OUT-6398
flag=none
test plan:
- You will need three different profiles
(root account, teacher, student)
- In your root account
- Go to /accounts/self
- Go to Settings
- Check Enable Personal Pronouns
- Click on Update Settings
- Create a course
- Go to the course
- Go to People and create user1 (Teacher)
and user2 (Student)
- Log in as user2 to enroll in the course
- Log in as user1 to enroll in the course
and compose a message to the user2
- Go to Account -> Profile
- Click on Edit Profile
- Change Pronouns
- Click on Save Profile
- For the user2, go to inbox and select the message
- Note that user1 pronouns show up
- In your root account
- Go to /accounts/self
- Go to Settings
- Uncheck Enable Personal Pronouns
- Click on Update Settings
- For the user2, refresh the inbox page and select the message
- Note that user1 pronouns do not show up
Change-Id: I99620b200287e8c486be02d4263a55b68a224635
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349183
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
This commit adds the necessary model changes and the frontend state
management needed to implement the Registration wizard (specifically the
Dynamic Registration portion of it).
Zod models have been added to `manage/model`
API calls have been added to `manage/api`
- `manage/registration_wizard` contains the components for the over-arching registration wizard.
(This will manage dynamic registration, manual, and 1.1 wizards)
- `manage/dynamic_registration_wizard` contains the components for the dynamic registration wizard
test plan:
1. Load the Extensions page
2. Click "Manage"
3. Click "Install new Extension"
4. The Dynamic registration process should roughly work (The UI of those steps still needs to be finalized)
5. Ensure the tests pass
closes INTEROP-8588
flag=lti_registrations_page
Change-Id: I09c9207927a0ef45488a7b9700c8f7104c6ebd5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348757
Reviewed-by: Ryan Hawkins <ryan.hawkins@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
- Changes LTI icon sizing to match parent element
- Fix sizing for menus and navigation toolbars
Closes INTEROP-8614
flag=none
test plan
- For each of the placements below, confirm that the icon is a
reasonable size relative to its surroundings:
-Course Home Sub-Navigation
-Global Navigation
-Assignments Index Menu
-Course Settings Sub-Navigation
-Discussion Topic Menu
-Discussion Index Menu
-Files Index Menu
(Refer to this link for the locations above: https://canvas.instructure.com/doc/api/file.placements_overview.html#assignments-index-menu)
Change-Id: Ib62b70490f209e326e110a5891ab32845e31dae1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348786
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Siddharth Bawankule <siddharth.bawankule@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
fixes RCX-1946
flag=file_verifiers_for_quiz_links
Test plan
- Build with quizzes and ensure any course
file links you create in quizzes have file
verifiers
- Turn off the feature flag and ensure that
file links do not get verifiers added
Change-Id: Iafa86afce339182afa728581a7c4c7a7c8e38cc6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348782
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 EVAL-4016
flag=assignments_2_student
Test Plan:
- Create an assignment with text entry submission type.
- Attach a rubric to the assignment.
- As a student, go to the assignment
- Ensure the rubric is initially expanded
- Close the rubric with the little arrow in the corner
- Start typing a reply in the RCE.
- Once you stop typing, and the RCE saves the draft, after a few seconds
- ensure the rubric panel does NOT open up again.
Change-Id: I176d1dd94fc60298dfb032f4c0f1db6493b068c2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/345641
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Chris Soto <christopher.soto@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
flag=speedgrader_studio_media_capture
test plan:
- have a course with at least 1 student and assignnment
- go to SpeedGrader with the FF on
- record or upload a media submission comment
- click the video to open the media player
- notice the media player is the new one
Change-Id: Ia17ca557130098b9bfaee4c31a4bd2b88c773c11
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349020
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
QA-Review: Cameron Ray <cameron.ray@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
Splitting the differentiated_modules flag allows us to enable the
backend changes transparently and in a backwards-compatible manner
to ensure performance before enabling the user-facing changes that
fully expose this feature. Renaming the original flag makes it easy
to ensure we've transitioned each existing instance to the proper
new flag.
What should go behind each flag?
selective_release_backend
- any change with potential performance implications should go here
- any change that is not required to go in
selective_release_ui_api should go here
selective_release_ui_api
- any change that changes UI or reveals this feature in the
frontend must go here
- any change allowing the creation of module-, page-, or discussion-
type AssignmentOverride must go here
- any change which allows data changes that are not backwards
compatible (if the flags are disabled) must go here
One other way of putting this - with the selective_release_backend
flag enabled, selective release should be fully functional if
AssignmentOverrides exist, there's just no way to actually create
them or tell that anything has changed.
closes LX-1671
flag = selective_release_backend, selective_release_ui_api
[skip-crystalball]
[fsc-max-nodes=20]
[fsc-timeout=40]
Test plan:
- Enable the selective_release_backend but not
selective_release_ui_api
- Expect to not see any selective release UI around Canvas
(including module edit rewrite, module assign to, learning
object show/index/edit assign to, pages "Mastery paths"
checkbox)
- Expect to not be able to use the learning object dates
api
- Enable the selective_release_ui_api flag
- Expect selective release to work as normal
Change-Id: Ia9ab02a005e4391aa63e7f2b7d5b77c990cd8154
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349192
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>
fixes FOO-4488
flag=temporary_enrollments
test plan:
• have temporary enrollments FF enabled
• have some temporary enrollment pairings that are
active AND future dated
• on accounts/self/users page, click "Manage Temporary Enrollment
Recipients" or "Manage Temporary Enrollment Providers"
• verify that the list includes a new column labled "Status" that
shows "Active" or "Future" for each enrollment pairing row
Change-Id: I2db7c96565cb876e63920fdef594b3ccfe4e1fbb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349316
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: August Thornton <august@instructure.com>
these views are causing serious performance problems. follow
the advice of our DBAs and instead of using/ joining on the
assignment_student_visibilities view we will now use the new
services
closes LX-1728
flag=differentiated_modules
test plan:
- tests pass
- a thorough QA of assigning assignments to different students
and sections and checking for correct visibility.
Change-Id: If88db4b7d26b6d289bcd453ea6108ce11d949bdf
Change-Id: Idc141205b1949416e5f17a5b87fbbdcbc99c4356
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349302
Reviewed-by: Jen Smith <jen.smith@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Sarah Gerard <sarah.gerard@instructure.com>
refs LX-1694
flag = differentiated_modules
Test plan:
- Login as an account admin
- Visit a course where you're not enrolled as any user
- Create a new discussion
- Expect to see the manage assign to UI
Change-Id: I29bfbb5193f6b12dfc8a0f85121987b033a90fa4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349320
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>
remove orange dot that indicates grading is needed in speedgrader if
there is no submission for that student but the teacher accidentally
graded the student and removed the grade afterwards
closes EVAL-4069
flag=none
test plan:
- go to a course with a student and an assignment that has not been
submitted or graded by the teacher
- give the student a grade (ensure there is no submission from the
student)
- remove the grade
- go to speedgrader
- the orange (sometimes white) dot should not be there next to the
student's name in the student list dropdown at the top right of
the page
Change-Id: Iccf1a0cc4441176a0e716d751215b3d6989fb4a8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/345613
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Chris Soto <christopher.soto@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
flag = differentiated_modules
Test plan:
- Create 2 ungraded topics, leave 1 alone and assign the other to
a student
- Add both topics to a module
- As the assigned student, expect to see both topics in modules
- As an unassigned student, expect to just see the one topic
Change-Id: I3809ce0dfc2650eddad29a63b74b8d1344f96ebf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349304
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
refs EVAL-4171
flag=none
flag=responsive_student_grades_page
Test plan:
- all tests pass including new test in this CR
- have a course with a student enrolled and
an assignment in an assignment group.
- have "Update grade summary table
to use a modern framework" FF OFF
and "Responsive Student Grades Page" FF
ON or OFF (either way SHOULD work)
- As the student go to the Grades page
and note that the row for the assignment
group has the name of the assignment group
listed only once.
- have "Update grade summary table
to use a modern framework" FF ON
- As the student go to the Grades page
and note that the row for the assignment
group has the name of the assignment group
listed only once.
Change-Id: If1710247a771e08e55da17efb0662ae4317cf6b2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349268
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
closes VICE-4288
flag=discussion_checkpoints
flag=discussion_create
flag=react_discussions_post
Test Plan
1. Create checkpointed discussions
2. Open bulk assignment edit
3. The checkpointed assignments should not be visble on the page
Change-Id: Ia13dcbbe2c66717062e5db918384b2aa507df415
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349119
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
flag=platform_service_speedgrader
Test plan:
- Visit speedgrader with platform_sg=false
- Should show old speedgrader
- platform_sg=true
- Should show new speedgrader
Change-Id: I985564577a6aad6ed3a4657b3c57a6d6b652b69b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349293
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>
test plan:
- have a course with searchable objects of each type
(page, assignment, discussion topic, announcement)
- do a search from this course to ensure the source
course embeddings are up to date
- copy the course to a destination course where the
smart search feature flag is enabled
- run a search in the destination course and confirm
the progress bar quickly finishes if you see it at all
(we still have to check it because it's possible to
do a course copy into an existing shell that is
missing embeddings)
- copy the course into a destination course where the
smart search feature flag is *not* enabled
- verify there are no embeddings created or copied
into the new destination
flag=smart_search
closes ADV-57
Change-Id: Ia8d040506359d2c4bd7718e19ba135c04a458af2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/348353
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes AE-280
[skip-stages=Flakey]
also vastly simplified the EventStream gem that no longer has to deal
with Cassandra
a pre-deploy migration is added that will migrate data from Cassandra
back to Postgres if you're currently using Cassandra. this means the
actual Cassandra gem dependencies can't be removed until that migration
is squashed
Change-Id: I0246ad9c058416e373ed4118a378bd640ace9c98
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349182
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Build-Review: Jacob Burroughs <jburroughs@instructure.com>
Migration-Review: Jacob Burroughs <jburroughs@instructure.com>