30 lines
1.3 KiB
Python
30 lines
1.3 KiB
Python
from odoo import models
|
|
import logging
|
|
|
|
|
|
class ResPartner(models.Model):
|
|
""" Inherits partner, adds Gogocarto public fields in the partner form, and functions"""
|
|
_inherit = 'res.partner'
|
|
|
|
def _get_gogocarto_domain(self, company_id):
|
|
# To OVERRIDE in sub_modules to customize the partner selection
|
|
res = super(ResPartner, self)._get_gogocarto_domain(company_id)
|
|
res.extend([('is_main_profile', '=', True)])
|
|
return res
|
|
|
|
def _get_gogocarto_parser(self, company_id):
|
|
parser = super(ResPartner, self)._get_gogocarto_parser(company_id)
|
|
public_fields = self._get_export_public_fields(company_id)
|
|
public_parser = self._get_generic_parser(public_fields)
|
|
parser.append(("public_profile_id", public_parser))
|
|
return parser
|
|
|
|
def _get_export_public_fields(self, company_id):
|
|
CompanySudo = self.env['res.company'].sudo().search([('id', '=', company_id)])
|
|
default_fields = self.env['ir.model.fields'].sudo().search([
|
|
('model_id', '=', 'res.partner'),
|
|
('name', 'in', ['id', 'name', 'partner_longitude', 'partner_latitude'])])
|
|
company_fields = CompanySudo.export_gogocarto_public_fields
|
|
export_fields = default_fields | company_fields
|
|
return export_fields
|