标签: odoo-11

Odoo10/Odoo11动态进度条 - 在python中触发javascript函数

我的任务:odoo中的动态进度条.

我正在使用Odoo小部件:'progressbar'.我希望每次更新值时更新视图 - 因此我想on_change_input在我的python write方法中触发javascript函数来呈现视图.

 @api.one
 def updatevalue(self, val):
      self.value = val
      # TODO call javascript function on_change_input()
Run Code Online (Sandbox Code Playgroud)

目的是,在进程运行时应更新进度条,用户应该在不更新站点的情况下查看进度.

我的任务是否可以使用进度条小部件?或者是否有其他可能在Odoo中显示动态内容?

如果我使用我的updatevalue方法作为按钮,单击按钮后更新进度条而不调用javascript函数并且不刷新页面...但我确实想在我的代码中调用该方法(并且可能在rpc上调用)因此这不是救命 -.-

感谢您的时间!


这是我到目前为止的工作流程:

用户单击该按钮do_time_consuming_task 并调用以下函数:

def do_timeconsuming_task(self):
  ws = websocket.WebSocket()
  ws.connect('ws:/129.0.0.1:1234/')
  data = { 'topic' : 'server_command', 'id' : self.id, 'commandName' : 'do_sth',}
  payload = ujson.dumps(data)
  ws.send(payload)
  ws.close()
Run Code Online (Sandbox Code Playgroud)

在服务器上,接收并处理命令.有一个开放的rpc连接:

odoo = odoorpc.ODOO("129.0.0.1", port=8069)
odoo.login("database", "user", "password")
my_module = odoo.env['my_module.progress_widget_test']

progress_instance = my_module.browse(id)
Run Code Online (Sandbox Code Playgroud)

每次进度值更改时,我都会调用模块的以下方法:

progress_instance.updatevalue(new_value)
Run Code Online (Sandbox Code Playgroud)

当值等于100%时,我关闭连接

odoo.logout()
Run Code Online (Sandbox Code Playgroud)

javascript python openerp odoo-10 odoo-11

14
推荐指数
1
解决办法
1005
查看次数

无法覆盖Odoo 11中菜单视图的"名称"属性?

我是Odoo的新手.我想将最顶层的菜单名称(没有操作)Employee更改为My new string.

<record id="hr.menu_hr_root" model="ir.ui.menu">
    <field name="name">My new string</field>
    <field name="sequence">92</field>
</record>
Run Code Online (Sandbox Code Playgroud)

我确定id是正确的,因为sequence属性按预期更改.问题是name无论如何都要保持不变.我想要修改的菜单来自默认hr模块.我现在唯一的解决方案是删除记录并使用新值重新创建它.我尝试更新我自己的其他菜单视图,它们按照我的预期工作,但是默认hr模块的情况被翻译成我的语言(越南语).谁能告诉我一些关于这个的想法?

xml odoo odoo-11

8
推荐指数
2
解决办法
373
查看次数

后端中的Odoo 11空白页

问题

有时,在Odoo后端中,窗口将仅显示菜单项,其余屏幕保持空白。
单击任何菜单都会将URL更改为 https:// my_server_ip / web?debug#menu_id = 68&action =
唯一会更改的是menu_id的值,但action的值将保持为空。

起初,它以为是刷新我已经在浏览的页面。但是我无法始终如一地重现该错误(一旦发生,每次都会重现该错误,但是如果我清除缓存/ Cookie可以在短时间内解决问题,该问题将在某个时候重现,但是我找不到可以在需要时复制它的行为。它只会在某个随机点发生)。它只是在一段时间(有时是一个小时的使用时间)之后,有时在两个页面加载之后发生的。有时,一天没问题,但是明天尝试时,错误会再次发生。

尝试过的解决方案

这是尝试过的relevent解决方案:

  1. 清除缓存和cookie。
  2. 重新启动服务器
  3. 删除ir_attachment其中包含的所有条目web/content。(如有关Odoo git问题的建议)。
  4. 从头开始创建新的VM(与错误的Odoo VM无关),请在此新VM上安装Postgres和Odoo。然后继续重新安装所有已安装的模块。

以上解决方案的影响

以相同的顺序 :

  1. 问题已解决,但过了几次又发生。
  2. 通常无法单独运行,但有时可以。
  3. 我认为在执行此操作并重新启动服务器后它可以工作,但现在无法重现该错误以再次对其进行测试。当错误再次出现时,我将尝试进行编辑以确认这项工作。
  4. 机器行为是相同的。起初它可以工作,但是过了一会儿,该错误再次开始。

组态

  • 版本Odoo:Odoo 11.0-20190108(社区版)
  • 操作系统:Debian Stretch
  • 安装的社区模块:
    • backend_theme_v11
    • 基本位置
    • base_location_geonames_import
    • 发送短信
    • web_回应
  • 还安装了内部为此任务开发的自定义模块。
  • 安装在Proxmox上的VM
  • Nginx服务

