Commit Graph

4788 Commits

Author SHA1 Message Date
Keith T. Garner f801c44dba add date info to grading period filter
When filtering by grading period in the gradebook, it would often be
helpful to teachers if they knew the start, end, and close dates of the
grading period. This change adds that information to the grading period
filter.

closes EVAL-3936
flag=grading_periods_filter_dates

test plan:
 - Have the release flag for this feature turned on
 - Have a course in a term with multiple grading periods
 - Go to the gradebook
 - Filter by grading period
 - Note the correct dates for start, end, and close for each grading
   period in the Select
 - repeat the above steps with enhanced gradebook filters enabled

Change-Id: If111fce30567ae0ec0342c529cb810a968229ba2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339745
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-02-12 17:20:44 +00:00
Michael Hulse 16131f3c90 upgrade jquery-ui droppable to unpatched 1.9.0-beta.1
unblocking jquery upgrade path

refs FOO-4258
flag=none

test plan: tests pass

[skip-crystalball]

Change-Id: I15974ddce875943ff03598e3ee4efb2fa4102916
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340159
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
2024-02-09 23:03:58 +00:00
Michael Hulse e27c6f5039 upgrade jquery-ui datepicker to unpatched 1.9.0-beta.1
unblocking jquery upgrade path

refs FOO-4258
flag=none

test plan: tests pass

[skip-crystalball]

Change-Id: I1a8d176bd802905b77b0ee45acb96a5c33f3f254
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340025
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
2024-02-09 23:01:50 +00:00
Jason Gillett 532ddbec69 Update how scrolling works on redesign inbox
Changing the height between 100% and 100vh is why the main
content would move the scroll to the top of the page when opening
a split-screen thread

refs VICE-4094
flag=react_discussions

Test Plan
1. Go to a react discussion page
2. Scroll on main page
3. Open a thread
4. Verify that the main page did not scroll
5. Open a discussion within a module
6. Verify that module menu is always on the bottom

Change-Id: Ieaab77f58c41d9ab88504ed859dfaff19635d63f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340151
Product-Review: Sam Garza <sam.garza@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-09 22:10:56 +00:00
Omar Gerardo Soto-Fortuño fe419df5e3 Return focus to the triggering element when closing drawer
fixes VICE-4094
flag=react_discussions_post

test plan:
  - Specs pass.
  - Have a Discussion Topic with multiple root
      entries that causes the page to scroll.
  - Make sure to be using Split Screen.
  - Click on the reply of the last entry.
  - It should open the drawer.
  - Close the drawer.
  - Focus should return to the Reply button
      that caused the Split Screen (Drawer)
      to open.

qa risk: low

Change-Id: Ic2a22ae28670fb97adda38cd3344ea3d7e0b6237
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340039
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-09 17:31:11 +00:00
Kai Bjorkman b4790c4df2 popover menu on rubric index page
Added the popover menu to the rubric edit page. I added all of the
buttons from the design, but the only one that is functional is the
edit button at the moment.

closes EVAL-3925
flag=enhanced_rubrics

Test Plan:
- navigate to the rubric index page
- click on the popover menu for a rubric
- verify that the popover menu appears
- click on the edit button
- verify that the edit rubric modal appears
- verify this works for multiple rubrics

Change-Id: If594a558f94c4ec00ed6830d7e5eca32c6cd6495
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339844
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Derek Williams <derek.williams@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-02-09 16:57:52 +00:00
jonathan d72731e3a8 Omit overridden module cards
closes LF-1069
flag=differentiated_modules

Test plan:

Section assignees
1-Go to the modules page.
2-Open the module “assign to” tray and add some sections
3-Open the “assign to” tray for a module item
4-Expect to see the module override card
5-Modify any date and save
6-Open the tray again and expect to see the card only once and the
“Inherited from Module” text to not appear
7-Delete the card and save
8-Open the tray again and expect to see the module card

Students assignees
1-Go to the modules page.
2-Open the module “assign to” tray and add some students
3-Open the assign to tray for a module item
4-Remove one student from the module card
5-Create a new card and add the student you just removed
6-Save, and open the tray again
7-Expect to see the module card with all the students you added in
the step 2 but not the student you overridden in the assignment
8-Delete the card for the overridden student and save
9-Open the tray again and expect to see the module card with all the
students

