我已创建此类以供将来增强,并且尝试像往常一样创建树和窗体视图。我找不到我做错了什么,请帮我纠正,因为这不会产生任何意见。
我的虚拟课程
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"/>
答案 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)
根据我的经验,如果您要创建新模型,并且无法查看任何视图,则最有可能因为安全权限。
当我根据您提供的代码创建此模块时,我只能将其视为管理员。
为了让其他用户看到它,您需要为允许查看它的用户组授予访问权限。您可以通过创建&#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;如果那是你在模块上保存该文件的地方。