Openerp为什么这些观点没有生成

时间:2016-11-16 03:54:29

标签: xml openerp openerp-7

我已创建此类以供将来增强,并且尝试像往常一样创建树和窗体视图。我找不到我做错了什么,请帮我纠正,因为这不会产生任何意见。

我的虚拟课程

  class leave_score(osv.osv):
_name = "leave.score"
_description=""

_columns = {

    'test1':fields.char('Test')
}

该课程的观点

 <record id="view_leave_score_filter" model="ir.ui.view">
        <field name="name">leave.score.filter</field>
        <field name="model">leave.score</field>
        <field name="arch" type="xml">
            <search string="Search Company Holidyas">
                <field name="test1" string="Leave Types"/>
            </search>
        </field>
    </record>


    <record model="ir.ui.view" id="edit_leave_score_form">
        <field name="name">leave.score.form</field>
        <field name="model">leave.score</field>
        <field name="arch" type="xml">
        <form string="Leave Score" version="7.0">
                <field name="test1"/>
        </form>
        </field>
    </record>


    <record model="ir.ui.view" id="view_leave_score_tree">
        <field name="name">leave.score.tree</field>
        <field name="model">leave.score</field>
        <field name="arch" type="xml">
            <tree string="Leave Score">
                <field name="test1"/>
            </tree>
        </field>
    </record>



    <record model="ir.ui.view" id="view_normal_leave_score_tree">
        <field name="name">leave.score.normal.tree</field>
        <field name="model">leave.score</field>
       <field name="priority">35</field>
        <field name="arch" type="xml">
            <tree string="Leave Score">
               <field name="test1"/>
            </tree>
        </field>
    </record>



    <record id="view_leave_score_search" model="ir.ui.view">
        <field name="name">leave.score.search</field>
        <field name="model">leave.score</field>
        <field name="arch" type="xml">
            <search string="Leave Score">
                <field name="test1"/>
            </search>
        </field>
    </record>


    <record id="open_view_leave_score" model="ir.actions.act_window">
        <field name="name">Leave Score Card</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">leave.score</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" eval="view_normal_leave_score_tree"/>
        <field name="search_view_id" ref="view_leave_score_search"/>
    </record>       

    <menuitem name="Leave Score Cards" action="open_view_leave_score" id="menu_open_view_leave_score" parent="base.menu_reporting_dashboard"/>

2 个答案:

答案 0 :(得分:0)

您在所有视图中都写过型号名称&#34; leave.core&#34;但在班级模特名称中是&#34; leave.score&#34;

<field name="model">leave.core</field>

class leave_score(osv.osv):
    _name = "leave.score"

但是,如果您输入的模型名称错误,则在安装该模块时,这些拼写错误可能会引发错误。

确保已将该XML文件添加到 openerp .py文件中。如果它不存在,则此xml代码不会创建任何视图或操作或菜单。

所有视图的名称不能相同,在您的情况下也是如此。这可能会产生问题。

<field name="name">leave.score.filter</field>

答案 1 :(得分:0)

根据我的经验,如果您要创建新模型,并且无法查看任何视图,则最有可能因为安全权限。

当我根据您提供的代码创建此模块时,我只能将其视为管理员。

enter image description here

为了让其他用户看到它,您需要为允许查看它的用户组授予访问权限。您可以通过创建&#34; ir.model.access.csv&#34;来实现这一点。文件,然后添加他们将拥有的任何组和权限。

在下面的示例中,我授予Sales Manager组读取,写入,创建和取消链接权限。您可以为其他群组添加更多行,并通过将1更改为0来删除权限

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_leave_score_mngr,leave_score manager,model_leave_score,base.group_sale_manager,1,1,1,1
access_leave_score_user,leave_score user,model_leave_score,base.group_user,1,0,0,0

确保在__openerp__.py文件中注册ir.access.model.csv文件,如此

{
    'name': 'your module name',
    'version': '1.0',
    'summary': 'your summary',
    'description':'',
    'category': 'your category',
    'author': 'your name',
    'website': '',
    'depends': ['base' ],
    'data': [
        'name_of_view_file.xml',
        'ir.model.access.csv'],
    'js': [],
    'css': [],
    'installable': True,
    'auto_install': False,
}

您还可以通过界面添加权限,但使用ir.model.access.csv文件是首选方法。此外,大多数其他模块将在安全文件夹中包含ir.model.access.csv文件,因此您需要更改__openerp__.py文件中的行&#39; ir.model.access.csv& #39; to&#39; security / ir.model.access.csv&#39;如果那是你在模块上保存该文件的地方。