Change-Id: Ie552e457febcafd426819797311edefb0b19ce44
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339991
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2024-02-09 16:51:20 +00:00
Jason Gillett 8832c974b8 Send notification to the correct mentioned user
closes VICE-3930
flag=react_discussions

Test Plan
1. in react discussions create a 3rd level reply
2. When creating the 3rd level reply, an @mention should
be created
3. Open the html view in the RCE
4. Verify that the produced @mention span has
the correct userID is listed in the data-mention span

Change-Id: I6a487d351bee07f0377c011a38664ef23f687906
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339965
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-09 16:50:43 +00:00
Chris Soto 9bb60b874c rubric redesign add load criteria
this commit removes the hard coded rubric criteria data and loads any
existing criteria in the UI. It also allows a user to open the criteria
modal by clicking on the "Edit" icon (ratings not loaded yet). It also
adds the ratings accordion that when clicked will show the rating.
details for a criterion. It also allows the rubric to be saved without
losing any criterion data.

closes EVAL-3940
closes EVAL-3633
flag=enhanced_rubrics

test plan:
- navigate to /rubrics
- click on a rubric for Edit
- verify that any existing criterion is loaded correctly and that the
  "Edit" icon is clickable and opens the criteria modal
- verify that the ratings accordion is clickable and shows the rating
  details for a criterion
- verify that the last option is the correctly numbered row with the
  "Draft New Criterion" button & "Create from Outcome button"
- verify that the rubric can be saved without losing any criterion data
- go back to /rubrics and click on "Create New Rubric"
- verify that no criterion is listed and only the buttons for creating
  new criterion are visible

Change-Id: I34e74b52c06ec25db84947f7c1566c554ec7425e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340042
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: Ravi Koll <ravi.koll@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-09 16:44:43 +00:00
Jason Gillett 04adf804f5 Correctly hide quote option according to permissions
closes VICE-4054
flag=react_discussions

Test Plan
1. Create a discussion
2. Create entry
3. Close for comments
4. Enter student view
5. Verify that the reply and the quote option are gone

Change-Id: I42c4ccb386197a0651f09bf0e966ca3f24f588ac
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339954
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Samuel Lee <samuel.lee@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-09 16:26:07 +00:00
Angela Gomba ad15681d03 upgrade jquery-ui progressbar to unpatched 1.9.0-beta.1
Part of unblcoking the jQuery 2.x upgrade.

refs FOO-4258
flag=none

Test Plan:
- Jenkins passes

[skip-crystalball]

Change-Id: I7443318d900a9c99452c71e7e4d7de2b163bc84c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339899
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Jen Smith <jen.smith@instructure.com>
Product-Review: Jen Smith <jen.smith@instructure.com>
2024-02-08 23:27:51 +00:00
Aaron Shafovaloff 6f03d7d349 replace webpack with rspack
test plan:
  - run rspack locally (as "webpack" for now)
  - ensure coverage data for crystalball
  - ensure build passes with skip-crystalball
  - ensure source maps for local dev
  - ensure bundle analysis is available and documented
  - ensure compile times are at least comparable

refs CFA-32

[skip-crystalball]

flag=none

Change-Id: I8ad916ac7fbe9e3ecee5c690abcd78cdde748ab6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339401
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-08 23:02:33 +00:00
AJ Esa 4c29072892 show all accounts/courses/groups links first consistently
the all accounts, all courses and all groups in the mobile nav should
show before other accounts, courses and groups links in mobile nav,
similar to desktop global nav.

closes FOO-4158
flag=none

test plan:
- shrink window size to view mobile global nav
- make sure link for all accounts, courses and groups shows first

Change-Id: I16179c6839dae658fc724a2d80a38d8ffe846cf0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339852
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
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>
2024-02-08 22:07:27 +00:00
Michael Hulse 4360440a23 upgrade jquery-ui tabs to unpatched 1.9.0-beta.1
unblocking jquery upgrade path

refs FOO-4258
flag=none

test plan: tests pass

[skip-crystalball]

Change-Id: If881ebbf0bfee8def1c7f8ee621681f57baa3000
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339984
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Michael Hulse <michael.hulse@instructure.com>
Product-Review: Michael Hulse <michael.hulse@instructure.com>
2024-02-08 20:58:21 +00:00
Aaron Shafovaloff d214a19256 skip fickle test in FeatureFlags.test.jsx
Change-Id: I9ead1f1aee1a28de4f6c4edceaf05ddb1349213d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/340055
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-08 19:08:22 +00:00
Jen Smith c5f1f3bf47 upgrade jquery-ui resizable to unpatched 1.9.0-beta.1
unblocking jquery upgrade path

