python - 如何在odoo中显示没有公司的联系人?

标签 python xml odoo

如何在odoo 11中显示没有公司的联系人,例如:如果X先生Y公司中,在odoo中,显示该先生和公司:Y, X。但我只想要X。谢谢

最佳答案

打开 Debug模式,在联系人 ListView 中,转到“调试”菜单>>“编辑 ListView ”

Edit List View

更改如下

<tree string="Contacts">
  <field name="display_name" string="Name"/>
  <field name="function" invisible="1"/>
  <field name="phone"/>
  <field name="email"/>
  <field name="user_id" invisible="1"/>
  <field name="is_company" invisible="1"/>
  <field name="country_id" invisible="1"/>
  <field name="parent_id" invisible="1"/>
  <field name="active" invisible="1"/>
</tree>

至此

<tree string="Contacts">
  <field name="name" string="Name"/>
  <field name="function" invisible="1"/>
  <field name="phone"/>
  <field name="email"/>
  <field name="user_id" invisible="1"/>
  <field name="is_company" invisible="1"/>
  <field name="country_id" invisible="1"/>
  <field name="parent_id" invisible="1"/>
  <field name="active" invisible="1"/>
</tree>

这只会更改odoo联系人的 ListView 名称表示,对于关系字段选择名称显示,您必须覆盖_get_name

class ResPartner(models.Model):
  _inherit='res.partner'

  def _get_name(self):
        """ Utility method to allow name_get to be overrided without re-browse the partner """
        partner = self
        name = partner.name or ''

        if partner.company_name or partner.parent_id:
            if not name and partner.type in ['invoice', 'delivery', 'other']:
                name = dict(self.fields_get(['type'])['type']['selection'])[partner.type]
            #if not partner.is_company:
            #    name = "%s, %s" % (partner.commercial_company_name or partner.parent_id.name, name)
        if self._context.get('show_address_only'):
            name = partner._display_address(without_company=True)
        if self._context.get('show_address'):
            name = name + "\n" + partner._display_address(without_company=True)
        name = name.replace('\n\n', '\n')
        name = name.replace('\n\n', '\n')
        if self._context.get('address_inline'):
            name = name.replace('\n', ', ')
        if self._context.get('show_email') and partner.email:
            name = "%s <%s>" % (name, partner.email)
        if self._context.get('html_format'):
            name = name.replace('\n', '<br/>')
        if self._context.get('show_vat') and partner.vat:
            name = "%s ‒ %s" % (name, partner.vat)
        return name

关于python - 如何在odoo中显示没有公司的联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707951/

相关文章:

python - 如何使用 itertools.groupby()?

python - 从 pandas DatetimeIndex 中删除天数

Python 的过滤函数参数顺序

java - 如何在 Java 数学运算中使用 EditText 值 (numberDecimal)

odoo - 更新记录时不进行并发检查

openerp - 查看错误 : Can't find field 'field name' in the following view parts composing the view of object model 'object name'

Python列表 |如何删除列表中的括号、引号和逗号?

c# - 反序列化 xml,其中字符串可能包含 xml/html

python - 是否可以获取 XSD 中定义的 XML 节点类型?

odoo - 隐藏非管理员的开发者工具