【问题标题】:Open another module form view with button使用按钮打开另一个模块表单视图
【发布时间】:2015-08-09 18:50:40
【问题描述】:

我正在尝试打开另一个模型表单视图,但收到错误 external id not found。

在py文件中

class ru_assignments(models.Model):
 name = 'ru.assignments

class ru_assignments_sub(models.Model):
_name = 'ru.assignments.sub'

这是 ru_assignments_sub xml

        <record model="ir.actions.act_window" id="action_sub">
        <field name="name">Assignment Sub</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">ru.assignments.sub</field>
        <field name="view_type">form</field>
        <field name="view_id" ref="ru_assignments_sub_view"/>
    </record>

这是 ru_assignments xml 视图,我在其中制作了打开 ru_assignments_sub 窗口的按钮

        <record id="ru_assignments_view" model="ir.ui.view">
        <field name="name">Assignments Form View</field>
        <field name="model">ru.assignments</field>
        <field name="arch" type="xml">
        <form string="Assignments">
                <sheet>
                    <button type="action" name="%(ru_assignments_sub.action_sub)d" string="Submit" class="oe_right oe_highlight"/>
                    <div class="oe_title">
                        <label for="teacher"/>
                        <field name="teacher" required="1" placeholder="e.g. Business Administration"/>
                    </div>
                    <group>
                        <field name="batch"/>
                        <field name="class_id"/>
                        <field name="faculty"/>
                    </group>
                    <notebook>
                        <page string="Related Students">
                            <field name="students"/>
                        </page>
                    </notebook>
                </sheet>
            </form>
        </field>
    </record>

这是 openerp.py 文件

    # always loaded
'data': [
    # 'security/ir.model.access.csv',
    'ru_students/workflow/workflow.xml',
    'ru_students/students_view.xml',
    'ru_students/sequence.xml',
    'ru_students/address_view.xml',
    'ru_teacher/teacher_view.xml',
    'ru_teacher/batch_view.xml',
    'ru_teacher/sequence.xml',
    'ru_faculty/faculty_view.xml',
    'ru_batch/batch_view.xml',
    'ru_class/class_view.xml',
    'ru_subjects/subjects_view.xml',
    'ru_standards/standards_view.xml',
    'ru_schedule/schedule_view.xml',
    'ru_assignments_sub/assignments_sub_view.xml',
    'ru_assignments/assignments_view.xml',
    'ru_attendance/op_attendance_sheet_view.xml',
    'ru_attendance_line/op_attendance_line_view.xml',
    'ru_invoice/invoice_view.xml',
    'ru_invoice_line/invoice_line_view.xml',
    'ru_exam_line/exam_line_view.xml',
    'ru_exam/exam_view.xml',
    'ru_menu/menu.xml',
    'css.xml',

【问题讨论】:

  • 1./ 这两个模型在同一个模块中 2./ 如果两个类都在同一个模块中,那么尝试从 "%(ru_assignments_sub.action_sub)d" 中删除类的名称为 "% (action_sub)d"
  • 您能否粘贴您的 openerp.py 代码,这是您在 openerp.py 文件中添加的序列的问题。
  • Hardik Patadia,没有在单独的模块中。一个文件夹包含 ru_assignments_sub 模块和 xml,另一个文件夹 ru_assignments 模块和 xml,两者都被添加到 openerp.py 和 init 并作为表单和树视图正常工作。
  • 将 ru_assignments_sub 模块添加到 ru_assignments 模块的 openerp.py 中的依赖属性并检查

标签: xml python-2.7 openerp odoo odoo-8


【解决方案1】:

有两种方法可以调用使用按钮打开另一个模块表单视图。

  1. 对象按钮:

用python写这个

def show_ru_assignments_sub_view(self, cr, uid, ids, context=None):
    return {
        'name': ('Assignment Sub'),
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'ru.assignments.sub',
        'view_id': False,
        'type': 'ir.actions.act_window',
        'target':'new'
    }

用 XML 编写这个按钮:

<button name="show_ru_assignments_sub_view" string="Submit" type="object" status="draft" />
  1. 操作按钮

用 XML 编写这两个编码:

<record id="action_assignments_sub_view" model="ir.actions.act_window">
        <field name="name">Assignment Sub</field>
        <field name="res_model">ru.assignments.sub</field>
        <field name="src_model">ru.assignments</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="target">new</field>
        <field name="context">{'order_id': active_id}</field>
    </record>

按钮操作

<button name="%(action_assignments_sub_view)d" type="action" string="Submit" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多