Custom notification settings for followers

mail_follower_custom_notification
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/10.0/mail_follower_custom_notification
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSHolger Brunn, OCA Transbot, Thierry Ducrest, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
assets_backend mail_follower_custom_notification assets ir.ui.view qweb Inherits web.assets_backend
view_mail_message_subtype_form mail.message.subtype group Inherits mail.view_mail_message_subtype_form
view_mail_subtype_assign_custom_notifications mail.subtype.assign.custom.notifications form New
Models touched (6)

New fields (3)
  • force_mail_subtype_ids Many2many → mail.message.subtype
    string='Force mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_mail_rel', 'mail_followers_id', 'mail_message_subtype_id'
  • force_nomail_subtype_ids Many2many → mail.message.subtype
    string='Force no mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_nomail_rel', 'mail_followers_id', 'mail_message_subtype_id'
  • force_own_subtype_ids Many2many → mail.message.subtype
    string='Force own mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_own_rel', 'mail_followers_id', 'mail_message_subtype_id'
Public methods (1)
  • create(self, values)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • custom_notification_mail Selection
    help='Leave empty to use the setting on the partner\'s form, set to "Force yes" to always send messages of this type via email, and "Force no" to never send messages of type via email' string='Send mail notification' args: [('force_yes', 'Force yes'), ('force_no', 'Force no')]
  • custom_notification_model_ids Many2many → ir.model
    domain=[('transient', '=', False)] help="Choose for which models the custom configuration applies. This is only necessary if your subtype doesn't set a model itself" string='Models' args: 'ir.model'
  • custom_notification_own Boolean
    help='Check this to have notifications generated and sent via email about own messages' args: 'Notify about own messages'
Public methods (0)

No public methods.

New fields (1)
  • subtype_ids Many2many → mail.message.subtype
    default=<expr> required=True string='Subtypes' args: 'mail.message.subtype', 'mail_subtype_assign_custom_notifications_rel'
Public methods (1)
  • button_apply(self)
    @api.multi

New fields (0)

No new fields.

Public methods (2)
  • message_custom_notification_update(self, custom_notifications)
    @api.multi
    custom_notifications is a dictionary with partner ids as keys and dictionaries mapping message subtype ids to custom notification values
  • message_custom_notification_update_user(self, custom_notifications)
    @api.multi
    change custom_notifications from user ids to partner ids

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/8.0/mail_follower_custom_notification
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSHolger Brunn, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
assets_backend mail_follower_custom_notification assets ir.ui.view qweb Inherits web.assets_backend
view_mail_message_subtype_form mail.message.subtype group Inherits mail.view_mail_message_subtype_form
view_mail_subtype_assign_custom_notifications mail.subtype.assign.custom.notifications form New
Models touched (7)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • force_mail_subtype_ids Many2many → mail.message.subtype
    string='Force mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_mail_rel', 'mail_followers_id', 'mail_message_subtype_id'
  • force_nomail_subtype_ids Many2many → mail.message.subtype
    string='Force no mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_nomail_rel', 'mail_followers_id', 'mail_message_subtype_id'
  • force_own_subtype_ids Many2many → mail.message.subtype
    string='Force own mails from subtype' args: 'mail.message.subtype', 'mail_followers_force_own_rel', 'mail_followers_id', 'mail_message_subtype_id'
Public methods (1)
  • create(self, values)
    @api.model@api.returns('self', <expr>)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • custom_notification_mail Selection
    help='Leave empty to use the on the partner\'s form, set to "Force yes" to always send messages of this type via email, and "Force no" to never send messages of type via email' string='Send mail notification' args: [('force_yes', 'Force yes'), ('force_no', 'Force no')]
  • custom_notification_model_ids Many2many → ir.model
    domain=[('osv_memory', '=', False)] help="Choose for which models the custom configuration applies. This is only necessary if your subtype doesn't set a model itself" string='Models' args: 'ir.model'
  • custom_notification_own Boolean
    help='Check this to have notifications generated and sent via email about own messages' args: 'Notify about own messages'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_partners_to_email(self, message)
    @api.multi

New fields (1)
  • subtype_ids Many2many → mail.message.subtype
    default=<expr> required=True string='Subtypes' args: 'mail.message.subtype', 'mail_subtype_assign_custom_notifications_rel'
Public methods (1)
  • button_apply(self)
    @api.multi

New fields (0)

No new fields.

Public methods (2)
  • message_custom_notification_update(self, custom_notifications)
    @api.multi
    custom_notifications is a dictionary with partner ids as keys and dictionaries mapping message subtype ids to custom notification values
  • message_custom_notification_update_user(self, custom_notifications)
    @api.multi
    change custom_notifications from user ids to partner ids