【问题标题】:Odoo Python : How to copy/forward a phone number into user's device ( like <href="tel:"> behaviour) using Odoo python backend?Odoo Python:如何使用 Odoo python 后端将电话号码复制/转发到用户的设备(如 <href="tel:"> 行为)?
【发布时间】:2021-09-01 01:33:42
【问题描述】:

假设在 Odoo 表单中,我有一个按钮。此按钮将触发 odoo 后端中的 python 方法来搜索 PIC,然后将 PIC 的phone_number 转发/复制到用户的设备,以便用户可以使用他们的设备拨打PIC 的电话。

令人担忧的是,PIC 正在加班。我的意思是,图片将是 根据班次安排。所以,如果我附上 PIC 或电话号码 表单视图,它会给出问题:用户将打开表单视图, 花时间查看数据,滚动片刻,然后单击 再打电话给图片,但现在图片可能不同。这就是为什么 我需要用python方式实现它。

类似于html中的&lt;href="tel:"&gt;,但我需要先搜索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)

我需要实现这个方法 "forward_this_phone_number_to_user_device" 使其具有与使用 html 相同的行为:

<a href="tel:pic_phone_number">pic_phone_number</a> 

但我必须在 python 中实现它。

请帮忙,谢谢。

【问题讨论】:

  • 不能在浏览器中运行python。如果您谈论的是 python 后端,请在此处更具体地说明您的设置。
  • @michjnich 是的,我的意思是,我需要在 python 后端实现它先生。
  • input 遮蔽了内置的input()。
  • 好的,那么你有什么样的后端?你在这里使用框架吗? Flask,Django,还有别的吗?如果你的按钮在 python 中触发了某些东西,那么你有一个 python 服务器在某个地方运行来处理该请求 - 那台服务器是什么?
  • @PatrickArtner 你能详细说明一下吗?我还是不明白

标签: python html odoo tel


【解决方案1】:

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

【讨论】:

  • 这真是个好主意!但是,在这种情况下,图片正在加班更改,图片基于班次安排。因此,如果用户打开表单视图,花时间查看数据,滚动片刻,然后单击再过一分钟调用图片,图片可能会有所不同。这就是为什么我需要以 python 方式实现它..
  • 啊,好的,这是一个非常重要的信息,您应该添加到您的问题中。
  • 注意,我会在问题中添加它.. thx!
猜你喜欢
  • 2018-09-02
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
相关资源
最近更新 更多