小编for*_*vas的帖子

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

python xml odoo odoo-10

10
推荐指数
1
解决办法
3221
查看次数

如何在电子邮件中使用@ font-face?

这是一个关于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可以在标签中使用吗?(用于电子邮件签名可靠性

但我不能使用外部样式表或将其复制到样式部分,因为它不起作用.

先感谢您.

css email font-face

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

如何在Python3中发送带风格的电子邮件?

我正在从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)

python email mime python-3.x

8
推荐指数
1
解决办法
1万
查看次数

是否可以嵌套所有功能?

我有一个名为items的对象列表.每个对象都有一个属性state和一个属性children,它是另一个对象列表.每个子对象也有一个名为state的属性.我想知道的是,每件物品及其子女是否都处于快乐愉快的状态.

我和所有人一起做过(仅分析项目的状态):

if all(item.state in ['happy', 'cheerful'] for item in items):
   pass
Run Code Online (Sandbox Code Playgroud)

我想知道哪种方法不仅可以用于物品,还可以用于儿童.

python

8
推荐指数
1
解决办法
156
查看次数

为什么有些项目没有翻译成Odoo?

我在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)

python xml odoo odoo-8 odoo-9

8
推荐指数
1
解决办法
8406
查看次数

更改PostgreSQL数据库及其表的所有者的最佳方法是什么?

我试图更改PostgreSQL数据库(版本> 8.2)及其表的所有者.

我读了这个解决方案:

在PostgreSQL中同时修改所有表上的OWNER

但这是最好的方法吗(对于最新版本的PostgreSQL)?似乎有一个REASSIGN OWNED函数更好,但是这个函数改变了old_role拥有的每个数据库,不是吗?我只想要一个数据库.

喜欢这篇文章:

为1个指定的数据库重新设置所有权

我不会改变所有者postgres,这是现在最好的方式吗?

先感谢您

postgresql

6
推荐指数
2
解决办法
2万
查看次数

如何在qweb报告中没有时间输出odoo 8 datetime字段?

我想以本地化格式输出odoo 8 datetime字段,但没有时间.

我扩展t-field了选项hide_time.有一个更简单的内置解决方案吗?

xml report odoo qweb odoo-8

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

如何在odoo-8中使用相关字段(fields.related)?

我正在尝试从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)

openerp python-2.7 openerp-7 odoo-8

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

如何使用type ='json'在Odoo控制器中获取JSON数据?

几天前我在这里做了一个类似的问题:如何在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)

json controller python-2.7 odoo odoo-8

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

如何在 PostgreSQL 中恢复集群备份?

我正在尝试在 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 时。以前有人遇到过这个问题吗?

postgresql dump pg-restore

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