Commit Graph

5 Commits

Author SHA1 Message Date
Jackson Howe 5c58ad2ceb Fix LS AccessViolationError - notification preferences
Move course notification preference code into shared package so that
it can be used by both the account_notification_settings and
course_notification_settings features.

refs LS-2763
flag = none

Test plan:
 - Open /profile/communication and expect to be able to change
   preferences for account and courses
 - Open /courses/<id>?view=notifications and expect to be able to
   change course notification preferences

Change-Id: I092e1dabac092b3768a97cf7bf527ebe0a79e670
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276254
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Nate Armstrong <narmstrong@instructure.com>
2021-10-19 23:04:45 +00:00
Isaac Moore 4c5506eb4c Polish up notification preferences course selector
This change adds grouping (by term) and sorting (by term name, then by
course name) to the course selector on the notification preferences page.

closes LS-2693
flag=notification_settings_course_selector

test plan:
- enable the `notification_settings_course_selector` feature
  - clear your redis cache if necessary
- enroll the current user in several courses, across multiple terms
- visit the account-level notification settings page
- verify that the course selection dropdown groups courses by term
- verify that terms are ordered alphabetically
- verify that courses are ordered alphabetically within their term
- un-publish one of the courses, causing its state to change to something
  other than `available`
- verify it no longer appears in the course selection list

Change-Id: Idfba560934d360649a67caf96e33e1b0ee300a36
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274998
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2021-10-06 18:16:17 +00:00
Isaac Moore 30d893d009 Add course selector on Account Notifications page
This change allows notification preferences to be customized for both the
account level and individual courses from the account 'Notifications'
page. It adds a dropdown menu where the user can switch between different
contexts.

This feature is behind the `notification_settings_course_selector` feature
flag, HOWEVER, it is immediately enabled for anyone who is actively
enrolled in a Canvas for Elementary K5 subject.

closes LS-2572
flag=notification_settings_course_selector

test plan:
- ensure the feature flag referenced above is *disabled*
- ensure multiple active (and inactive) enrollments exist for a user, and
  that Canvas for Elementary is *disabled* for the respective accounts
- navigate to account-level notification settings
- confirm that the course selector *is not* displayed
- enable Canvas for Elementary on one of the accounts of your enrollments
- reload the account-level notification settings page
- confirm that the select allows switching between the account level and
  the course level (but only for active course enrollments)
- confirm that settings can successfully be adjusted at both the account
  and course level
- verify, by navigating to the traditional course notification settings
  page, that modifications to course notification settings were persisted
  correctly
- disable Canvas for Elementary, and enable the SiteAdmin feature flag
  mentioned above
- reload the account-level notification settings page and confirm the
  course selector is still shown

Change-Id: I8b28f50581b5fdd18d31e190082339f02c9433dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272419
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2021-09-09 19:35:54 +00:00
Ethan Vizitei 3fdc6405a0 enable api-gateway config for notification preferences
closes INTEROP-6689
flag=none

also dev config for api-gateway development

TEST PLAN:
  1) provide api gateway url through dynamic settings
  2) notification preferences uses api gateway for graphql
     queries

Change-Id: I78c59998d6de522df4f16a98d8f468424add674c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271525
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Ziwisky <mziwisky@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2021-08-17 18:30:13 +00:00
Ahmad Amireh 4243097b21 rename some things
fixes FOO-1265

[skip-eslint=true]
[pin-commit-analytics=7e49eefd7f59cbf43fd03bf8957bbbfa76f8d9d5]
[pin-commit-demo_site=adade2e38e46a358a4643cd3db2fe5ccffe39ec5]
[pin-commit-instructure_misc_plugin=47a3161102b0611af56d134fbd0c828ddc1b8abf]
[pin-commit-migration_tool=0dbac2f5b421d894395605ce4b583ef0f7d60b22]
[pin-commit-multiple_root_accounts=cc96d28c0d59bbe47acc64de4fdd8e1d2b029805]

Change-Id: I14c07f20bd260cf0de1f48ceb70b3c2313edf2d2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/258807
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Ziwisky <mziwisky@instructure.com>
QA-Review: Michael Ziwisky <mziwisky@instructure.com>
Product-Review: Michael Ziwisky <mziwisky@instructure.com>
2021-04-06 01:12:49 +00:00