OCA Sponsors

oca_sponsor
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_sponsor
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
COMMITTERSSé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/mail:
    - mail_activity_team
OCA/oca-custom:
    - oca_membership
    - oca_vcp
OCA/version-control-platform:
    - vcp_odoo
    - vcp_management
    - vcp_github
    - vcp_git
OCA/vertical-association:
    - membership_extension
odoo/odoo:
    - html_editor
    - base
    - bus
    - web
    - mail
    - base_setup
    - web_tour
    - membership
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - website_blog
    - website_mail
    - website
    - social_media
    - google_recaptcha
    - utm
    - website_partner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES geoip2
pypandoc
pathspec
github3.py
markdown
GitPython
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES cloc
DESCRIPTION
DESCRIPTION
This module adds website-publishable information to res.partner for
website sponsorship pages, and implements a self-service update and a
review process of new information.

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
blog_post_view_form_add blog.post.view.form.add.oca_sponsor blog.post field Inherits website_blog.blog_post_view_form_add
mail_activity_view_search mail.activity.view.search.oca_sponsor mail.activity filter Inherits mail.mail_activity_view_search
portail_my_details_side_content portail_my_details_side_content ir.ui.view qweb Inherits oca_membership.portail_my_details_side_content
portal_my_details portal_my_details ir.ui.view qweb Inherits portal.portal_my_details
portal_my_details_sponsorship portal_my_details_sponsorship ir.ui.view qweb New
res_partner_industry_view_form res.partner.industry.form.oca_sponsor res.partner.industry group Inherits base.res_partner_industry_view_form
res_partner_industry_view_tree res.partner.industry.list.oca_sponsor res.partner.industry field Inherits base.res_partner_industry_view_tree
res_partner_kanban_view res.partner.kanban.oca_sponsor res.partner widget Inherits base.res_partner_kanban_view
view_blog_post_search blog.post.search.oca_sponsor blog.post field Inherits website_blog.view_blog_post_search
view_partner_form res.partner.form.oca_sponsor res.partner form Inherits membership.view_partner_form
view_res_partner_member_filter res.partner.select.membership_extension.oca_sponsor res.partner filter Inherits oca_membership.view_res_partner_member_filter
view_sponsorship_line_list sponsorship.line.list sponsorship.line list New
Models touched (6)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (15)
  • blog_post_count Integer
    compute='_compute_blog_post_count' string='Blog posts count'
  • blog_post_ids One2many → blog.post
    comodel_name='blog.post' inverse_name='author_id' string='Blog posts'
  • grade_id Many2one → res.partner.grade
    comodel_name='res.partner.grade' string='Sponsor Level'
  • is_sponsor Boolean
    compute='_compute_is_sponsor' search='_search_is_sponsor'
  • is_sponsor_reviewer Boolean
    compute='_compute_is_sponsor_reviewer'
  • sponsor_child_ids One2many → res.partner
    comodel_name='res.partner' domain=[('is_company', '=', True), ('is_sponsor', '=', False)] help='Choose company who are included in the sponsorship, like branch, subsidiaries or commercial partners.' inverse_name='sponsor_parent_id' string='Sponsored companies'
  • sponsor_country_ids Many2many → res.country
    column1='partner_id' column2='country_id' comodel_name='res.country' compute='_compute_sponsor_country_ids' readonly=False relation='res_partner_country_rel' store=True string='Countries'
  • sponsor_industry_ids Many2many → res.partner.industry
    column1='partner_id' column2='industry_id' comodel_name='res.partner.industry' compute='_compute_sponsor_industry_ids' help='On the website, 1 partner may have several industries. Their description is the same for all sponsors.' readonly=False relation='res_partner_partner_industry_rel' store=True string='Industries'
  • sponsor_name Char
    help='If empty, the company name is displayed instead.' string='Alternate name'
  • sponsor_parent_id Many2one → res.partner
    comodel_name='res.partner' domain=[('is_sponsor', '=', True)] ondelete='set null' string='Sponsoring company'
  • sponsor_review_data Html
    compute='_compute_sponsor_review_data' sanitize=True
  • sponsor_to_review Boolean
    compute='_compute_sponsor_to_review' default=False help='After the sponsor modifies its data from the web portal in autonomy, the changes must be reviewed before being published on the website.' store=True string='To review' tracking=True
  • sponsorship_line_ids One2many → sponsorship.line
    comodel_name='sponsorship.line' inverse_name='partner_id' string='Sponsorship history'
  • website_description_why_sponsoring Text
    string='Why sponsoring description' translate=True
  • website_long_description Text
    string='Sponsor long description' translate=True
Public methods (4)
  • button_sponsor_review_accept(self)
  • create(self, vals_list)
    @api.model_create_multi
    The ORM recomputes stored field right after create => Prevent it for `sponsor_to_review` to stick to default value (False)
  • search_fetch(self, domain, field_names, offset=0, limit=None, order=None)
    Order res.partner sponsor view in Kanban and List with the ones to review at first
  • write(self, vals)
    Hack to trigger logics of `html.field.history.mixin` without storing `sponsor_review_data`

New fields (5)
  • active Boolean
    default=True
  • name Char
    translate=True
  • partner_weight Integer
    default=1 help='Gives the probability to assign a lead to this partner (0 means no assignment).' args: 'Level Weight'
  • sequence Integer
  • show_industry Boolean
Public methods (0)

No public methods.

New fields (2)
  • description Text
    help='The description is shared between all sponsors using this industry.'
  • sequence Integer
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • date_end Date
    required=True string='End Date'
  • date_from Date
    required=True string='Join Date'
  • grade_id Many2one → res.partner.grade
    comodel_name='res.partner.grade' required=True string='Sponsor Level'
  • partner_id Many2one → res.partner
    comodel_name='res.partner'
Public methods (0)

No public methods.