diff --git a/web_m2x_options/__init__.py b/web_m2x_options/__init__.py index 57d631c3..042e239e 100644 --- a/web_m2x_options/__init__.py +++ b/web_m2x_options/__init__.py @@ -1 +1,2 @@ # coding: utf-8 +from . import models diff --git a/web_m2x_options/__openerp__.py b/web_m2x_options/__openerp__.py index bc1e59d0..f09a32e4 100644 --- a/web_m2x_options/__openerp__.py +++ b/web_m2x_options/__openerp__.py @@ -11,7 +11,10 @@ 'static/src/xml/base.xml', ], 'license': 'AGPL-3', - 'data': ['views/view.xml'], + 'data': [ + 'views/view.xml', + 'views/model_view.xml', + ], "author": "0k.io,Odoo Community Association (OCA)", "installable": True, } diff --git a/web_m2x_options/models/__init__.py b/web_m2x_options/models/__init__.py new file mode 100644 index 00000000..4550b3d0 --- /dev/null +++ b/web_m2x_options/models/__init__.py @@ -0,0 +1,2 @@ +# coding: utf-8 +from . import model diff --git a/web_m2x_options/models/model.py b/web_m2x_options/models/model.py new file mode 100644 index 00000000..475800f2 --- /dev/null +++ b/web_m2x_options/models/model.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from openerp import models, fields + + +class IrModel(models.Model): + _inherit = 'ir.model' + + disable_quick_create = fields.Boolean('Disable quick create') diff --git a/web_m2x_options/static/src/js/form.js b/web_m2x_options/static/src/js/form.js index 9fe51d23..e0898825 100644 --- a/web_m2x_options/static/src/js/form.js +++ b/web_m2x_options/static/src/js/form.js @@ -100,8 +100,19 @@ openerp.web_m2x_options = function (instance) { var create_rights; if (!(self.options && (self.options.no_create || self.options.no_create_edit))) { - create_rights = new instance.web.Model(this.field.relation).call( - "check_access_rights", ["create", false]); + // check quick create options + var target_model = this.field.relation + create_rights = new instance.web.Model('ir.model'). + query(['disable_quick_create']). + filter([['model', '=', target_model]]). + first(). + then(function(result){ + if(result.disable_quick_create) + return $.when(false); + else + return new instance.web.Model(target_model).call( + "check_access_rights", ["create", false]); + }); } $.when(search_result, create_rights).then(function (data, can_create) { diff --git a/web_m2x_options/views/model_view.xml b/web_m2x_options/views/model_view.xml new file mode 100644 index 00000000..2378c5d5 --- /dev/null +++ b/web_m2x_options/views/model_view.xml @@ -0,0 +1,14 @@ + + + + + ir.model + + + + + + + + +