Oca VCP

oca_vcp
REPOSITORY
REPOSITORYOCA/oca-custom
GIT
GIThttps://github.com/OCA/oca-custom.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/oca-custom/tree/18.0/oca_vcp
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYCustom
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSGitHub, Sébastien BEAU, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/oca-custom
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/version-control-platform:
    - vcp_odoo
    - vcp_management
    - vcp_github
    - vcp_git
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pypandoc
pathspec
github3.py
markdown
GitPython
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES cloc
DESCRIPTION
DESCRIPTION
# OCA VCP Customization

Module extending VCP for OCA-specific needs.

## Features

**Repositories**
- Add categories to repositories

**Odoo Modules**
- `must_have` flag on modules
- Extract and store README fragments and convert them to markdown
- Extract icon URLs

**Partners/Contributors**
- Add GitHub tab with main login and avatar sync option
- Compute OCA collaboration index
- Support organization history for accurate contribution attribution

**Contributions**
- Reviews and comments use contributor's organization (not PR opener's)

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
vcp_odoo_module_view_form vcp.odoo.module field Inherits vcp_odoo.vcp_odoo_module_form_view
vcp_repository_category_view_form vcp.repository.category form New
vcp_repository_category_view_list vcp.repository.category list New
vcp_repository_category_view_search vcp.repository.category search New
vcp_repository_form_view vcp.repository field Inherits vcp_management.vcp_repository_form_view
vcp_repository_search_view vcp.repository filter Inherits vcp_management.vcp_repository_search_view
vcp_repository_tree_view vcp.repository field Inherits vcp_management.vcp_repository_tree_view
view_partner_form res.partner page Inherits base.view_partner_form
Models touched (10)

New fields (6)
  • current_organization_id Many2one → res.partner
    compute='_compute_current_organization_id' store=True args: 'res.partner'
  • github_main_login Char
    compute='_compute_github_main_login' compute_sudo=True inverse='_inverse_github_info'
  • github_sync_avatar Boolean
    compute='_compute_github_sync_avatar' compute_sudo=True inverse='_inverse_github_info'
  • oca_collaboration_index Integer
    compute='_compute_oca_collaboration_index' compute_sudo=True help='This index is based on the last 12 Months. Moving Annual Total (MAT)' args: 'OCA collaboration index'
  • organization_history_ids One2many → vcp.organization.history
    args: 'vcp.organization.history', 'partner_id'
  • organization_member_ids One2many → res.partner
    args: 'res.partner', 'current_organization_id'
Public methods (0)

No public methods.

New fields (1)
  • partner_organization_id Many2one → res.partner
    compute='_compute_partner_organization_id' help='The organization related to the user that have done the comment' related=False store=True args: 'res.partner'
Public methods (0)

No public methods.

New fields (1)
  • must_have Boolean
Public methods (0)

No public methods.

New fields (2)
  • icon_url Char
  • readme_fragments Json
Public methods (0)

No public methods.

New fields (3)
  • date_start Date
    required=True
  • partner_id Many2one → res.partner
    required=True args: 'res.partner'
  • partner_organization_id Many2one → res.partner
    required=True args: 'res.partner', 'Organization'
Public methods (0)

No public methods.

New fields (1)
  • category_id Many2one → vcp.repository.category
    args: 'vcp.repository.category'
Public methods (0)

No public methods.

New fields (4)
  • description Text
  • name Char
  • repository_ids One2many → vcp.repository
    readonly=True args: 'vcp.repository', 'category_id', 'Repositories'
  • short_description Text
Public methods (0)

No public methods.

New fields (1)
  • partner_organization_id Many2one → res.partner
    compute='_compute_partner_organization_id' help='The organization related to the user that have done the review' related=False store=True args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • is_github_main_login Boolean
Public methods (0)

No public methods.