refs FOO-4258
flag=none

test plan: tests pass

[skip-crystalball]

Change-Id: I7800211141e798a86cc1a93f4a3b51bd89ed1a3b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339990
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jen Smith <jen.smith@instructure.com>
Product-Review: Jen Smith <jen.smith@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
2024-02-08 03:42:44 +00:00
Angela Gomba 82e4724c1f upgrade jquery-ui position to unpatched 1.9.0-beta.1
Part of unblcoking the jQuery 2.x upgrade.

refs FOO-4258
flag=none

Test Plan:
- Jenkins passes

Change-Id: I6560518f7d84faf67b7a7a76037ea3948c9229a4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339894
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Jen Smith <jen.smith@instructure.com>
Product-Review: Jen Smith <jen.smith@instructure.com>
2024-02-08 02:47:04 +00:00
Jen Smith 484c57565e upgrade jquery-ui button to unpatched 1.9.0-beta.1
unblocking jquery upgrade path

flag = none

Test Plan: tests pass

refs FOO-4258

Change-Id: If147beec23f18e4db148e31128052f816bc7ac3c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339884
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jen Smith <jen.smith@instructure.com>
Product-Review: Jen Smith <jen.smith@instructure.com>
2024-02-07 21:39:20 +00:00
Aaron Shafovaloff ccfb162bae remove require statement; replace with import
Change-Id: I465eddfaf9bbc8bd7d2421def195f074fb04ef59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339966
Reviewed-by: Samuel Lee <samuel.lee@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-07 21:11:21 +00:00
Martin Ochoa 23e380436f Top Nav breadcrumbs
Added new top nav for exploration and development.
This is a work in progress and is not ready for production use

closes=FOO-4127
closes=FOO-4126

test plan:
- Log in to Canvas as an Admin
- Turn on the instui_nav flag
- Go to Admin > Permissions
- Top Nav should show
- Tests will pass

Change-Id: Iea693fa381327e9109923f509c61439a0c5970b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/338376
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Jen Smith <jen.smith@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2024-02-07 20:13:20 +00:00
Aaron Shafovaloff 59c7681aee replaces SourceFileExtensionsPlugin
instead of writing another webpack/rspack plugin,
I remove the need for it

Canvas is now aware of insertion points
for string-key-based plugins

test plan:
  - confirm that plugins are loading

refs CFA-32

Change-Id: I998aa4d2f63cfc00f610e48a03259f09a2358c5b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339867
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-07 19:18:12 +00:00
Aaron Shafovaloff 27c4493ee2 remove custom loading of jquery.simulate from custom_selenium_actions
Change-Id: I41eb7eb8085bcad91c144f8873a64303c6b34c34
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339951
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@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>
2024-02-07 19:17:41 +00:00
Samuel Lee 963b3f6cab fix student and section filtering for dual enroll
fix student and section filtering where if one student is enrolled
in two sections, one where they are active and one where they are
either inactive or concluded, filtering by the student and then
filtering by the section where they are inactive or concluded will
cause the student to show up in the gradebook

closes EVAL-3909
flag=enhanced_gradebook_filters

Test Plan:
- have two sections in a course
- enroll a student as active in one and concluded in the other
- have the 'Show Concluded Enrollments' option disabled
- filter the gradebook by the student using the Student Names filter
- filter by the section in which they are concluded and confirm that
  they do not appear in the gradebook
- filter by the section in which they are active and confirm that they
  appear in the gradebook
- filter again by the section in which they are concluded
- enable the 'Show Concluded Enrollments' filter and confirm that they
  now appear in the gradebook
- disable the 'Show Concluded Enrollments' filter and confirm that they
  do not appear in the gradebook
- perform the same steps as above but instead of the concluded
  enrollment, make the enrollment inactive.
- Make sure to toggle the 'Show Inactive Enrollments' filter for
  inactive enrollment instead of 'Show Concluded Enrollments'.

