как скрыть поля плагина odoo crm с помощью этого кода:
models.py
# -*- coding: utf-8 -*-
from odoo import models, api, fields
import logging
_logger = logging.getLogger(__name__)
class PrivacyConsent(models.Model):
_name = "spekno.crm.privacy.consent"
_description = "Privacy Consent"
name = fields.Char("Nome Consenso", required=True)
type = fields.Selection([('marketing', 'Marketing'), ('3rdparty', 'Terze Parti')], string="Tipo consenso")
ext_ref = fields.Char("ID esterno")
internal = fields.Boolean(string="Interno", default=False)
active = fields.Boolean(string="Attivo", default=True)
class CrmLead(models.Model):
_inherit = 'crm.lead'
my_text_field = fields.Text(string='Anagrafica suggerita')
ext_portal = fields.Selection([('toshiko', 'Toshiko'), ('tcar', 'Tcar'), ('jeep', 'Jeep')],
string="Portale di provenienza")
ext_ref = fields.Char("Id Lead Portale", help="Codice lead Portale")
privacy = fields.Many2many('spekno.crm.privacy.consent', 'crm_lead_privacy_consent_rel', string="Privacy",
tracking=True)
ext_create_date = fields.Datetime(string="Data creazione su portale esterno")
ext_customer_request = fields.Html(string="Richiesta Cliente Portale")
suggested_partner_id = fields.Many2many('res.partner', 'crm_lead_suggested_partner_rel', string="Partner Suggeriti",
tracking=True)
@api.model
def create(self, vals):
lead = super(CrmLead, self).create(vals)
success = lead.validate_contact_info()
if not success:
_logger.error('Failed to validate contact info for Lead ID: %s', lead.id)
return lead
def validate_contact_info(self):
if not self:
return False
updated = False
for lead in self:
_logger.info('Starting validation for Lead ID: %s', lead.id)
if lead.suggested_partner_id:
suggested_partner_ids = lead.suggested_partner_id.ids
partners = self.env['res.partner'].browse(suggested_partner_ids)
for partner in partners:
if lead.phone and partner.phone != lead.phone:
_logger.info('Updating phone for Partner ID: %s', partner.id)
partner.phone = lead.phone
updated = True
if lead.email and partner.email != lead.email:
_logger.info('Updating email for Partner ID: %s', partner.id)
partner.email = lead.email
updated = True
if updated:
_logger.info('Contact info updated for Lead ID: %s', self.id)
return True
else:
_logger.info('No updates necessary for Lead ID: %s', self.id)
return True
view.xml:
Validate Contact Info
code
model.validate_contact_info()
crm.lead
Подробнее здесь: https://stackoverflow.com/questions/788 ... plugin-crm