标签: odoo-8

如何将新菜单项添加到现有的 odoo 模块?

我想在人力资源模块中添加新的菜单项。

我创建的新模块取决于“hr”模块。

我创建了一个 xml 文件来添加新的菜单和字段。

这是我的代码:

<menuitem id="menu_new" parent="menu_hr_root" name="new" sequence="30"/>
Run Code Online (Sandbox Code Playgroud)

我更新模块列表并重新加载页面,但我没有找到新菜单。

谢谢你的帮助。

module menuitem odoo-8

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

Odoo 8-从python方法启动ir.actions.act_window吗?

是否可以从模型的Python方法启动ir.actions.act_window?例如,我已经实现了代表课程会话的Session模型(我也有Course模型)。另外,我还有一个openacademy.xml,其中定义了窗体视图以打开会话窗体视图。

<record model="ir.ui.view" id="session_form_view">
      <field name="name">session.form</field>
      <field name="model">openacademy.session</field>
      <field name="arch" type="xml">
        <form>
          <header>
            <button name="draft" type="workflow"
                    string="Reset to draft"
                    states="confirmed,done"/>
            <button name="confirm" type="workflow"
                    string="Confirm" states="draft"
                    class="oe_highlight"/>
            <button name="done" type="workflow"
                    string="Mark as done" states="confirmed"
                    class="oe_highlight"/>
            <button type="object"
                    name="my_method"
                    string="New course"/>
            <field name="state" widget="statusbar"/>
          </header>
          <sheet>
            <group string="General">
              <field name="name" string="Session name"/>
              <field name="course_id" string="Course"/>
              <field name="instructor_id" string="Instructor"/>
            </group>
            <group string="Management">
              <field name="start_date" string="Start date"/>
              <field name="active" string="Active"/>
              <field name="duration" string="Duration (in days)"/>
              <field name="seats"/>
              <field name="percent_taken_seats" widget="progressbar"/>
            </group>
            <label for="attendees"/>
            <field …
Run Code Online (Sandbox Code Playgroud)

odoo odoo-8

3
推荐指数
1
解决办法
4843
查看次数

Odoo树视图中的多种颜色

美好的一天!我只想在Odoo的树视图中有多种颜色,这将显示记录状态==批准的颜色是蓝色状态==帖子颜色是红色

现在我只有一种处于批准状态的颜色.非常感谢您的帮助!!

openerp openerp-8 odoo-8

3
推荐指数
1
解决办法
6927
查看次数

Javascript - 对父母调用 super 父母?

我在 Odoo 中定义了当前自定义 javascript 视图的扩展:

openerp.account_move_journal_test = function(instance){
    var _t = instance.web._t,
        _lt = instance.web._lt;
    var QWeb = instance.web.qweb;
    instance.web.account.QuickAddListView.include({
        init: function(){
            this._super.apply(this, arguments);
            console.log("QuickAddListView modified init")
        },
    });    
};
Run Code Online (Sandbox Code Playgroud)

现在,为了更好地表示,我添加了控制台登录QuickAddListView和 in ListView,它们是称为 using 的父级_super

因此,如果我像这样运行它,我会得到这些打印结果:

'ListView init'  // This is parent of QuickAddListView
'QuickAddListView Init'
'QuickAddListView modified init'
Run Code Online (Sandbox Code Playgroud)

构造函数的顺序是这样的View-> ListView->QuickAddListView

因此,所有这些都按应有的方式打印,但我想要的是以init直接调用ListView并跳过QuickAddListView原始init.

所以之后它应该只打印这个(意味着原始的 QuickAddListView init 没有被调用):

'ListView init'  // This is parent of …
Run Code Online (Sandbox Code Playgroud)

javascript super odoo odoo-8

3
推荐指数
1
解决办法
2211
查看次数

在模块安装上调用函数

如何在模块安装上调用函数或执行代码(不更新)?那有特定的功能吗?

我想在模块安装上执行此代码:

all_countries = self.env['res.country'].search([])
for country in all_countries:
   _logger.error(country.name)
Run Code Online (Sandbox Code Playgroud)

openerp odoo-8

3
推荐指数
1
解决办法
1899
查看次数

如何在Odoo中通过id获取以前的数据或最新数据?

我创建了一个计费系统,我有一个领域meter_no,prev_reading,current_readingconsumed.在我的onchange方法中,当我选择一个仪表编号时,我prev_reading将自动填充最后current_reading由a的id 保存的值meter_no.这是我的onchange方法:

@api.multi
@api.onchange('meter_no')
def onchange_meter_no(self):
    ids = self.search([('meter_no','=',self.meter_no.id)])
    last_id = ids and max(ids)
    if self.meter_no:
        self.prev_reading = last_id.current_reading or None
Run Code Online (Sandbox Code Playgroud)

但这总是返回第二个值,而不是最后一个数据.例如,BILL-01 prev_reading = 0.0,current_reading = 10.0consumed = 10.0.在BILL-02,符合市场预期,其中,该数据是正确的prev_reading = 10.0,然后我进入current_reading = 20,然后consumed = 10.在第三次计费中,BILL-03 prev_reading始终是10,直到第四次才一直相同,依此类推.这有什么问题?我已经用它max()来获取最后一个id.

openerp odoo-8 odoo-9

3
推荐指数
1
解决办法
2540
查看次数

@api.constrains 工作不正常

在“project.project”模型中,我编写了一个函数来验证“开始日期”和“结束日期”,为此我使用了 onchange 函数。该函数正在运行并发出警告,但正在创建记录。实际上,如果有任何错误,则表示无法保存记录,因为我使用的是 @api.constrains 下面是我的代码。

py.代码:

@api.onchange('date','date_start')
@api.constrains('date','date_start')
def cheking_field_date(self):
    self.t1 = self.date_start 
    self.t2 = self.date
    if self.t2 == False:
        pass
    else:   
        if str(self.t1) > str(self.t2):
            raise Warning('The Deadline Date is Invalid')
        else:
            pass  
Run Code Online (Sandbox Code Playgroud)

但是当我编辑记录时,如果日期字段中的任何更改意味着一切都很好(即“开始日期”和“结束日期”中的验证问题)。当时记录没有保存。为什么会出现这种类型的问题任何人请帮助我。

openerp odoo-8

3
推荐指数
1
解决办法
934
查看次数

如何在odoo 8的列表视图中显示man2many字段?

我尝试了两种方法在列表视图中显示many2many字段,但它们都没有工作:

1)<field name="test_ids"/>- >它只显示记录数量.(即(3条记录))

2)<field name="test_ids" widget="many2many_tags"/>- >它显示记录的ID.(即2,3,4)

如何实现这一目标?

treeview listview many-to-many odoo odoo-8

3
推荐指数
1
解决办法
751
查看次数

postgresql 关闭连接:无法从客户端接收数据:对等方重置连接

我有 3 个odoos在使用 ubuntu16 和postgresql 9.5 的aws 中正常运行到 ec2 ,但几天前有 1 个 odoo 实例死亡,在我的日志 odoo 中我看到:

2018-01-11 06:15:56,343 28311 ERROR ? openerp.addons.bus.bus: Bus.loop error, sleep and retry
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openerp/addons/bus/bus.py", line 136, in run
    self.loop()
  File "/usr/lib/python2.7/dist-packages/openerp/addons/bus/bus.py", line 122, in loop
    conn.poll()
OperationalError: SSL connection has been closed unexpectedly

2018-01-11 06:15:58,283 28311 INFO ? openerp.service.server: Initiating shutdown
Run Code Online (Sandbox Code Playgroud)

在我的 postgresql 日志中,我得到:

2018-01-11 01:07:52 -05 LOG:  could not receive data from client: Connection reset …
Run Code Online (Sandbox Code Playgroud)

python postgresql odoo-8

3
推荐指数
1
解决办法
7720
查看次数

如何通过XML文件在Odoo数据库中引入Many2one字段值?

我正在使用Odoo 8,我正在尝试通过XML文件在数据库中引入数据.

这个文件的内容是下一个:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <record id="event_invitation_email_template" model="email.template">
            <field name="name">Event Invitation</field>
            <field name="subject">Invitation to an event</field>
            <field name="email_from">${(object.event_id.user_id.email or &apos;noreply@localhost&apos;)|safe}</field>
            <field name="email_to">${object.email|safe}</field>
        </record>
    </data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

这非常有效.但我想添加另一个字段model_id,这是一个Many2one(指向ir.model).如果我想要设置的值具有XML ID,我会知道如何执行此操作,但实际情况并非如此.

我想将模型my.new.model设置为model_id,但如果我不进行搜索,我不知道它在数据库中的ID.

所以我不知道如何管理我的目的.有人可以帮帮我吗?

xml many-to-one odoo odoo-8

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