odoo.tools.convert.重启odoo-bin时出现ParseError

问题描述 投票:0回答:2

我正在学习开发者教程这里

我在树视图中添加了两个

action
按钮。

一切正常,直到我将

button
标签添加到 XML
view
后重新启动服务器。然后我收到以下错误:

Traceback (most recent call last):
  File "/home/keith/src/odoo/odoo/service/server.py", line 1246, in preload_registries
    registry = Registry.new(dbname, update_module=update_module)
  File "/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/odoo/modules/loading.py", line 470, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/odoo/modules/loading.py", line 363, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/odoo/modules/loading.py", line 222, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/odoo/modules/loading.py", line 69, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/odoo/tools/convert.py", line 745, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/odoo/tools/convert.py", line 811, in convert_xml_import
    obj.parse(doc.getroot())
  File "/odoo/tools/convert.py", line 731, in parse
    self._tag_root(de)
  File "/odoo/tools/convert.py", line 691, in _tag_root
    raise ParseError(msg) from None  # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback
odoo.tools.convert.ParseError: while parsing /custom/estate/views/estate_property_offer_views.xml:3
Invalid view estate.property.offer.tree (estate.estate_property_offer_view_tree) definition in estate/views/estate_property_offer_views.xml

View error context:
'-no context-'

如果我删除按钮标签,服务器启动时不会出现错误 (

./odoo-bin --addons-path=../custom,addons -d rd-demo -u estate --dev xml
).

然后我可以重新添加按钮,它们可以正常工作,但是一旦我重新启动服务器,我就会再次收到错误。

以下是

view
的完整记录:

    <record id="estate_property_offer_view_tree" model="ir.ui.view">
        <field name="name">estate.property.offer.tree</field>
        <field name="model">estate.property.offer</field>
        <field name="arch" type="xml">
            <tree string="Offers">
                <field name="price"/>
                <field name="partner_id"/>
                <field name="validity"/>
                <field name="date_deadline"/>
                <field name="state"/>
                
                <button name="action_accept" type="object" icon="fa-check" style="color:green" states="new"/>
                <button name="action_refuse" type="object" icon="fa-close" style="color:red" states="new"/>
                
            </tree>
        </field>
    </record>
xml odoo odoo-15
2个回答
3
投票

tree
view

上的按钮中删除样式
<button name="action_refuse" type="object" icon="fa-close"  states="new"/>

style属性不适用于tree

architecture
,仅适用于
button
,您可以使用基于类

与类

    <button name="action_refuse" type="object" icon="fa-close"  states="new" class="btn-primary my_class"/> <!--my_class your custom class  -->

2
投票

要修复该错误,您必须删除

style
属性。您可以检查基础模块中的 (common.rng) 文件,按钮定义中没有
style
属性。

调用 relaxng 方法时视图验证将失败,并引发以下错误:

ERROR:RELAXNGV:RELAXNG_ERR_INVALIDATTR: Invalid attribute style for element button 

调用它来验证以下视图

calendar
graph
pivot
search
tree
activity

© www.soinside.com 2019 - 2024. All rights reserved.