| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/oca-custom |
| GIT | |
| GIT | https://github.com/OCA/oca-custom.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/oca-custom/tree/18.0/oca_membership |
| VERSION | |
| VERSION | 1.0.7 |
| CATEGORY | |
| CATEGORY | Custom |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Sébastien BEAU, OCA-git-bot, oca-ci, Arnaud LAYEC |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/oca-custom |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/oca-custom: - oca_vcp OCA/version-control-platform: - vcp_odoo - vcp_management - vcp_github - vcp_git OCA/vertical-association: - membership_extension odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - membership |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pypandoc pathspec github3.py markdown GitPython |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES |
cloc |
| DESCRIPTION | |
| 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* |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
membership_category_tree_view |
membership.category.oca_membership | membership.membership_category | field | 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 | field | Inherits base_setup.res_partner_kanban_view |
view_partner_form |
res.partner.form.oca_search_engine | res.partner | notebook | Inherits base.view_partner_form |
view_partner_form_membership |
res.partner.form.membership_extension.oca_membership | res.partner | xpath | Inherits membership_extension.view_partner_form |
view_res_partner_member_filter |
res.partner.select.membership_extension.oca_membership | res.partner | field | Inherits membership_extension.view_res_partner_member_filter |
is_membership_invoice
Boolean
compute='_compute_is_membership_invoice'
store=True
No public methods.
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.'
No public methods.
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'
mail_group_member_ids
One2many → mail.group.member
comodel_name='mail.group.member'
inverse_name='partner_id'
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.'
No public methods.