Jquery 通过OpenERP-7中的特定按钮以只读模式打开表单

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)

我想知道在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代码中添加任何属性或其他内容。因为表单将仅通过此按钮调用处于查看模式。
任何帮助或指导都将不胜感激。感谢所有

如果希望以只读模式打开输入对象,则必须在只读输入字段中添加此属性,如下所示:

 <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)]}">