İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
9585 Görünümler

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
Vazgeç
Üretici En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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
Vazgeç
Üretici

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.

İlgili Gönderiler Cevaplar Görünümler Aktivite
3
Nis 25
1021
1
Ağu 24
1791
3
May 24
10970
1
Eyl 23
3379
0
Ağu 23
1639