Closes #20301: Add "Clear all" action to notifications dropdown #20612
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #20301
Introduce a GET-based view that allows a user to clear all unread notifications with a single action from the bell dropdown. The dropdown template is updated to show a “Clear all” control only when unread items exist. This streamlines notification management while preserving existing behavior for dismissing a single notification.
Summary of changes
New view:
NotificationDismissAllView
registered via@register_model_view(Notification, name="dismiss_all", path="dismiss-all", detail=False)
.request.user
.htmx/notifications.html
partial (so the dropdown re-renders in place).account:notifications
.Template update (dropdown):
hx-get
to callextras:notification_dismiss_all
,hx-target="closest .notifications"
, and an i18n’d confirm prompt: “Clear all unread notifications?”No changes to models, REST API, or existing single-item dismiss behavior.
Screenshots
Screenshots (notifications present)
Screenshots (no notifications)
Notes for reviewers