python - OpenERP/Odoo 意外 View 解析错误

标签 python view odoo

大家好,

我正在从 OpenERP 6.1 更新到 Odoo8。 我有一个自己编写的模块,我调整了 Python 代码,一切看起来都很好,我也可以安装该模块,但是如果我加载一个 View ,我会收到以下错误:

  File "./openerp/models.py", line 1295, in _validate_fields
raise ValidationError('\n'.join(errors))
ParseError: "ValidateError
Field(s) `arch` failed against a constraint: Invalid view definition

Error details:
     Element '<xpath expr="//footer">' cannot be located in parent view

Error context:
    View `mail.compose.message.form`
[view_id: 248, xml_id: email_template.email_compose_message_wizard_inherit_form, model:     mail.compose.message, parent_id: 216]" while parsing /home/gsatter/Dokumente    /odoo/odoo/seekda_addons/seekda_mail_extension/wizard/mail_compose_view.xml:4, near

<record model="ir.ui.view" id="mail.email_compose_message_wizard_form">
        <field name="name">mail.compose.message.form</field>
        <field name="model">mail.compose.message</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
            <form string="Compose Email">
                <group col="6" colspan="4">
                    <field name="model" invisible="1"/>
                    <field name="res_id" invisible="1"/>
                    <field name="email_from" colspan="4" required="1"/>
                    <field name="email_to" colspan="4" required="1"/>
                    <field name="email_cc" colspan="4"/>
                    <field name="email_bcc" colspan="4"/>
                    <field name="reply_to" colspan="4"/>
                    <field name="subject" colspan="4" widget="char" size="512"/>
                    <field name="references" invisible="1"/>
                    <field name="message_id" invisible="1"/>
                </group>
                <notebook colspan="4">
                    <page string="Body">
                        <field name="body_text" colspan="4" nolabel="1" height="300" width="300"/>
                    </page>
                    <page string="Attachments">
                        <field name="attachment_file_ids" colspan="4" nolabel="1" string="Files">
                            <form>
                                <field name="data" filename="name" colspan="4"/>
                                <field name="name" colspan="4"/>
                            </form>
                            <tree>
                                <field name="data" filename="name" colspan="4"/>
                                <field name="name" colspan="4"/>
                            </tree>
                        </field>
                    </page>
                </notebook>
                <group col="4" colspan="4">
                    <label string="" name="placeholder" colspan="1"/>
                    <button icon="gtk-close" special="cancel" string="Cancel"/>
                    <button icon="gtk-ok" name="send_mail" string="Send" type="object"/>
                </group>
            </form>
        </field>
    </record>

有人知道这个向导有什么问题吗? 这是我的观点(向导):

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
    <record model="ir.ui.view" id="mail.email_compose_message_wizard_form">
        <field name="name">mail.compose.message.form</field>
        <field name="model">mail.compose.message</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
            <form string="Compose Email">
                <group col="6" colspan="4">
                    <field name="model" invisible="1"/>
                    <field name="res_id" invisible="1"/>
                    <field name="email_from" colspan="4" required="1"/>
                    <field name="email_to" colspan="4" required="1"/>
                    <field name="email_cc" colspan="4"/>
                    <field name="email_bcc" colspan="4"/>
                    <field name="reply_to" colspan="4"/>
                    <field name="subject" colspan="4" widget="char" size="512"/>
                    <field name="references" invisible="1"/>
                    <field name="message_id" invisible="1"/>
                </group>
                <notebook colspan="4">
                    <page string="Body">
                        <field name="body_text" colspan="4" nolabel="1" height="300" width="300"/>
                    </page>
                    <page string="Attachments">
                        <field name="attachment_file_ids" colspan="4" nolabel="1" string="Files">
                            <form>
                                <field name="data" filename="name" colspan="4"/>
                                <field name="name" colspan="4"/>
                            </form>
                            <tree>
                                <field name="data" filename="name" colspan="4"/>
                                <field name="name" colspan="4"/>
                            </tree>
                        </field>
                    </page>
                </notebook>
                <group col="4" colspan="4">
                    <label string="" name="placeholder" colspan="1"/>
                    <button icon="gtk-close" special="cancel" string="Cancel"/>
                    <button icon="gtk-ok" name="send_mail" string="Send" type="object"/>
                </group>
            </form>
        </field>
    </record>
</data>

她是一个继承 View 顶部的 View (它位于插件 email_template 中):

  <?xml version="1.0" encoding="utf-8"?>
    <openerp>
      <data>

    <record model="ir.ui.view" id="email_compose_message_wizard_inherit_form">
        <field name="name">mail.compose.message.form</field>
        <field name="model">mail.compose.message</field>
        <field name="inherit_id" ref="mail.email_compose_message_wizard_form"/>
        <field name="groups_id" eval="[(4,ref('base.group_user'))]"/>
        <field name="arch" type="xml">
            <xpath expr="//footer" position="inside">
                <group class="oe_right oe_form" col="1">
                    <div>Use template
                        <!--FIX: To avoid css issue of many2one field in footer temporary used oe_form (BUG:1152464)-->
                        <field name="template_id" nolabel="1" class='oe_inline'
                            options="{'no_create': True}"
                            on_change="onchange_template_id(template_id, composition_mode, model, res_id, context)" domain="[('model_id.model','=',model)]"
                            context="{'default_model': model, 'default_body_html': body, 'default_subject': subject}"/>
                    </div>
                    <button icon="/email_template/static/src/img/email_template_save.png"
                        type="object" name="save_as_template" string="Save as new template" class="oe_link"
                        help="Save as a new template"/>
                </group>
            </xpath>
        </field>
    </record>

</data>

谢谢

最佳答案

问题是

...
...
<field name="inherit_id" ref="mail.email_compose_message_wizard_form"/>
...
...
    <xpath expr="//footer" position="inside">
    ...
    ...

您的上述 View 继承mail.email_compose_message_wizard_form看法。在您看来,您提到了 <xpath expr="//footer" position="inside">在父 View 的 footer 中添加以下代码标签。但是父 View 没有footer标签及其给出的错误 Element '<xpath expr="//footer">' cannot be located in parent view

你可以试试

<xpath expr="//notebook" position="inside">

关于python - OpenERP/Odoo 意外 View 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26732654/

相关文章:

PYTHON - 计算 NdArray 中的最小值和最小值索引

python - Python API 中的短语 "registering a callback"是什么意思?

pdf - 如何更改 odoo 企业默认报告的页眉和页脚,例如损益表、 Assets 负债表(PDF 格式)

python - 从 python 运行时出现 wkhtmltopdf 段错误

MYSQL View 与选择性能和延迟

python - Odoo 中的覆盖基方法是好的选择吗?

python - Drive API - 插入文件时解析错误

python - 在 Pandas 数据框中使用正则表达式替换列值

c# - 'CREATE VIEW' 必须是查询批处理中的第一个语句

android - 如何使 View 变灰。特别是一个 EditText?