[MIG] partner_profiles_gogocarto_export : Migration to 16.0
This commit is contained in:
committed by
Stéphan Sainléger
parent
70694c19de
commit
142a0342c9
3
partner_profiles_gogocarto_export/models/__init__.py
Normal file
3
partner_profiles_gogocarto_export/models/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from . import res_config_settings
|
||||
from . import company
|
||||
from . import res_partner
|
14
partner_profiles_gogocarto_export/models/company.py
Normal file
14
partner_profiles_gogocarto_export/models/company.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from odoo import models, fields
|
||||
|
||||
|
||||
class Company(models.Model):
|
||||
_inherit = "res.company"
|
||||
|
||||
export_gogocarto_public_fields = fields.Many2many(
|
||||
'ir.model.fields',
|
||||
relation='ir_model_fields_gogocarto_public',
|
||||
domain=[
|
||||
('model_id', '=', 'res.partner'),
|
||||
('name', 'not in', ['id', 'name', 'partner_longitude', 'partner_latitude'])
|
||||
]
|
||||
)
|
@@ -0,0 +1,23 @@
|
||||
import logging
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = 'res.config.settings'
|
||||
|
||||
export_gogocarto_public_fields = fields.Many2many(
|
||||
related='company_id.export_gogocarto_public_fields',
|
||||
relation='ir.model.fields',
|
||||
string='GogoCarto Exported Public fields',
|
||||
readonly=False,
|
||||
domain=[
|
||||
('model_id', '=', 'res.partner'),
|
||||
('name', 'not in', ['name',
|
||||
'partner_longitude',
|
||||
'partner_latitude',
|
||||
'id'])
|
||||
]
|
||||
)
|
29
partner_profiles_gogocarto_export/models/res_partner.py
Normal file
29
partner_profiles_gogocarto_export/models/res_partner.py
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
Reference in New Issue
Block a user