当is_company为True时,Odoo合作伙伴头衔是bool

时间:2015-08-22 07:08:46

标签: python xml drop-down-menu field odoo-8

我在Odoo中进行了一些更改,以便能够自动格式化合作伙伴名称。现在似乎在res.partner title字段中我可以输入公司和个人头衔。

enter image description here

enter image description here

我使用titlenamefirst_namelast_name在输入后自动格式化名称。

@api.one
@api.onchange("name", "title", "first_name", "last_name")
def onchange_name(self):
    if self.title and self.is_company:
        title = u" {}".format(self.title.name)
    elif self.title and not self.is_company:
        title = u"{} ".format(self.title.name)
    else:
        title = ""
    if self.first_name:
        first_name = self.first_name
    else:
        first_name = ""
    if self.last_name and self.first_name:
        last_name = u" {}".format(self.last_name)
    elif self.last_name:
        last_name = self.last_name
    else:
        last_name = ""

    if self.is_company:
        self.name = u"{0}{1}".format(self.name, title)
    else:
        self.name = u"{0}{1}{2}".format(title, first_name, last_name)

在视图中,我首先删除了原始的title字段,然后将其放回原来的位置。

            <field name="title" position="replace"></field>
            <xpath expr="//div[1]/div[1]" position="after">
                <div class="oe_edit_only" attrs="{'invisible': [('is_company','=', False)]}">
                    <label for="title" string="Company Type"/>
                    <field name="title" class="oe_inline"/>
                </div>
                <div class="oe_edit_only" attrs="{'invisible': [('is_company','=', True)]}">
                    <field name="title" style="width:20%%" options='{"no_open": True}' placeholder="Title"/>
                    <field name="first_name" style="width: 40%%" placeholder="First Name"/>
                    <field name="last_name" style="width: 40%%" placeholder="Last Name"/>
                </div>
            </xpath>

当然,它永远不会像你想要的那样第一次。当is_company设置为False时,一切正常,但当is_company设置为True时,它根本不起作用。

调试后,我发现当is_company设置为False时,title.name是下拉列表中的值。但是当is_company设置为True并且我将值放入title字段时,调试器会显示该值是布尔设置为False

如果我将值保存在下拉列表中,但是当我再次调试时,它仍然是布尔值设置为False

有人可以帮我解决这个问题吗?

0 个答案:

没有答案