Change-Id: Ib6b4f92f6567480333b04725971ffa8c7bc1ed38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339762
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-02-07 18:19:06 +00:00
Samuel Lee cfa27b5d81 match assignment with legacy for graded discussion
match the assignment object with legacy when creating a
graded group discussion that has manual peer reviews and
overrides

closes VICE-4046
flag=discussion_create

Test Plan:
- create a new graded discussion with the setup shown in the image
  attached to the ticket
- verify that the following properties match legacy
    - description field is populated after setting description in
      RCE
    - when discussion is published, field should be set to "published"
      and "unpublished" when discussion is not published
    - submission_types is set to "discussion_topic"
    - peer_review_count is set to 0 when manual peer review is selected
    - group_category_id is set to nil
    - only_visible_to_overrides is set properly when everyone/everyone
      else is removed and added
   - group_category is set to nil

Change-Id: I331810c1b86e29bc6c8237c41631057b30c67849
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339396
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Samuel Lee <samuel.lee@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-07 17:40:17 +00:00
Chris Soto 3b60ee44d0 rubric redesign criterion modal
this commit adds the criterion modal for rubrics redesign. it adds
functionality to add and delete ratings. it does not add the ability to
save changes as that will be done in a follow up commit.

fixes EVAL-3924
flag=enhanced_rubrics

test plan:
- navigate to /accounts/1/rubrics
- click on a rubric name
- click on the "Draft New Criterion" button
- you should be presented with a modal that contains default ratings
- you should be able to hover in between ratings and see an icon to
  add a new rubric in that position.
- click on the icon and a new rating and verify that a new rating is
  added in that position
- click on the delete icon and verify that the rating is removed
- click on the cancel button and verify that the modal is closed and
  no changes are saved

Change-Id: Icd176f86356b76ec13ac3fd03ccc506f125d55a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339854
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Melissa Kruger <melissa.kruger@instructure.com>
2024-02-07 16:21:09 +00:00
Jason Gillett a420e3f526 Add h1 for discussion topic form
closes VICE-4049
flag=discussion_create

Test Plan
1. Open a new discussion topic
2. Verify there is a h1 at the top
3. Verify that it matches legacy create form h1

ui/features/discussion_topic_edit/jst/EditView.handlebars

Change-Id: Ia9ac2f10e1519f2aedc2cb2c721d3f0fa12f0622
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339883
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Samuel Lee <samuel.lee@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-07 16:02:51 +00:00
Jason Gillett e192dec92c Don't allow points possible to be negative
closes VICE-4050
flag=discussion_create

Test Plan
1. Create a new discussion
2. On points possible click it
3. Press downarrow when points possible is 0
4. Verify that the points possible does not go negative.

Change-Id: I386b0f04641cc05e3d5aedf581bbc4fdcd26043e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339877
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Samuel Lee <samuel.lee@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-07 16:02:37 +00:00
Paul Gray dbdaff0bff Add Support to Site Admin for Dynamic Registration
This adds the ability to create LTI registrations to install 1.3 LTI
apps into the Site Admin account.

test plan:

1. Create an LTI Registration in Site Admin by going to "Admin" ->
"Site Admin" -> "Developer Keys" -> "Add Key" and selecting
"LTI Registration."

Follow the prompts to create the registration, and ensure that it shows
up in the list of Developer Keys.

fixes INTEROP-8433
flag=lti_dynamic_registration

Change-Id: I5296f52f9b979ccdc707260e6d11a13cb3fc7af6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339288
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>
2024-02-07 15:10:42 +00:00
Spencer Olson 5aceabd0ba fix gradebook filtering bug
Fixes a bug where any time the logic was called to sort rows in the
Gradebook, the Gradebook would "forget" about students that were loaded
but not in the current view.

closes EVAL-3906
closes EVAL-3916
flag=none

Test Plan 1:
1. Create a course that has two sections, with a different student in each.
2. Go to the Gradebook.
3. Sort by one of the sections.
4. In the student name header, click "Sort By" and then select any option
   that's not already selected.
5. Sort by the second section. Verify the student in the second section is
   shown.

Test Plan 2:
* Prerequisites: A course in a term with multiple grading periods with
two sections and a student enrolled in each section.

1. Go to the gradebook and add a filter for the first section.
2. Add a filter for one of the grading periods.
3. Switch the section filter to the other section and note that the student
   in that section is shown.

