我想知道在OpenERP-7中可以通过按钮以只读模式调用表单。就像表格可以通过一些按钮编辑,但我想通过一个特定的按钮设置一些限制。我希望当用户单击按钮时,表单以只读模式打开,用户无法创建/编辑/删除任何记录。 我试着在我的.py文件中使用它:
def views(self,cr,uid,ids,context):
for id in ids:
deg_obj=self.pool.get('deg.form').browse(cr,uid,id)
my_id=int(deg_obj.my_products)
ss= int(deg_obj.categ_temp2)
domain = [('categ_id','=',ss)]
return {
'type': 'ir.actions.act_window',
'name': _('Product'),
'res_model': 'product.product',
'view_type': 'form',
'view_mode': 'tree,form',
'target': 'current',
'domain': domain,
'store':False,
'create':False,
'edit':False
}
这是我的xml代码:
<button name="views" string="VIEW PRODUCT" type="object" />
但它没有与此合作。我不知道我是否必须在xml代码中添加任何属性或者什么。因为只有使用此按钮调用,表单才会处于查看模式。 任何帮助或指导将不胜感激。谢谢大家
答案 0 :(得分:0)
如果您希望输入对象以只读模式打开,那么您必须在只读输入字段上添加此属性,如下所示:
<input type="text" readonly/>
如果你想让它被禁用,那就相同了。
<input type="text" disabled/>
使用jQuery,它就像这样简单地应用:
$("input").attr("readonly",true);
$("input").attr("disabled",true);
并像这样删除:
$("input").removeAttr("readonly");
$("input").removeAttr("disabled");
使用2的不同之处在于,当使用disabled
时,不会在表单帖子中提交值,而使用readonly
将会提交。
这适用于大多数输入类型,但收音机/复选框输入除外。对于这些类型的输入字段,您可以查看有关主题的有用帖子:Can HTML checkboxes be set to readonly?
在您的网页上执行此操作的简单功能如下:
function makeReadOnly() {
$("form :input").attr("readonly",true);
}
function makeEditable() {
$("form :input").removeAttr("readonly");
}
答案 1 :(得分:0)
您可以从按钮传递上下文,并可以在下面的所有表单字段中设置如下所示的attrs:
<field name="field_name" attrs="{'readonly':[('your_context','=',True)]}">