我想fields_view_get在做一些函数后动态触发函数.我重写该函数fields_view_get并返回我的结果.仅在第一次调用实际函数时才会影响XML视图.所以我需要刷新视图以影响arch的新值.
有没有办法让odoo视图fields_view_get在第一次调用函数后才能通过函数改变?
我的尝试:
# here fields view get changes the button string from getting arch
# I overrided the fields_view_get on event model and its get affected and works
# perfectly when I click on main menu Event.but not after the records loaded.
@api.multi
def send_mail_event(self):
x = self.event_id.fields_view_get(view_id=None, view_type='form', toolbar=False, submenu=False)
self.send_mail_event_reg_link(test=True)
return x
Run Code Online (Sandbox Code Playgroud) 我的任务: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) 我试图将Postgres数据库时间到日期时间字段的设置时间显示到Odoo中.
我创建的字段是设置时间.
last_modify_article = fields.Datetime("Last Modify Date")
Run Code Online (Sandbox Code Playgroud)
但我的DateTime:~2017-08-28T08:43:56 + 0200完美存储在Postgres数据库中,但在Odoo看到的不同.
所以,我的问题是如何在现场管理数据库日期时间.
和
我正在使用odoo 10 enterpeise.我想向特定用户显示按钮而不是组,因为组中有很多用户,我想只显示下面的按钮,他们有优先权来拒绝/批准对象.这是按钮
<xpath expr="//sheet" position="before">
<header>
<button name="update_approve" attrs="{'invisible':[('first_approve', '=', uid)]}" string="Approve" type="object" class="oe_highlight"/>
<button name="update_reject" attrs="{'invisible':[('second_approve', '=', uid)]}" string="Reject" type="object" class="btn-danger"/>
</header>
</xpath>
Run Code Online (Sandbox Code Playgroud)
我尝试使用uid但是uid在xml中不可用
first_approve并且second_approve是我的模型中的字段,我希望仅向分配给的用户显示按钮first_approve/second_approve
目前,我在不同的机器上有两个不同的数据库,显示下面的错误.第一次出现是几个月前,偶尔出现在日志中,有时连续多次出现,其他时间只出现一天.
只有在运行带有proxy_mode = True的Odoo和/或者工作数> 0时才会发生.当代理被禁用时,错误就会停止.
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/http.py", line 638, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/odoo/http.py", line 675, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo-server/odoo/http.py", line 331, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo-server/odoo/service/model.py", line 119, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/odoo-server/odoo/http.py", line 324, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo-server/odoo/http.py", line 933, in __call__
return self.method(*args, **kw)
File "/odoo/odoo-server/odoo/http.py", line 504, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo-server/addons/bus/controllers/main.py", line …Run Code Online (Sandbox Code Playgroud) 我是python和odoo的新手.我遇到了一个场景,我想首先从我的动态记录中创建一个excel文件,然后将其保存到ir.attachment表中.这样我就可以将其作为电子邮件中的附件链接.
这是我尝试过的,但它没有写入文件
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:A', 20)
bold = workbook.add_format({'bold': True})
worksheet.write('A1', 'Hello')
worksheet.write('A2', 'World', bold)
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
workbook.close()
Run Code Online (Sandbox Code Playgroud)
更新
我能够创建xlsx文件,actullay这是我的路径问题.现在我只想知道如何添加该文件ir.attachment
我正在使用Odoo 10-e.我希望在用户登录时默认为用户启用开发人员模式,并且该用户是管理员以外的用户.在odoo 10中这可能吗?
是否可以在树视图中显示html?
例如,将strong添加到字符串<strong> MY STRING </ strong>
我尝试使用widget ="html",但强大的标签是可见的!
的.py
@api.depends('name')
def _get_html(self):
self.html_text = "<strong>" + str(self.name) + "</strong>"
html_text = fields.Char(compute='_get_html')
Run Code Online (Sandbox Code Playgroud)
.XML
<field name="html_text"/>
Run Code Online (Sandbox Code Playgroud) 我已经在Ubuntu 16.04上安装了odoo 10。现在,我需要为odoo创建服务。我尝试了以下步骤,但出现错误:
Starting odoo-server: start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
/etc/init.d/odoo-server: 39: /etc/init.d/odoo-server: --chuid: not found
odoo-server.
Run Code Online (Sandbox Code Playgroud)
odoo服务器
#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Odoo ERP
# Description: Odoo is a complete ERP business solution.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
# Change the Odoo …Run Code Online (Sandbox Code Playgroud) odoo-10 ×10
openerp ×7
python ×5
odoo ×2
datetime ×1
excel ×1
javascript ×1
models ×1
nginx ×1
odoo-11 ×1
odoo-9 ×1
odoo-view ×1
odoo-website ×1
postgresql ×1
xml ×1