Jquery 通过OpenERP-7中的特定按钮以只读模式打开表单
我想知道在OpenERP-7中是否可以通过只读模式的按钮调用表单。比如表单可以通过一些按钮进行编辑,但是我想通过一个特定的按钮设置一些限制。我希望当用户单击按钮时,表单以只读模式打开,并且用户不能创建/编辑/删除任何记录。 我尝试在.py文件中使用此选项:Jquery 通过OpenERP-7中的特定按钮以只读模式打开表单,jquery,python,xml,forms,openerp,Jquery,Python,Xml,Forms,Openerp,我想知道在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)
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代码中添加任何属性或其他内容。因为表单将仅通过此按钮调用处于查看模式。
任何帮助或指导都将不胜感激。感谢所有如果希望以只读模式打开输入对象,则必须在只读输入字段中添加此属性,如下所示:
<input type="text" readonly/>
并像这样删除:
$("input").removeAttr("readonly");
$("input").removeAttr("disabled");
使用2的不同之处在于,当使用disabled
时,该值不会在表单post中提交,而使用readonly
则会提交
这适用于大多数输入类型,但收音机/复选框输入除外。对于这些类型的输入字段,您可以查看以下有关主题的有用帖子:
在页面上执行此操作的简单函数如下:
function makeReadOnly() {
$("form :input").attr("readonly",true);
}
function makeEditable() {
$("form :input").removeAttr("readonly");
}
您可以通过按钮传递上下文,并可以在表单的所有字段中设置属性,如下所示:
<field name="field_name" attrs="{'readonly':[('your_context','=',True)]}">
首先,我希望表单以查看模式打开。没有任何特定的字段。在OpenERP中,我不太了解如何使用jquery。您不需要jquery。如何加载表单字段?无论如何加载,只需添加一个readonly
属性,它在浏览器中将是只读的。就像我的模型是product.product,正如你上面看到的。加载表单时,将加载字段。现在,我必须在按钮的函数中设置属性或其他内容,然后使用jquery。将它添加到页面中,您可以将其作为函数来执行,这样您就可以在按钮单击或onLoad事件中调用它。您可以在我的回答中看到实现这一点的函数。我不知道在OpenERP开发中使用jquery和xml。您确定这可以通过jquery实现吗。你能给我更深入的指导吗?如果答案对你有帮助的话,请标出正确的答案。我用用户访问权限解决了这个问题。
function makeReadOnly() {
$("form :input").attr("readonly",true);
}
function makeEditable() {
$("form :input").removeAttr("readonly");
}
<field name="field_name" attrs="{'readonly':[('your_context','=',True)]}">