From ce7e3f621f45343cc1b0eeca027f5aeca63c3436 Mon Sep 17 00:00:00 2001 From: Peter Hahn Date: Thu, 11 Aug 2016 15:32:57 +0200 Subject: [PATCH] [ADD] Model based quick create config option. --- web_m2x_options/__init__.py | 1 + web_m2x_options/__openerp__.py | 5 ++++- web_m2x_options/models/__init__.py | 2 ++ web_m2x_options/models/model.py | 9 +++++++++ web_m2x_options/static/src/js/form.js | 15 +++++++++++++-- web_m2x_options/views/model_view.xml | 14 ++++++++++++++ 6 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 web_m2x_options/models/__init__.py create mode 100644 web_m2x_options/models/model.py create mode 100644 web_m2x_options/views/model_view.xml 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 + + + + + + + + +