Odoo Python : 如何使用 Odoo python 后端将电话号码复制/转发到用户的设备中(如 <href= "tel:" > 行为)?



假设在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" />

相关内容

最新更新