如何移除下拉选择列表中的“创建并编辑”链接?
-
有时希望下拉列表中列出的项是与主表某个字段关联的,用户只能从下拉列表中选择一条,而不希望用户创建新的选择项。
例如:采购订单中选择好供应商后,订单明细中下拉列表列出对应供应商的产品,此时如果不希望有“创建并编辑”链接出现,应该如何做呢?
[attachimg=1]
在字段 field后添加 widget="selection" 可以去除“创建并编辑”链接,但这种情况下就无法使用 domain 来过滤列表中的选择项了,所以这个方案不完美。
只是希望某些字段是这样,并不是全部。
如果希望全系统所有下拉列表都这样,可以通过修改 openerp/addons/web/static/src/js/view_form.js文件达到。
有没有其它办法呢? -
[quote author=ccdos link=topic=5990.msg15046#msg15046 date=1366376082]
权限配置一下,试试 让他没有这个字段 的创建 权限,
[/quote]
限制对象的创建权限,下拉菜单中"创建并编辑"仍然存在,只不过点击弹出一个只读的页面,无法创建record。用户体验较差。
github里找到一个模块 https://github.com/0k/web_m2o_enhanced ,无责任推荐~
简介翻译:
==========================================================================
此模块修改了"many2one"多对一表单字段(如此处的"订单明细2产品"),以便增加一些新的视图控制选项,包括:
能够让你移除many2one字段处下拉菜单中的"创建"和/或"创建并编辑"(译注:需要你自己去继承/修改视图,下同);
能够让你更改many2one字段处下拉菜单中默认显示条目的个数;
验证权限不足时,阻止对话框的弹出。
安装此模块后,对于当前登录用户,如果没有相关对象的创建权限,默认将不显示"创建"菜单。
增加的视图控制选项:
create [i]boolean[/i] (默认值: 依赖用户是否有创建权限)
控制下拉菜单中是否显示"创建"项,用户有创建权限则显示;
create_edit [i]boolean[/i] (默认值: 依赖用户是否有创建权限)
控制下拉菜单中是否显示"创建并编辑"项,用户有创建并编辑权限则显示;
m2o_dialog [i]boolean[/i] (默认值: 依赖用户是否有创建权限)
验证用户是否有创建权限,并决定是否显示many2one 对话框;
limit [i]int [/i] (默认值: openerp 默认值为 7)
下拉菜单显示记录(record)个数。
举例:...<br /><field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false}"/><br />...
==========================================================================