Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content user notifications #4390

Merged
merged 20 commits into from
Aug 17, 2023
Merged

Content user notifications #4390

merged 20 commits into from
Aug 17, 2023

Conversation

ssddanbrown
Copy link
Member

@ssddanbrown ssddanbrown commented Jul 19, 2023

As per proposal in #4371.

Todo

  • User preferences UI
  • User preferences logic
  • Role permission addition
    • Admin default gain of permission
  • Content "watch" controls UI
    • Make conditional based upon role permission
    • Add indication of parent preference
    • Filter/Alter options for pages vs chapters/books since the same options/text does not apply.
  • Content "watch" controls logic
  • Mail Notification Classes
  • Add watched items to user notifications view.
  • Make user notification preference view access conditional upon role permission.
  • Make notifications prettier
  • Check against proposal
  • Ensure text is extracted
  • Ensure guest user cannot access notification controls, even if permissions given.
  • Dark mode check
  • Testing
    • Test role permission controls UI and receiving.

@ssddanbrown ssddanbrown added this to the Next Feature Release milestone Jul 19, 2023
Includes testing to cover.
Also added file missing from previous commit.
@ssddanbrown ssddanbrown force-pushed the content_notifications branch from 634e74e to 100b287 Compare July 25, 2023 16:08
Added DB and started controller method.
Got watch system working to an initial base state.
Moved some existing logic where it makes sense.
Put together an initial notification.
Started logic to query and identify watchers.
Also rolled out watch UI to chapter and page views
- Adds option filtering and alternative text for page watch options.
- Adds "Watched & Ignored Items" list to user notification preferences
  page to show existing watched items.
- Added general user preferences view and updated link in profile menu
  to suit.
- Made notification permission required for notification preferences
  view, added test to cover.
- Updated mail notification design to be a bit prettier, and extracted
  text to new lang file for translation.
- Added debounce logic for page update notifications.
- Fixed watch options not being filtered to current user.
Covers core case scenarios, and check of notification content.
- Added titles for preference pages.
- Added extra check for non-guest for notifications on preferences page.
- Ensured watch options passed in all meta template usage to fix failing
  scenarios where watch options did not exist.
- Fixed testing issue caused by guest user permission caching.
Added test and changed logic to properly check the view permissions for
the notification receiver before sending.
Required change to permissions applicator to allow the user to be
manually determined, and a service provider update to provide the class
as a singleton without a specific user, so it checks the current logged
in user on demand.
@ssddanbrown ssddanbrown merged commit fef433a into development Aug 17, 2023
@ssddanbrown ssddanbrown deleted the content_notifications branch August 17, 2023 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant