假设在Odoo Form中,我有一个按钮。该按钮将触发odoo后端的python方法来搜索PIC,然后将PIC的phone_number
转发/复制到用户的设备,这样用户就可以使用自己的设备拨打PIC
的电话。
令人担忧的是,PIC正在加班更改。我的意思是,照片会基于轮班时间表。所以,如果我在表单视图,它将给出问题:用户将打开表单视图,花点时间查看数据,滚动片刻,然后单击在另一分钟调用图片,但现在图片可能不同了。这就是为什么我需要用python的方式来实现它。
它类似于html
中的<href="tel:">
,但我需要先搜索phone_number
。
def search_n_call_pic(self, input):
# search the responsible_pic
pic_object = self.search_pic(input)
# get the pic's phone number
pic_phone_number = pic_object.phone
self.forward_this_phone_number_to_user_device(pic_phone_number)
我需要实现这个方法"CCD_ 6">,使其具有与使用html:相同的行为
<a href="tel:pic_phone_number">pic_phone_number</a>
但我必须在python
中实现它。
请帮忙,谢谢。
假设您在res.users
模型上有pic_phone_number
字段。并且您希望在型号crm.lead
上显示一个tel:
URI。
首先,您必须在模型crm.lead
:上创建一个新的计算字段
pic_phone_number_uri = fields.Char(compute="_compute_pic_phone_number_uri")
def _compute_pic_phone_number_uri(self):
user_phone = self.env.user.pic_phone_number
user_uri = "tel:{}".format(user_phone)
for record in self:
record.pic_phone_number_uri = user_uri
现在只需使用小部件url
将此字段添加到表单视图中即可。
<field name="pic_phone_number_uri" widget="url" readonly="1" />
如果您使用Odoo 13或更高版本,您可以使用phone
小部件,并可以跳过在计算中添加tel:
:
<field name="pic_phone_number_uri" widget="phone" readonly="1" />