Change-Id: I6484c565f0bd53543edb1e3cf4a4a0da9ee9acf9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339388
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-07 15:08:29 +00:00
juan.chavez 56e461edc6 Add user/course timezones to Assign To DateTime inputs
closes LF-1067

flag=differentiated_modules

test plan:
- Set different timezones for the browser and the
course.
- Open Assign To Tray in Modules page.
- Select a valid date/time in the three date inputs.
> Verify that the messages below each input should
show the Local and Course parsed dates.
- Select an invalid date like a lock date before
due date.
> Verify that the custom messages are still there.
> Verify that the default INST-UI messages are not
displayed anymore (like the "Invalid date" message).

NOTE: Need to check using the same timezones. In this
case the parsed dates should not appear
(Local vs Course).

Change-Id: Ic747acd98a7530fe1abbecd43491036e126ca5f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339295
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: Juan Chavez <juan.chavez@instructure.com>
2024-02-07 14:52:44 +00:00
Kai Bjorkman 10ceaceba1 add error message to student view query reports
refs EVAL-3702
flag=assignments_2_student

test plan:
    - specs pass

Change-Id: I9f74e03d672ff5924a4d92b880a6b8f5b9d8b44c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/338910
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Kai Bjorkman <kbjorkman@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-06 21:18:24 +00:00
Chris Soto cd80b314bb fix for LoadingIndicator param type
a recent change to the LoadingIndicator component was causing a new
delay prop to be required and thus causing typescript errors. This
change makes the delay prop optional.

flag=none

test plan:
- all tests pass

Change-Id: I04e18c2153fbd6ae5946c9386968fe69a0e22190
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339555
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Christopher Soto <christopher.soto@instructure.com>
2024-02-06 19:28:59 +00:00
Jared Crystal df5d3f0a21 fix html display of more questions in bank
fixes QO-1034
flag=none

test plan:
 - create a bank with more than 50 questions
 - click "more questions" at the bottom
 - the additional questions should be displayed correctly

 - also, double check that we haven't regressed on the XSS
   vulnerability reported in QO-1027. To do so, you can
   follow the test plan in this PS:
   https://gerrit.instructure.com/c/canvas-lms/+/336607

Change-Id: Ifbacbbcc3dac8a5b93fc9ed45ed39e58a0046a59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339667
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Griffin Zody <griffin.zody@instructure.com>
QA-Review: Griffin Zody <griffin.zody@instructure.com>
Product-Review: Marissa Pio Roda <marissa.pioroda@instructure.com>
2024-02-06 17:20:11 +00:00
Samuel Lee c1a7471d15 fix elements not translated in legacy discussion
closes VICE-4013
flag=none

Test Plan:
- change the language to anything but English
- create a discussion
- confirm that the placeholder for "Topic Title" is now translated to
  the language selected

Change-Id: I3f47c9d75ebdbec384b5ea310a0f8f5cc6e2457c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339742
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2024-02-05 21:35:26 +00:00
Matheus fcd4ed8dc4 Stop always exporting unpublished folders on selective exports
closes LF-1159
flag=none

Test plan:
- Create a course with an unpublished folder
- Create a page and direct share it to a second course
- Check that the second course didn't get the unpublished
  folder imported to it's files

Change-Id: I4dd62b98c2deeda5fb225516cdd8ea2f0877e86b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339660
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-05 20:14:44 +00:00
jonathan ea9aa36599 Unskip ItemAssignToTray unit tests
Some of the unit tests that were skipped seem to be covered by
selenium specs:

“shows existing overrides as selected options” covered by
module_selective_release_item_assign_to_spec.rb:231

“does not allow to use the same assignee in more than one card”
covered by module_selective_release_item_assign_to_spec.rb:217

closes LF-1061
flag=differentiated_modules

Test plan:
Passes Jenkins

Change-Id: I475b7916d7acb042cba8616bb6168b2aaaf1e020
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339604
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2024-02-05 17:37:31 +00:00
gustavo.bernardes 5127499e7e remove css injection from sidenav
Remove CSS injection from SideNav and use pure CSS

closes FOO-4185
flag=instui_nav

test plan:
- Log in to Canvas as an Admin
- Go to RootAccount > Settings > Feature Options >
Enable New InstUI NavBar
- This should render the new SideNav
- Navbar should be displayed

