Repository
OCA/oca-custom · module folder · Try on Runboat
Module version
1.0.1
Category
Custom
Folder size
0.06 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/oca-custom
Last tracking update
2026-08-07 08:43:00
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Sébastien BEAU, Arnaud LAYEC, OCA-git-bot, Tom, oca-ci
Odoo dependencies
OCA/oca-custom:
OCA/version-control-platform:
OCA/vertical-association:
odoo/odoo:
- web
- bus
- uom
Python dependencies
pypandoc, pathspec, github3.py, markdown, GitPython
System dependencies
cloc
Required by
oca_search_engine
Description
This module manages the mailing lists inside the OCA. It relies on the
native Odoo model *Mailing Group* mail.group.

## Main features

This module allows:

- to distinguish Working Groups from other Mail Groups, so they are
  published on the website on members' page
- to keep up-to-date the Mail Groups compared to Members roles in the
  association (like *Members* and *Delegate* mailing list)
- removes the expired members **with a grace period**
- retain the wish of the members who unsubscribed, to prevent spamming
  them by re-adding them to the mailing lists

## Notes

- Any Mailing Group member, being a portal or internal Odoo users, may
  subscribe or unsubscribed from */groups* controller
- The *Board Members* mailing list is managed manually (not automatized)
- The *Contributor* mailing list too, and is public

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
group_messages_robots Mail Groups - Robots noindex ir.ui.view qweb Inherits mail_group.group_messages
mail_group_member_view_search mail.group.member.view.search.membership_groups mail.group.member search Inherits mail_group.mail_group_member_view_search
mail_group_member_view_tree mail.group.member.view.list.membership_groups mail.group.member list Inherits mail_group.mail_group_member_view_tree
mail_group_view_form mail.group.view.form.oca_membership mail.group form Inherits mail_group.mail_group_view_form
mail_group_view_kanban mail.group.view.kanban.oca_membership mail.group kanban Inherits mail_group.mail_group_view_kanban
mail_group_view_search mail.group.view.search.oca_membership mail.group search Inherits mail_group.mail_group_view_search
membership_category_tree_view membership.category.oca_membership membership.membership_category list Inherits membership_extension.membership_category_tree_view
view_partner_form res.partner.form.membership_extension.oca_membership_groups res.partner form Inherits membership_extension.view_partner_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (3)
  • grace_days Integer
    default=90 help='Number of days before the expired members are automatically retired from this group. Only relevant for groups with auto-subscription from the membership category.'
  • is_working_group Boolean
    default=False help='Working Group are visible on the website page, on members profile.' string='Is a Working Group'
  • membership_category_ids Many2many → membership.membership_category
    column1='mail_group_id' column2='category_id' comodel_name='membership.membership_category' help='The members of this Mailing Group follows the members of those membership categories.' relation='membership_category_mail_group_rel' string='Membership Categories'
Public methods (0)

No public methods.

New fields (3)
  • active Boolean
    default=True
  • grace_date_deadline Date
    compute='_compute_grace_date_deadline' help='Date on which the member will be retired automatically from this Mailing Group, unless he/she renew its membership.' string='Grace Deadline'
  • grace_date_start Date
    help='Date on which the member is not legitimate anymore to belong in this Mailing'
Public methods (2)
  • unlink(self)
    When a user leaves a group, remember its unsubscription (=archive instead of unlink) to avoid provisioning it automatically
  • write(self, vals)
    When called from `_join_group`, if a user re-subscribe a previously unsubscribed group, re-active its membership instead of creating a duplicate

New fields (1)
  • mail_group_ids Many2many → mail.group
    column1='category_id' column2='mail_group_id' comodel_name='mail.group' help='The members of this category will automatically subscribe to these Mail Groups. They will be able to unsubscribe too.' relation='membership_category_mail_group_rel' string='Mail Groups'
Public methods (0)

No public methods.

New fields (2)
  • mail_group_count Integer
    compute='_compute_mail_group_count' string='Mail Groups'
  • mail_group_member_ids One2many → mail.group.member
    comodel_name='mail.group.member' inverse_name='partner_id'
Public methods (0)

No public methods.