Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenERP module xml ValidateError

I'm learning OpenERP development, and I'm stuck in a problem, which I think should be obvious.

I made a very simple module but I can't install it. It keeps saying

ValidateError Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Here is my module :

init.py

import testmod
__openerp__.py

{
'name': "Test Module",
'description': "Basic example of a (future) web module",
'category': 'Hidden',
'depends': ['base'],
'data': [
    'test_view.xml',
],
'installable': True,
'application': False,
'auto_install': False,
}

testmod.py

from openerp.osv import fields, osv

class testmod_test(osv.Model):
    _name = 'testmod.test'
    _description = 'Test Model'
    _columns = {
    'test1': fields.char('Test 1', size=32, required=True, help='Test 1 help'),
    'test2': fields.float('Test 2', help='Test 2 help'),
    }

testmod_test()

test_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

<record id="testmod_test_form" model="ir.ui.view">
    <field name="name">testmod.test.form</field>
    <field name="model">testmod.test</field>
    <field name="arch" type="xml">
      <form string="Test" version="7.0">  
        <field name="test1" />
        <field name="test2"/>

      </form>
    </field>
</record>

<record id="testmod_test_tree" model="ir.ui.view">
  <field name="name">testmod.test.tree</field>
  <field name="model">testmod.test</field>
  <field name="arch" type="xml">
    <tree string="Test">
      <field name="test1" />
       <field name="test2"/>
    </tree>
  </field>
</record>

<record model="ir.actions.act_window" id="action_testmod_test">
  <field name="name">Test</field>
  <field name="res_model">testmod.test</field>
  <field name="view_type">form</field>
  <field name="view_mode">tree,form</field>
</record>

<menuitem 
          name="Test" 
          id="menu_testmod_test" 

          />

<menuitem 
          name="Test sub" 
          parent="menu_testmod_test"
          id="menu_testmod_test_sub" 
          />
<menuitem
        name="Sub Test"
        id="menu_subtest"
        parent="menu_testmod_test_sub"
        action="action_testmod_test"    
        />


</data>
</openerp> 

Here is the full log error :

2013-09-17 19:22:19,199 1674 INFO emad92 openerp.modules.loading: loading 1 modules... 2013-09-17 19:22:19,220 1674 INFO emad92 openerp.modules.loading: loading 10 modules... 2013-09-17 19:22:19,251 1674 INFO emad92 openerp.modules.loading: loading 11 modules... 2013-09-17 19:22:19,252 1674 INFO emad92 openerp.modules.module: module testmod: creating or updating database tables 2013-09-17 19:22:19,255 1674 INFO emad92 openerp.modules.loading: module testmod: loading test_view.xml 2013-09-17 19:22:19,269 1674 ERROR emad92 openerp.addons.base.ir.ir_ui_view: Can't render view for model: testmod.test Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_ui_view.py", line 126, in _check_render_view fvg = self.pool.get(view.model).fields_view_get(cr, uid, view_id=view.id, view_type=view.type, context=context) AttributeError: 'NoneType' object has no attribute 'fields_view_get' 2013-09-17 19:22:19,276 1674 ERROR emad92 openerp.tools.convert: Parse error in /opt/modules-openerp/testmod/test_view.xml:5:

<record id="testmod_test_form" model="ir.ui.view">
    <field name="name">testmod.test.form</field>
    <field name="model">testmod.test</field>
    <field name="arch" type="xml">
      <form string="Test" version="7.0">  
        <field name="test1" />
        <field name="test2"/>

      </form>
    </field>
</record> 

Traceback (most recent call last): File

"/usr/lib/pymodules/python2.7/openerp/tools/convert.py", line 847, in parse self._tags[rec.tag](self.cr, rec, n) File "/usr/lib/pymodules/python2.7/openerp/tools/convert.py", line 814, in _tag_record id = self.pool.get('ir.model.data')._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context ) File "/usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_model.py", line 964, in _update res_id = model_obj.create(cr, uid, values, context=context) File "/usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_ui_view.py", line 103, in create return super(view, self).create(cr, uid, values, context) File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 4472, in create self._validate(cr, user, [id_new], context) File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 1546, in _validate raise except_orm('ValidateError', '\n'.join(error_msgs)) except_orm: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid XML for View Architecture!') 2013-09-17 19:22:19,278 1674 ERROR emad92 openerp.netsvc: ValidateError Error occurred while validating the field(s) arch: Invalid XML for View Architecture! Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, *params) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 188, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 144, in wrapper raise except_osv(inst.name, inst.value) except_osv: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid XML for View Architecture!') 2013-09-17 19:22:19,283 1674 INFO emad92 werkzeug: 127.0.0.1 - - [17/Sep/2013 19:22:19] "POST /web/dataset/call_button HTTP/1.1" 200 -

and I'm using OpenERP 7.0 in a linux platform (ubuntu 13.04).

like image 319
Emad Shaaban Avatar asked Sep 17 '13 18:09

Emad Shaaban


1 Answers

Try commenting out the data section in openerp.py once install and re-enable the data section and upgrade the module. Sometimes openerp fails to actually create the model and causes errors. This might solve you rproblem

like image 59
Shaumux Avatar answered Oct 27 '22 03:10

Shaumux