odoo.conf的内容

; This is the password that allows database operations:
; admin_passwd = [admin_password]
db_host = False
db_port = False
db_user = odoo
db_password = [db_password]
addons_path …
Run Code Online (Sandbox Code Playgroud)

odoo odoo-11

6
推荐指数
0
解决办法
879
查看次数

Odoo 会话随机过期

我不断随机收到“Odoo 会话已过期”消息。我不知道为什么。我重新启动了本地实例/服务器,但这并没有解决问题。

在此输入图像描述

python session odoo server odoo-11

6
推荐指数
1
解决办法
4670
查看次数

如何从多对多字段中删除“搜索更多...”选项?

如果我使用小部件显示 many2many 字段,则many2many_tags下拉菜单中会出现“搜索更多...”选项。我怎样才能避免它?

<field name="groups_id" 
       widget="many2many_tags"  
       create="0" 
       options="{'no_create_edit': True,'no_quick_create':True,'no_create':True,'no_open':True}"/>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

有没有办法删除“搜索更多...”选项?

xml many-to-many odoo odoo-11

5
推荐指数
1
解决办法
1956
查看次数

在 Odoo 11 中报告的货币字段没有货币 ID

我尝试在发票报告中打印发票行。为了

<span t-field="l.price_subtotal" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
Run Code Online (Sandbox Code Playgroud)

并为

<span t-field="l.price_subtotal" />
Run Code Online (Sandbox Code Playgroud)

有一个输出:“111.11 $”但我需要不带符号的行价格。

如果我做类似的事情

<span t-esc="round(l.price_total, 2)"/>
Run Code Online (Sandbox Code Playgroud)

它有效,是的,但我失去了货币格式

  1. 有没有办法告诉货币小部件它不应该显示货币?

    “display_currency”:“False”不起作用(

  2. 货币小部件代码在哪里?我在源文件中找不到它(

odoo odoo-11

5
推荐指数
1
解决办法
5824
查看次数

Odoo - 没有进程正在监听长轮询端口 + 可能的解决方案

在 Ubuntu Linux 上启动了一个新的 Odoo 服务器。使用了 Yenthe Van Ginekken 的脚本(可能是最受欢迎的):

sudo wget https://raw.githubusercontent.com/Yenthe666/InstallScript/11.0/odoo_install.sh
Run Code Online (Sandbox Code Playgroud)

没有花哨的模块。安装 SSL 证书(使用 Certbot)后,我意识到 Discuss & Chat 应用程序无法正常工作。所以我更新了我的配置(workers=4,代理模式为 true)以及 Nginx 配置。

奥多配置:

[options]
addons_path = /odoo/odoo-server/addons,/odoo/custom/addons
admin_passwd = pwd
csv_internal_sep = ,
data_dir = /odoo/.local/share/Odoo
db_host = False
db_maxconn = 64
db_name = False
db_password = False
db_port = False
db_sslmode = prefer
db_template = template1
db_user = False
dbfilter =
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
http_enable = True
http_interface =
http_port = …
Run Code Online (Sandbox Code Playgroud)

nginx long-polling odoo odoo-11

5
推荐指数
0
解决办法
1674
查看次数

Odoo:将 res.company 对象导出到 JSON

company = self.env['res.company'].search([('id', '=', 1)])
print company.name # prints 'my company' which is correct
print json.dumps(company) # error TypeError: res.company(1,) is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

问题是如何简单地导出companyjson对象?

我正在寻找一种适用于任何模型的通用方法。

json odoo-11

5
推荐指数
1
解决办法
3557
查看次数

“datetime.date”类型的对象在python中没有len()”

我在odoo 11中有这样的代码

@api.multi
def report_team(self):
    teambao = self.env['hr.department'].search([])
    tongteam = len(teambao)
    i = 0
    while i < tongteam:
        if teambao[i].id:
            now = datetime.now()
            print(now.date())

            project = self.env['project.project'].search([('deadline', '=', now.date())])
            print (project)
        i = i + 1
Run Code Online (Sandbox Code Playgroud)

当我运行这个函数时,它得到这样的错误

"object of type 'datetime.date' has no len()" while evaluating 'model.report_team()' 
in report_team
project = self.env['project.project'].search([('deadline', '=', now.date())])
Run Code Online (Sandbox Code Playgroud)

我想要的只是得到今天有截止日期的项目

对我有什么建议吗?

谢谢

python python-3.x odoo-11

5
推荐指数
1
解决办法
5389
查看次数

在常见的 Odoo 方法“execute_kw”中,后缀“kw”指的是什么?

我一生都找不到任何地方解释常见 Odoo 方法名称的后缀execute_kw。后缀是做什么kw用的?它只是两个任意字母吗?

odoo odoo-10 odoo-11 odoo-12

5
推荐指数
1
解决办法
1280
查看次数