Issue
- Install Contacts
- Technical / Email / Subtypes / Discussions
- Uncheck Default
- Go on any contact
- Add an user as follower
- Edit the follower, check any box
- Save
- Re-edit for checking
Not saved
Cause
In mail_followers.py _add_followers method
We do:
```py
new_sids = set(channel_subtypes[channel_id]) - set(sids)
old_sids = set(sids) - set(channel_subtypes[channel_id])
```
If no box are checked, sids value will be [None] instead
of [] (_get_subscription_data) so, new_sids and old_sids
will have a value but old_sids should not, it override
the change we made
We have [None] value because in _get_subscription_data
we use array_agg which returns a list or None if there
are no input rows
Solution
Compute old_sids if sids is not [None]
OPW-2271472
closesodoo/odoo#52869
X-original-commit: b1cdef0272a797fe2c1e5e0634ff400d17480d85
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>