Change-Id: I7bbcb7b32e4d29beee8def6410edef12dbe3a3cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339339
QA-Review: Gustavo Bernardes <gustavo.bernardes@instructure.com>
Product-Review: Gustavo Bernardes <gustavo.bernardes@instructure.com>
Reviewed-by: Martin Ochoa <martin.ochoa@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-05 17:05:47 +00:00
Jackson Howe 6dc8762949 Always send individual messages in scheduler
The appointment group docs said we were sending messages as group
messages unless there were more than 100 recipients, in which case we'd
send individual messages.

In reality, we were always sending messages as individual messages
regardless of recipient count (because we only created the conversation
with group_message=true if there were more than 100 recipients, but in
that case, we also sent bulk_message=true, which sends them as
individual messages anyway).

This commit sends those 2 params on message creation always, regardless
of the number of recipients. Thus, messages will always be sent
individually. The advantage is that this fixes sending messages to large
student groups. Before, we'd think the number of recipients was 1 if
we were sending to a single group of hundreds of students, so we
wouldn't include the group_conversation/bulk_message params and the
message would fail to send. Now, we're always including those params, so
the messages will successfully send even to large student groups.

closes LF-1155
flag = none

Test plan:
 - Create a course with (at least) 101 students
 - Add them all to a student group
 - Make an appointment group and check "Have students sign up in groups"
 - Go to the AG edit page
 - Click "Message Students"
 - Send a message
 - Expect the message to be sent to all students in the group

Change-Id: I70005d08aa1a973ac62979b536793aee5539cb38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339560
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>
2024-02-05 16:48:07 +00:00
Alex Slaughter 303b12b618 fix mastery path icon
Closes: LF-1241

Change-Id: Ie111fa545915bf2facc046cac701bc9f330f7433
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339673
Reviewed-by: Aaron Suggs <aaron.suggs@instructure.com>
QA-Review: Aaron Suggs <aaron.suggs@instructure.com>
Product-Review: Aaron Suggs <aaron.suggs@instructure.com>
Product-Review: Jody Sailor
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-03 02:04:54 +00:00
Ed Schiebel d4093f59da Improve pathway tree scrolling
less jumping about
also removed the learner_passport_r2 flag

refs VICE-3932
flag=learner_passport

test plan:
  - edit a pathway
  - click around in it
  > expect smoother scrolling to get selected
    milestone to (roughly) the center
  - view a pathway
  > expect only the tree area to scroll and the
    header stays put
  - click on a step
  > expect it to scroll into the middle (more or less),
    to be highlighted, and the details tray to open
  - close the tray
  > expect the step to be un-highlighted

Change-Id: I03033ce99041addda1c95359fc48ce12f3662cdd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339547
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Suggs <aaron.suggs@instructure.com>
QA-Review: Aaron Suggs <aaron.suggs@instructure.com>
Product-Review: Aaron Suggs <aaron.suggs@instructure.com>
2024-02-02 16:44:37 +00:00
Aaron Shafovaloff 2abcb1c5a2 use @instructure/ready instead of jquery wrapper
also remove wrapper in slickgrid

Change-Id: I8d96234d6971cdf2ede3dd6caa03cc5b1f6f0ac0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339563
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-02 11:33:14 +00:00
Aaron Shafovaloff 5b08b1f011 migrate old underscore pluck to lodash map
cf. https://github.com/lodash/lodash/wiki/Migrating

fixes EVAL-3932

Change-Id: I32f79cc00cc00744a5622d017b255aae2f7a6c93
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339601
Reviewed-by: Jackson Huang <jackson.huang@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-02 01:19:51 +00:00
Aaron Shafovaloff 1dd327699f replace AMD define statement in quiz_taking_police
Change-Id: I7b4838c3ebb3608ad2d9b8eeb52af7a5027fcb38
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339528
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Huang <jackson.huang@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-02 01:10:19 +00:00
Chris Soto d7752ec14d gradebook filters multi filter support
this commit adds multi select filters for the enhanced gradebook
filters. it allows for multi filter support for Status, Submissions,
Sections, Modules, & Assignment Group filters. additional support for
Student Group filters will be added in a future commit/ticket. This
commit also introduces multiple pills for the same filter type. These
pills will be consolidated into a single pill on a future commit/ticket.

closes EVAL-3826
flag=multiselect_gradebook_filters
flag=enhanced_gradebook_filters

test plan:
- with the feature flags enabled, navigate to the gradebook grid view
- verify that you can select multiple options for the Status,
  Submissions, Sections, Modules, & Assignment Group filters and that
  the filters work as expected
  - filters within the same type should be treated as an OR condition
    ex. Missing & Late should show all missing OR late submissions
- NOTE: reloading the page will reset the filters to just a single
  filter selection per type. This will be fixed in a future
  commit/ticket.
- NOTE: Student Group filters are not yet supported. This will be
  added in a future commit/ticket.
- NOTE: the filter pills will be consolidated into a single pill in a
  future commit/ticket. currently if you click on one of the pill
  popovers it will open all popovers for that filter type. This will
  be fixed in a future commit/ticket.

Change-Id: Ie735b315103829ca7b240964c2c29194052b5182
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/337286
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Samuel Lee <samuel.lee@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
2024-02-01 22:23:44 +00:00
Aaron Shafovaloff 16d97476f6 make remaining underscore reference explicit
Change-Id: I8e07769e01d4573c03a7eeba217ed0526141bd9b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339527
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
Reviewed-by: Gustavo Bernardes <gustavo.bernardes@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2024-02-01 17:15:40 +00:00
Jason Gillett 039bd653ee Update form to use user_connection
flag=discussion_create
closes VICE-4042

Test Plan
1. Create or edit a dsicussion
2. Go to graded discussion options
3. Open AssignedTo field
4. Verify that the students are ordered by their
sortable name.

Change-Id: I572f3f67eb244c4d0f44605cdead5f05e368abae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339275
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
2024-02-01 17:12:45 +00:00
Aaron Shafovaloff 802c428daa don't use AMD build of ic-tabs
Change-Id: I879de8dcf37545e477994ac8d121af64a2ef440a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339531
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-01 17:01:57 +00:00
Samuel Lee 751ae60328 add visual labels for date and time selectors
closes VICE-4040
flag=discussion_create

Test Plan:
- create a new discussion
- at the bottom, verify that each date and time selector has a visual
  label
- click on Add to student to-do option and verify that each date and
  time selector has a visual label
- click on the graded option and verify that each date and time
  selector has a visual label
- go to create an announcement
- click on Delay Posting option and verify that each date and time
  selector has a visual label

Change-Id: I8f0f91a1d3bc0caa97431d07f064d868b36d7de7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339158
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Samuel Lee <samuel.lee@instructure.com>
2024-02-01 16:49:49 +00:00
Chris Soto e804b73d1b add saving data to rubric form
this commit sets the foundation for saving & creating rubric changes on
the rubric form. it adds a new mutation to the rubric form queries file
and adds a new type to the rubric form types file. it also adds a new
migration to add a hide_points column to the rubrics table. this current
change only saves title and hide_points, but it sets the foundation for
saving all rubric data for future commits.

fixes EVAL-3624
flag=enhanced_rubrics

test plan:
- navigate to either /courses/:course_id/rubrics or
  /accounts/:account_id/rubrics
- click on a rubric to navigate to the rubric form page
- make a change to the rubric title or hide points (score/unscored)
- click the save button
- you should be navigated back to the /rubrics page
- verify that the rubric title and hide points have been updated
- click on the rubric again to navigate to the rubric form page and
  verify that the rubric title and hide points have been updated
- go back to /rubrics and click on the create button
- fill out the rubric form and click the save button
- you should be navigated back to the /rubrics page
- verify that the new rubric has been created

Change-Id: Ieaa880310a98328710e0369a700a204ab5107540
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/338852
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Migration-Review: Aaron Ogata <aogata@instructure.com>
2024-02-01 16:17:27 +00:00
Charley Kline 5c44a2fa39 Only show Spinner in HighContrastModeToggle if API is slow
flag=none

Following work done elsewhere, we only need to show a spinner
to the user if the API call takes more than a few hundred msec.
Otherwise it's just flickery and can be annoying.

Test plan:
* Visit the "Account" tray in the side nav
* The "Use High Contrast UI" toggle should work as always
  but should not flash up that very brief spinner during an
  API call to set the high contrast mode setting
* (Unless it really does take more than 300ms to return)

Change-Id: Ic52746c8d574c010715c8d4a9598d1e2041e13f3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/339423
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
2024-02-01 00:36:08 +00:00