I added a field `partner_code` to `res.partner`. I am now trying to search customer or supplier by the new field when creating a draft invoice.
this is the xml code which is causing an error:
`<?xml version="1.0" encoding="UTF-8"?> <!--suppress XmlUnboundNsPrefix --> <openerp> <data> <record id="odootec_invoice_supplier_form" model="ir.ui.view"> <field name="name">account.invoice.supplier.form</field> <field name="model">account.invoice</field> <field name="inherit_id" ref="account.invoice_supplier_form"/> <field name="arch" type="xml"> <xpath expr="//field[@string='partner_id]" position="attributes"> <attribute name="attrs">{'filter_domain':['|','|',('display_name','ilike',self),('partner_code','ilike',self),('ref','=',self),('email','ilike',self)]}</attribute> <!--<attribute name="filter_domain">['|','|',('display_name','ilike',self),('partner_code','ilike',self),('ref','=',self),('email','ilike',self)]</attribute>--> </xpath> </field> </record> </data> </openerp> `
this is the error:
`
2015-02-23 20:41:50,534 19513 ERROR test werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute
application_iter = app(environ, start_response)
File "/home/hesham/odoo/openerp/service/server.py", line 281, in app
return self.app(e, s)
File "/home/hesham/odoo/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/home/hesham/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/home/hesham/odoo/openerp/http.py", line 1236, in __call__
return self.dispatch(environ, start_response)
File "/home/hesham/odoo/openerp/http.py", line 1210, in __call__
return self.app(environ, start_wrapped)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 588, in __call__
return self.app(environ, start_response)
File "/home/hesham/odoo/openerp/http.py", line 1368, in dispatch
ir_http = request.registry['ir.http']
File "/home/hesham/odoo/openerp/http.py", line 330, in registry
return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
File "/home/hesham/odoo/openerp/modules/registry.py", line 310, in get
update_module)
File "/home/hesham/odoo/openerp/modules/registry.py", line 341, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/hesham/odoo/openerp/modules/loading.py", line 354, in load_modules
force, status, report, loaded_modules, update_module)
File "/home/hesham/odoo/openerp/modules/loading.py", line 263, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/home/hesham/odoo/openerp/modules/loading.py", line 182, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/home/hesham/odoo/openerp/modules/loading.py", line 118, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/hesham/odoo/openerp/tools/convert.py", line 901, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/hesham/odoo/openerp/tools/convert.py", line 987, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/home/hesham/odoo/openerp/tools/convert.py", line 853, in parse
self._tags[rec.tag](self.cr, rec, n, mode=mode)
File "/home/hesham/odoo/openerp/tools/convert.py", line 763, in _tag_record
id = self.pool['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 "/home/hesham/odoo/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/hesham/odoo/openerp/addons/base/ir/ir_model.py", line 1066, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/home/hesham/odoo/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/hesham/odoo/openerp/addons/base/ir/ir_ui_view.py", line 264, in create
context=context)
File "/home/hesham/odoo/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/hesham/odoo/openerp/api.py", line 332, in old_api
result = method(recs, *args, **kwargs)
File "/home/hesham/odoo/openerp/models.py", line 3999, in create
record = self.browse(self._create(old_vals))
File "/home/hesham/odoo/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/home/hesham/odoo/openerp/api.py", line 464, in new_api
result = method(self._model, cr, uid, *args, **kwargs)
File "/home/hesham/odoo/openerp/models.py", line 4190, in _create
recs._validate_fields(vals)
File "/home/hesham/odoo/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/home/hesham/odoo/openerp/models.py", line 1276, in _validate_fields
raise ValidationError('\n'.join(errors))
ParseError: "ValidateError
Field(s) `arch` failed against a constraint: Invalid view definition
Error details:
Unfinished literal" while parsing /home/hesham/odootec-projects/odootecdev/odootec_extensions/odootec_account_invoice_view.xml:5, near
<record id="odootec_invoice_supplier_form" model="ir.ui.view">
<field name="name">account.invoice.supplier.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@string='partner_id]" position="attributes">
<attribute name="attrs">{'filter_domain':['|','|',('display_name','ilike',self),('partner_code','ilike',self),('ref','=',self),('email','ilike',self)]}</attribute>
<!--<attribute name="filter_domain">['|','|',('display_name','ilike',self),('partner_code','ilike',self),('ref','=',self),('email','ilike',self)]</attribute>-->
</xpath>
</field>
</record>
`
what is wrong with my xml code?