2016-06-17 50 views
3

我有一个模块已经在我的项目中安装了一些新表。现在,我想添加与这些表关联的XML来创建菜单项。Odoo在模块更新后不添加新的XML文件

在我的OpenERP的.py,我有这个代码:

'data': ['main.xml', 'security/ir.model.access.csv'] 

现在,我想添加包含我的XML的新文件:

'data': ['main.xml', 
      'trips.xml', 
      'security/ir.model.access.csv'] 

trips.xml看起来是这样的:

<openerp> 
    <data> 

     <record id="action_partner_trip_form" model="ir.actions.act_window"> 
      <field name="name">Trips</field> 
      <field name="type">ir.actions.act_window</field> 
      <field name="res_model">res.partner.trip</field> 
      <field name="view_type">form</field> 
      <field name="help" type="html"> 
       <p class="oe_view_nocontent_create"> 
       Click to create a new trip. 
       </p> 
      </field> 
     </record> 

     <menuitem action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/> 
    </data> 
</openerp> 

我重新启动服务器,也更新了我的主包,但新的X ML未加载到应用程序中。另外,我的日志里面没有错误。

当然,如果我卸载 - >重新安装它,我的XML将被加载并添加我的菜单项,但我会丢失宝贵的数据。

+0

你总是有问题?在IDE中开发时的一个典型错误:在服务器重启前不保存(需要的文件)。也许你忘记保存清单(__openerp__.py)?另一个问题可能是浏览器。只是尝试重新加载Odoo更新后的空缓存, – CZoellner

+0

只是一个疯狂的猜测....文件的权限? – danidee

+0

@CZoellner openerp.py已经正确保存。此外,它不是缓存问题,因为我的菜单项不是在Odoo内部创建的。 (设置 - >用户界面 - >菜单项) –

回答

3
<menuitem action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/> 

不起作用。

我们需要把一个ID这样的菜单项:

<menuitem id="menu_trips" action="action_partner_trip_form" name="Trips" sequence="4" parent="base.menu_sales" groups="base.group_no_one"/> 
-1

如果您很勇敢,请使用pgAdmin III删除查看表单ir_ui_view表。确保你也删除所有相关表中的数据,例如ir_ui_view。有时OpenERP没有意识到xml中有更新。通过删除ir_ui_view中的正确数据,确保必须重新创建视图,同时希望保留的原始数据仍然存储在数据库中。

只要小心,如果事情出错了,如果你不知道自己在做什么,它可能会出现可怕的错误。

更好的方法是使用OpenERP接口。进入菜单设置 - >技术 - >用户界面 - >视图。搜索视图并删除模块的视图。现在再次更新/升级模块。

+0

我没有这个模块的意见。我只想要菜单项,默认窗体视图对我的情况是正确的。 –

+0

你可以显示你在main.xml中做了什么吗? –

+0

https://gist.github。com/anonymous/c1931b2cbcd441459ba9f84133f3b1dd 你走了! –