Skip to Content
Menu
This question has been flagged
3 Replies
8118 Views

I was trying to append a custom field called pos_brand from the product form (in product.template) onto the POS orderline. Using this code


<?xml version="1.0" encoding="UTF-8"?>
<templates id="point_of_sale.template" xml:space="preserve">
<t t-extend="Orderline">
<t t-jquery=".info-list" t-operation="append">
<t t-if="line.get_product().pos_brand!=='False'">
<li class="info orderline-brand">
<i class='fa fa-tag' role="img" aria-label="Brand" title="Brand"/><t t-esc="line.get_product().pos_brand" />
</li>
</t>
</t>
</t>
</templates>



And this is the error that followed by.

Error:
Odoo Server Error

Traceback (most recent call last):
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 656, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 314, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/Robert/Desktop/odoo-12.0/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 698, in dispatch
result = self._call_function(**self.params)
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 346, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/Robert/Desktop/odoo-12.0/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 941, in __call__
return self.method(*args, **kw)
File "/home/Robert/Desktop/odoo-12.0/odoo/http.py", line 519, in response_wrap
response = f(*args, **kw)
File "/home/Robert/Desktop/odoo-12.0/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/home/Robert/Desktop/odoo-12.0/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/Robert/Desktop/odoo-12.0/odoo/api.py", line 759, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/home/Robert/Desktop/odoo-12.0/odoo/api.py", line 746, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-67>", line 2, in button_immediate_upgrade
File "/home/Robert/Desktop/odoo-12.0/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
return method(self, *args, **kwargs)
File "/home/Robert/Desktop/odoo-12.0/odoo/addons/base/models/ir_module.py", line 622, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/home/Robert/Desktop/odoo-12.0/odoo/addons/base/models/ir_module.py", line 561, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/Robert/Desktop/odoo-12.0/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/Robert/Desktop/odoo-12.0/odoo/modules/loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "/home/Robert/Desktop/odoo-12.0/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/Robert/Desktop/odoo-12.0/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/home/Robert/Desktop/odoo-12.0/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/home/Robert/Desktop/odoo-12.0/odoo/tools/convert.py", line 802, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/Robert/Desktop/odoo-12.0/odoo/tools/convert.py", line 852, in convert_xml_import
relaxng.assert_(doc)
File "src/lxml/lxml.etree.pyx", line 3501, in lxml.etree._Validator.assert_ (src/lxml/lxml.etree.c:184715)
AssertionError: Document does not comply with schema

Avatar
Discard
Author Best Answer

It was apparently a spelling mistake in the manifest file and the listing of file under data tag instead of qweb tag within the manifest. Thank you for all the help.

Avatar
Discard
Best Answer

please add the template inside the tags:

<?xml version="1.0" encoding="UTF-8"?>

<odoo>

<data>

<templates id="point_of_sale.template" xml:space="preserve">
<t t-extend="Orderline">
<t t-jquery=".info-list" t-operation="append">
<t t-if="line.get_product().pos_brand!=='False'">
<li class="info orderline-brand">
<i class='fa fa-tag' role="img" aria-label="Brand" title="Brand"/><t t-esc="line.get_product().pos_brand" />
</li>
</t>
</t>
</t>
</templates>

       </data>                       

</odoo>


Avatar
Discard
Author

That does not seem to be the solution, it returned the following error

File "src/lxml/lxml.etree.pyx", line 3501, in lxml.etree._Validator.assert_ (src/lxml/lxml.etree.c:184715)

AssertionError: Element odoo has extra content: data, line 3

Also I used this code based on the "Add Note" feature of POS(addons/pos_restaurant/static/src/xml/notes.xml) and it does not use odoo and data tags.

Related Posts Replies Views Activity
1
Aug 24
544
3
May 24
7269
1
Sep 23
1341
0
Aug 23
556
1
Sep 22
995