我正在使用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
这是一个关于CSS的棘手问题.我必须发送一些风格的电子邮件.使样式在电子邮件中工作的唯一方法是在标记之后写它们(我甚至不能写一个<style type="text/css">因为邮件服务器忽略它).所以,这是我必须做的一个例子:
<div style="background: red;"></div>
Run Code Online (Sandbox Code Playgroud)
例如,这是完美的.问题是我需要使用css @ font-face查询.有没有办法像这样包含它?
<div style="background: red; @font-face { font-family: 'myFont'; src: url('myURL'); }"></div>
Run Code Online (Sandbox Code Playgroud)
注意:显然最后一行根本不起作用.
这是一个类似的帖子,答案如下:
@fontface可以在标签中使用吗?(用于电子邮件签名可靠性
但我不能使用外部样式表或将其复制到样式部分,因为它不起作用.
先感谢您.
我正在从Python3脚本发送电子邮件(使用smtplib).到目前为止,我一直在Gmail帐户中收到邮件.但问题是我无法显示CSS样式,尽管是内联的.此外,即使这个简单的消息也无法发送:
title = 'My title'
msg_content = '<h2>{title}: <font color="green">OK</font></h2>\n'.format(title=title)
Run Code Online (Sandbox Code Playgroud)
但是,如果我在{title}之后删除了两个点,它就可以了.如果我删除最后的\n它将无法再次工作.为什么?如何在Python3中发送这样的行?
title = 'My title'
msg_content = '<h2>{title}: <span style="color: green">OK</span></h2>'.format(title=title)
Run Code Online (Sandbox Code Playgroud)
编辑
import smtplib
msg_header = 'From: Sender Name <sender@server>\n' \
'To: Receiver Name <receiver@server>\n' \
'Cc: Receiver2 Name <receiver2@server>\n' \
'MIME-Version: 1.0\n' \
'Content-type: text/html\n' \
'Subject: Any subject\n'
title = 'My title'
msg_content = '<h2>{title} > <font color="green">OK</font></h2>\n'.format(
title=title)
msg_full = (''.join([msg_header, msg_content])).encode()
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login('sender@server.com', 'senderpassword')
server.sendmail('sender@server.com',
['receiver@server.com', 'receiver@server.com'],
msg_full)
server.quit()
Run Code Online (Sandbox Code Playgroud) 我有一个名为items的对象列表.每个对象都有一个属性state和一个属性children,它是另一个对象列表.每个子对象也有一个名为state的属性.我想知道的是,每件物品及其子女是否都处于快乐或愉快的状态.
我和所有人一起做过(仅分析项目的状态):
if all(item.state in ['happy', 'cheerful'] for item in items):
pass
Run Code Online (Sandbox Code Playgroud)
我想知道哪种方法不仅可以用于物品,还可以用于儿童.
我在Project模块中有翻译问题.某些菜单项未翻译.可能是什么问题呢?
这里是project_view.xml
<!-- Top menu item -->
<menuitem name="Project"
id="base.menu_main_pm"
groups="group_project_manager,group_project_user"
icon="fa-calendar"
web_icon="project,static/description/icon.png"
sequence="50"/>
Run Code Online (Sandbox Code Playgroud)
在这里ru.po
#. module: project
#: model:ir.model,name:project.model_project_project
#: model:ir.model.fields,field_description:project.field_project_task_history_cumulative_project_id
#: model:ir.model.fields,field_description:project.field_project_task_project_id
#: model:ir.model.fields,field_description:project.field_report_project_task_user_project_id
#: model:ir.ui.view,arch_db:project.edit_project
#: model:ir.ui.view,arch_db:project.view_task_form2
#: model:ir.ui.view,arch_db:project.view_task_history_search
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
#: model:ir.ui.view,arch_db:project.view_task_search_form
#: model:res.request.link,name:project.req_link_project
msgid "Project"
msgstr "??????"
Run Code Online (Sandbox Code Playgroud) 我试图更改PostgreSQL数据库(版本> 8.2)及其表的所有者.
我读了这个解决方案:
但这是最好的方法吗(对于最新版本的PostgreSQL)?似乎有一个REASSIGN OWNED函数更好,但是这个函数改变了old_role拥有的每个数据库,不是吗?我只想要一个数据库.
喜欢这篇文章:
我不会改变所有者postgres,这是现在最好的方式吗?
先感谢您
我想以本地化格式输出odoo 8 datetime字段,但没有时间.
我扩展t-field了选项hide_time.有一个更简单的内置解决方案吗?
我正在尝试从res_partner检索注释字段(客户内部注释)到帐户发票模块.现在我只想打印它,我将它包含在xml代码中.我试过三种这样的方式,
1)comment2 = fields.Char(string='Comment',related='res_partner.comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment2
2)comment = fields.Many2one('res.partner','Comment',compute='_compute_com')
@api.multi
def _compute_com(self):
print self.comment
3)partner_comment = fields.Char(compute='_compute_com')
@api.multi
def _compute_com(self):
Comment = self.env['res.partner'].browse(partner_id).comment
print Comment
Run Code Online (Sandbox Code Playgroud) 几天前我在这里做了一个类似的问题:如何在Odoo控制器中获取JSON数据?
但现在,我需要创建一个只接收JSON数据的控制器.所以,我正在通过Python控制台执行请求,这样:
import requests
import json
url = 'http://localhost:8069/odoo/test'
headers = {'Content-Type': 'application/json'}
data = {
'name': 'Jane',
'email': 'jane.doe@gmail.com',
}
data_json = json.dumps(data)
r = requests.post(url=url, data=data_json, headers=headers)
Run Code Online (Sandbox Code Playgroud)
我创建了一个监听http:// localhost:8069/odoo/test的控制器,这样:
import openerp.http as http
from openerp.http import Response
import logging
_logger = logging.getLogger(__name__)
class WebFormController(http.Controller):
@http.route('/odoo/test', type='json',
auth='public', methods=['POST'], website=True)
def index(self, **args):
_logger.info('CONNECTION SUCCESSFUL')
_logger.info(args)
name = args.get('name', False)
email = args.get('email', False)
_logger.info(name)
_logger.info(email)
if not name:
Response.status = '400 Bad Request'
return '{"response": …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 PostgreSQL 中恢复集群备份。我使用了 pg_dumpall,它生成了一个带有 SQL 查询的纯文本文件。但是,当我尝试恢复它时,出现此错误:
pg_restore: [archiver] 输入文件似乎不是有效的存档
当我尝试恢复数据库的备份(用 pg_dump 生成)时,我也收到了同样的错误,但我解决了这个问题。在那种情况下,pg_restore 无法通过 SQL 查询识别纯文本,因此我更改了命令:
pg_dump db_name -Fc -U user -h host -p port > my_db_backup.dump
Run Code Online (Sandbox Code Playgroud)
而是写道:
pg_dump db_name -Fp -U user -h host -p port > my_db_backup.dump
Run Code Online (Sandbox Code Playgroud)
这样生成的文件不是纯文本,所以 pg_restore 可以很好地处理它。
现在,我正在尝试使用 pg_dumpall 进行相同的管理,但是没有 -F 参数。我的代码(在 Python3 中,但此命令对于任何语言都是相同的)是:
pg_dumpall -U user -h host -p port > my_cluster_backup.dump
Run Code Online (Sandbox Code Playgroud)
知道如何管理这个吗?或者至少如何以任何方式恢复集群备份?先感谢您!
编辑
如果我使用psql来恢复:
psql -U user -h host -p port -f my_cluster_backup.dump postgres'
Run Code Online (Sandbox Code Playgroud)
它似乎有效,控制台中显示了很多命令,但每个命令都给出了“它已经存在”的错误。我无法理解,因为我有两个集群(端口 5432 和 5433),我猜它正在尝试在 5432 中恢复,当我确定我已连接到 5433 时。以前有人遇到过这个问题吗?
odoo ×4
odoo-8 ×4
python ×4
xml ×3
email ×2
postgresql ×2
python-2.7 ×2
controller ×1
css ×1
dump ×1
font-face ×1
json ×1
mime ×1
odoo-10 ×1
odoo-9 ×1
openerp ×1
openerp-7 ×1
pg-restore ×1
python-3.x ×1
qweb ×1
report ×1