Repository
OCA/oca-custom · module folder · Try on Runboat
Module version
1.0.8
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, 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_membership_groups, oca_sponsor
Description
This module adds several independant features.

- **Membership Categories: the Roles in the association** The new field
  *Current category* defines the Role of a member on the association.
  Those choosen *Current category* plus the *Membership category* of all
  active lines form the *Membership Categories*, they may be used to
  filter the members, and which are used to automatically add or remove
  member in Mail Groups (see oca_membership_groups).

  Example: a member is invoiced and pays for the *OCA Member* product.
  This product sets the *Member* category on membership lines. On the
  member's form, it is defined as a *Delegate*.

- **Implied roles (Membership Categories)** They help to define that a
  *Board member* is also a *Delegate*. Configuration: browse to *Members
  / Configuration / Membership Categories*

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
membership_category_tree_view membership.category.oca_membership membership.membership_category tree Inherits membership_extension.membership_category_tree_view
membership_members_tree res.partner.list.membership.oca_membership res.partner list Inherits membership.membership_members_tree
oca_membership.portal_my_details oca_membership.portal_my_details ir.ui.view qweb Inherits portal.portal_my_details
portail_my_details_side_content portail_my_details_side_content ir.ui.view qweb New
portal_my_details_fields portal_my_details_fields ir.ui.view qweb Inherits portal.portal_my_details_fields
res_partner_member_kanban res.partner.member.kanban.oca_custom res.partner kanban Inherits base_setup.res_partner_kanban_view
view_partner_form res.partner.form.oca_search_engine res.partner search Inherits base.view_partner_form
view_partner_form_membership res.partner.form.membership_extension.oca_membership res.partner form Inherits membership_extension.view_partner_form
view_res_partner_member_filter res.partner.select.membership_extension.oca_membership res.partner Inherits membership_extension.view_res_partner_member_filter
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (1)
  • is_membership_invoice Boolean
    compute='_compute_is_membership_invoice' store=True
Public methods (0)

No public methods.

New fields (3)
  • color Integer
    default=<expr>
  • implied_ids Many2many → membership.membership_category
    column1='category_id' column2='implied_category_id' comodel_name='membership.membership_category' help='Implied roles by this one' relation='membership_category_implied_rel' string='Implied roles'
  • sequence Integer
    help='First category will the default one for new members.'
Public methods (0)

No public methods.

New fields (11)
  • is_contributor Boolean
    compute='_compute_is_contributor' help='Has participated in Github, with a comment, a commit, ...' store=True string='Contributor'
  • is_elected Boolean
    compute='_compute_is_elected' search='_search_is_elected' string='Elected'
  • is_integrator Boolean
    compute='_compute_is_integrator' store=True string='Integrator'
  • is_member Boolean
    compute='_compute_is_member' help='Is currently a member of the assocation' store=True string='Member'
  • is_published Boolean
    help='Whether this contact publicly appears on the website.\nAutomatically enabled for companies (sponsors and integrators).\nTo enable manually for individuals (members).' tracking=True
  • is_published_address Boolean
    string='Publish address'
  • is_published_email Boolean
    string='Publish email'
  • is_published_phone Boolean
    string='Publish phone'
  • is_published_website Boolean
    string='Publish website'
  • membership_category_id Many2one → membership.membership_category
    comodel_name='membership.membership_category' default=<expr> help='This field may reflect a Role in the association. Changing it is immediatly reflected on Membership Categories.' string='Current category'
  • membership_category_ids Many2many
    compute='_compute_membership_state' help='Categories of active membership lines plus Current Category.'
Public methods (0)

No public methods.