TIP: You can type at any time to perform a new search.
VCP Management
vcp_management · OCA/version-control-platform
- Repository
- OCA/version-control-platform · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Uncategorized
- Folder size
- 0.23 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/version-control-platform
- Last tracking update
- 2026-08-07 08:43:05
- Authors
- Odoo Community Association (OCA), Dixmit
- Maintainers
- Odoo Community Association (OCA), Dixmit
- Committers
- Enric Tobella, Sébastien BEAU, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
-
odoo/odoo:- base
- Python dependencies
- pathspec
- System dependencies
- cloc
- Required by
- vcp_git, vcp_odoo, vcp_portal, vcp_website
- Description
Creates a set of modules used for handling a version control patform.
Code Analysis ⓘ
Views touched (36)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
vcp_branch_form_view |
vcp.branch | form | New | |
vcp_branch_list_view |
vcp.branch | list | New | |
vcp_comment_form_view |
vcp.comment | form | New | |
vcp_comment_list_view |
vcp.comment | list | New | |
vcp_host_form_view |
vcp.host | form | New | |
vcp_host_search_view |
vcp.host | search | New | |
vcp_host_tree_view |
vcp.host | list | New | |
vcp_organization_form_view |
vcp.organization | form | New | |
vcp_organization_search_view |
vcp.organization | search | New | |
vcp_organization_tree_view |
vcp.organization | list | New | |
vcp_partner_detail |
vcp_partner_detail | ir.ui.view | qweb | New |
vcp_platform_form_view |
vcp.platform | form | New | |
vcp_platform_search_view |
vcp.platform | search | New | |
vcp_platform_tree_view |
vcp.platform | list | New | |
vcp_repository_branch_form_view |
vcp.repository.branch | form | New | |
vcp_repository_branch_search_view |
vcp.repository.branch | search | New | |
vcp_repository_branch_tree_view |
vcp.repository.branch | list | New | |
vcp_repository_form_view |
vcp.repository | form | New | |
vcp_repository_search_view |
vcp.repository | search | New | |
vcp_repository_tree_view |
vcp.repository | list | New | |
vcp_request_form_view |
vcp.request | form | New | |
vcp_request_label_form_view |
vcp.request.label | form | New | |
vcp_request_label_search_view |
vcp.request.label | search | New | |
vcp_request_label_tree_view |
vcp.request.label | list | New | |
vcp_request_search_view |
vcp.request | search | New | |
vcp_request_tree_view |
vcp.request | list | New | |
vcp_review_form_view |
vcp.review | form | New | |
vcp_review_tree_view |
vcp.review | list | New | |
vcp_rule_form_view |
vcp.rule | form | New | |
vcp_rule_information_form_view |
vcp.rule.information | form | New | |
vcp_rule_information_list_view |
vcp.rule.information | list | New | |
vcp_rule_search_view |
vcp.rule | search | New | |
vcp_rule_tree_view |
vcp.rule | list | New | |
vcp_user_form_view |
vcp.user | form | New | |
vcp_user_search_view |
vcp.user | search | New | |
vcp_user_tree_view |
vcp.user | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (17)
New fields (7)
-
image_1920Imagecompute='_compute_image_1920'readonly=Falsestore=True -
vcp_commentsIntegercompute='_compute_vcp_contributions'prefetch=Falsestring='Comments' -
vcp_created_requestsIntegercompute='_compute_vcp_contributions'prefetch=Falsestring='Created Requests' -
vcp_merged_requestsIntegercompute='_compute_vcp_contributions'prefetch=Falsestring='Merged Requests' -
vcp_organization_idsOne2many → vcp.organizationinverse_name='partner_id' args: 'vcp.organization' -
vcp_reviewsIntegercompute='_compute_vcp_contributions'prefetch=Falsestring='Reviews' -
vcp_user_idsOne2many → vcp.userinverse_name='partner_id' args: 'vcp.user'
No public methods.
New fields (2)
-
nameCharrequired=True -
platform_idMany2one → vcp.platformcomodel_name='vcp.platform'readonly=Truerequired=Truestring='Platform'
No public methods.
New fields (10)
-
bodyHtmlreadonly=True -
created_atDatetimereadonly=True -
external_idCharindex=Truereadonly=Truerequired=True -
organization_idMany2onereadonly=Truerelated='request_id.organization_id'store=True -
partner_idMany2onereadonly=Truerelated='user_id.partner_id' -
partner_organization_idMany2onerelated='request_id.organization_id.partner_id'string='Organization Partner' -
repository_idMany2onereadonly=Truerelated='request_id.repository_id'store=True -
request_idMany2one → vcp.requestcomodel_name='vcp.request'ondelete='cascade'readonly=Truerequired=Truestring='Request' -
updated_atDatetimereadonly=True -
user_idMany2one → vcp.usercomodel_name='vcp.user'readonly=True
No public methods.
New fields (3)
-
activeBooleandefault=True -
nameCharrequired=True -
type_idMany2one → vcp.host.typeargs: 'vcp.host.type'
No public methods.
New fields (4)
-
activeBooleandefault=True -
codeCharrequired=True -
code_kindCharrequired=True -
nameCharrequired=True
No public methods.
New fields (4)
-
external_idCharindex=Truereadonly=Truerequired=True -
host_idMany2one → vcp.hostcomodel_name='vcp.host'readonly=Truerequired=True -
nameCharreadonly=Truerequired=True -
partner_idMany2one → res.partnerargs: 'res.partner'
No public methods.
New fields (20)
-
activeBooleandefault=True -
branch_idsOne2many → vcp.branchinverse_name='platform_id' args: 'vcp.branch' -
default_repository_scheduled_branch_updateBooleanhelp='If checked, the cron that update repository branches will look for up to date branches, for this repository.' -
default_repository_scheduled_information_updateBooleanhelp='If checked, the cron that update repositories will look for up to date information, for this repository.' -
descriptionCharreadonly=True -
fetch_repository_archivedBooleanhelp='If checked, all repositories will be fetched (actives and archived). Otherwise, only active repositories will be fetched' -
fetch_repository_branch_patternCharhelp='Regular Expression. If set, only branches whose names are matching the pattern will be fetched, when fetching branches of the repositories of the platform.' -
fetch_repository_forkBooleanhelp='If checked, all repositories will be fetched (sources and forks). Otherwise, only sources repositories will be fetched' -
host_idMany2one → vcp.hostrequired=True args: 'vcp.host' -
key_idsOne2many → vcp.platform.keycomodel_name='vcp.platform.key'inverse_name='platform_id'string='API Keys' -
kindCharrelated='host_id.type_id.code' -
last_updateDatetimereadonly=True -
local_pathCharcompute='_compute_local_path' -
nameCharrequired=True -
repository_countIntegercompute='_compute_repository_count'store=True -
repository_idsOne2many → vcp.repositoryinverse_name='platform_id' args: 'vcp.repository' -
rule_idsMany2many → vcp.rulestring='Processing Rules' args: 'vcp.rule' -
scheduled_information_updateBooleandefault=Truehelp='If checked, the cron that update platform informations will look for up to date information, for this platform.' -
short_descriptionCharreadonly=True -
update_interval_daysIntegerdefault=3
-
update_information(self)
New fields (2)
-
nameCharrequired=True -
platform_idMany2one → vcp.platformcomodel_name='vcp.platform'ondelete='cascade'required=Truestring='Platform'
No public methods.
New fields (23)
-
activeBooleandefault=Truereadonly=True -
branch_countIntegercompute='_compute_branch_count'store=True -
branch_idsOne2many → vcp.repository.branchinverse_name='repository_id' args: 'vcp.repository.branch' -
branch_update_dateDatetimedefault=fields.Datetime.nowreadonly=Truerequired=True -
created_atDatetimereadonly=True -
descriptionCharreadonly=True -
fetch_branch_patternCharhelp='Regular Expression. If set, only branches whose names are matching the pattern will be fetched. You can define that value at platform level.' -
fork_countIntegerreadonly=True -
from_dateDatetimerequired=True -
is_forkBooleanhelp='Specify if the repo is a Source or a Fork repository'readonly=True -
last_commit_dateDatetimereadonly=True -
local_pathCharcompute='_compute_local_path' -
nameCharindex=Truerequired=True -
override_parent_rulesBoolean -
platform_idMany2one → vcp.platformcomodel_name='vcp.platform'required=True -
request_countIntegercompute='_compute_request_count' -
request_idsOne2many → vcp.requestinverse_name='repository_id' args: 'vcp.request' -
rule_idsMany2many → vcp.rulestring='Processing Rules' args: 'vcp.rule' -
scheduled_branch_updateBooleancompute='_compute_scheduled_branch_update'help='If checked, the cron that update repository branches will look for up to date branches, for this repository.'readonly=Falsestore=True -
scheduled_information_updateBooleancompute='_compute_scheduled_information_update'help='If checked, the cron that update repository informations will look for up to date information, for this repository. This update include the recovery of requests, comments and reviews.'readonly=Falsestore=True -
stargazers_countIntegerreadonly=True -
test_fieldChar -
watchers_countIntegerreadonly=True
-
force_update_information(self) -
update_branches(self) -
update_information(self, update_interval_days=None)
New fields (8)
-
branch_idMany2one → vcp.branchondelete='cascade'readonly=Truerequired=Truestring='Branch' args: 'vcp.branch' -
last_commitCharreadonly=True -
override_parent_rulesBoolean -
platform_idMany2onereadonly=Truerelated='repository_id.platform_id' -
repository_idMany2one → vcp.repositoryondelete='cascade'readonly=Truerequired=True args: 'vcp.repository' -
rule_failure_msgText -
rule_idsMany2many → vcp.rulestring='Processing Rules' args: 'vcp.rule' -
update_rule_processing_dateDatetimedefault=fields.Datetime.nowrequired=True
-
process_rules(self)
New fields (27)
-
additionsIntegerreadonly=True -
branch_idMany2one → vcp.branchcomodel_name='vcp.branch'ondelete='restrict'readonly=True -
closed_atDatetimereadonly=True -
comment_countIntegercompute='_compute_comment_count'store=True -
comment_idsOne2many → vcp.commentcomodel_name='vcp.comment'inverse_name='request_id'readonly=Truestring='Comments' -
commitsIntegerreadonly=True -
created_atDatetimereadonly=True -
deletionsIntegerreadonly=True -
external_idCharindex=Truereadonly=Truestring='Externa ID' -
is_draftBooleanreadonly=True -
is_mergedBooleanreadonly=True -
label_idsMany2many → vcp.request.labelcomodel_name='vcp.request.label'readonly=Truestring='Labels' -
nameCharreadonly=True -
numberIntegerreadonly=True -
organization_idMany2one → vcp.organizationcomodel_name='vcp.organization'readonly=True -
partner_idMany2onerelated='user_id.partner_id' -
partner_organization_idMany2onerelated='organization_id.partner_id'string='Organization Partner' -
repository_idMany2one → vcp.repositorycomodel_name='vcp.repository'ondelete='cascade'readonly=True -
review_commentsIntegerreadonly=True -
review_countIntegercompute='_compute_review_count'store=True -
review_idsOne2many → vcp.reviewcomodel_name='vcp.review'inverse_name='request_id'readonly=Truestring='Reviews' -
stateCharreadonly=True -
statusSelectioncompute='_compute_status'selection=_STATUS_SELECTIONstore=True -
total_commentsIntegerreadonly=True -
updated_atDatetimereadonly=True -
urlCharreadonly=True -
user_idMany2one → vcp.usercomodel_name='vcp.user'readonly=Truestring='Contributor'
No public methods.
New fields (3)
-
colorChardefault=<expr> -
nameCharreadonly=Truerequired=True -
request_idsMany2many → vcp.requestcomodel_name='vcp.request'readonly=Truestring='Requests'
No public methods.
New fields (11)
-
bodyHtmlreadonly=True -
external_idCharindex=Truereadonly=Truerequired=True -
organization_idMany2onereadonly=Truerelated='request_id.organization_id'store=True -
partner_idMany2onerelated='user_id.partner_id' -
partner_organization_idMany2onerelated='request_id.organization_id.partner_id'string='Organization Partner' -
platform_idMany2onereadonly=Truerelated='request_id.repository_id.platform_id'store=True -
repository_idMany2onereadonly=Truerelated='request_id.repository_id'store=True -
request_idMany2one → vcp.requestondelete='cascade'readonly=Truerequired=True args: 'vcp.request' -
stateCharreadonly=True -
submitted_atDatetimereadonly=True -
user_idMany2one → vcp.userreadonly=True args: 'vcp.user'
No public methods.
New fields (5)
-
activeBooleandefault=True -
branch_patternChardefault='.*'required=True -
nameCharrequired=True -
pathsTextdefault='*'help='Define with pathspec especification'required=True -
rule_typeSelectiondefault='cloc'required=True args: [('cloc', 'Cloc Analysis')]
No public methods.
New fields (8)
-
code_countInteger -
documentation_countInteger -
empty_countInteger -
res_idIntegerrequired=True -
res_modelCharrequired=True -
rule_idMany2one → vcp.rulerequired=True args: 'vcp.rule' -
scanned_filesInteger -
total_countIntegercompute='_compute_total_count'store=True
No public methods.
New fields (2)
-
local_pathCharcompute='_compute_local_path' -
rule_information_idsOne2many → vcp.rule.informationdomain=<expr>inverse_name='res_id' args: 'vcp.rule.information'
No public methods.
New fields (10)
-
activeBooleandefault=Truereadonly=True -
avatar_urlCharreadonly=True -
companyCharreadonly=True -
emailCharreadonly=True -
external_idCharindex=Truereadonly=Truerequired=True -
host_idMany2one → vcp.hostcomodel_name='vcp.host'readonly=Truerequired=True -
nameCharreadonly=Truerequired=True -
partner_idMany2one → res.partnerargs: 'res.partner' -
sync_image_to_partnerBooleanhelp='Use the image user as image on the partner' -
user_update_dateDatetimedefault=fields.Datetime.nowreadonly=True
-
update_information(self)
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 53 days ago
- Last activity
- 24 days ago
- Repository
- OCA/version-control-platform
- Pull request
- [19.0][MIG] vcp_management: Migration to 19.0 (#11)