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>
4

2 回答 2

3

从视图上的按钮中删除样式tree

<button name="action_refuse" type="object" icon="fa-close"  states="new"/>

style属性不仅适用于 architecturebutton您可以使用基于类的.

使用类

    <button name="action_refuse" type="object" icon="fa-close"  states="new" class="btn-primary my_class"/> <!--my_class your custom class  -->
于 2022-01-10T14:13:30.770 回答
2

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

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

调用它来验证以下视图calendar, graph, pivot, search, tree, activity. 您可以检查基本模块中的(common.rng)文件,style按钮定义中没有属性。

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

于 2022-01-10T15:29:37.630 回答