Skip to content

[bug] Disabling already-disabled global notification does not update organization-level settings #431

@pandafy

Description

@pandafy

Describe the bug
Disabling the already disabled global notification setting does not disable Organization-level notification settings. This results in an inconsistent state where the UI reflects all notifications are disabled, but organization-level notifications are still enabled.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Create a superuser and navigate to http://127.0.0.1:8000/notifications/preferences/
  2. Ensure all notifications for the user are enabled.
  3. Disable the global email settings.
  4. Step 3 will disable email notifications for all notification types and organizations.
  5. Enable the email notifications for the default organization.
  6. At this point, you will have global email notification disabled, but the email notifications for the default organization should be enabled.
  7. Try to disable the global email notifications again:
    1. Click on the global email notification setting dropdown
    2. Select "Don't notify by email"
    3. Click on "Confirm" on the popup
  8. UI will update reflecting that emails for all organizations are disabled
  9. Refresh the page

Expected behavior
All email notifications are disabled

Actual result
Global email notifications are disabled as expected.
Organization email notifications are still enabled.

openwisp-notifications-2025-11-27_18.15.05.mp4

Proposed solutions

  1. Change the view such that disabling the global notification setting forces disabling all notifications.
  2. Do not allow clicking on the selected global notification setting.
    In order to disable all notifications, the user will first have to enable the global notification and then disable it again. This solution has poor UX.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    Status

    Backlog

    Status

    To do (Python & Django)

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions