From 0c86820b81490f0060e7e072a0fe6c359a0b5be8 Mon Sep 17 00:00:00 2001 From: Lorenzo Battistini Date: Wed, 12 Jun 2013 18:30:41 +0200 Subject: [PATCH] base_optional_quick_create --- base_optional_quick_create/AUTHORS.txt | 1 + base_optional_quick_create/__init__.py | 20 ++++++++++ base_optional_quick_create/__openerp__.py | 39 +++++++++++++++++++ base_optional_quick_create/model.py | 46 +++++++++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 base_optional_quick_create/AUTHORS.txt create mode 100644 base_optional_quick_create/__init__.py create mode 100644 base_optional_quick_create/__openerp__.py create mode 100644 base_optional_quick_create/model.py diff --git a/base_optional_quick_create/AUTHORS.txt b/base_optional_quick_create/AUTHORS.txt new file mode 100644 index 0000000..7106ca0 --- /dev/null +++ b/base_optional_quick_create/AUTHORS.txt @@ -0,0 +1 @@ +Lorenzo Battistini diff --git a/base_optional_quick_create/__init__.py b/base_optional_quick_create/__init__.py new file mode 100644 index 0000000..44563ef --- /dev/null +++ b/base_optional_quick_create/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 2013 Agile Business Group sagl () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +import model diff --git a/base_optional_quick_create/__openerp__.py b/base_optional_quick_create/__openerp__.py new file mode 100644 index 0000000..5d0f9f6 --- /dev/null +++ b/base_optional_quick_create/__openerp__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 2013 Agile Business Group sagl () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{ + 'name': "Optional quick create", + 'version': '0.1', + 'category': 'Tools', + 'description': """ + +""", + 'author': 'Agile Business Group', + 'website': 'http://www.agilebg.com', + 'license': 'AGPL-3', + "depends": ['base'], + "data": [ + ], + "demo": [], + 'test': [ + ], + "active": False, + "installable": True +} diff --git a/base_optional_quick_create/model.py b/base_optional_quick_create/model.py new file mode 100644 index 0000000..c0c9229 --- /dev/null +++ b/base_optional_quick_create/model.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (C) 2013 Agile Business Group sagl () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import orm + +class ir_model(orm.Model): + + _inherit = 'ir.model' + + def _wrap_name_create(self, old_create, model): + + def wrapper(cr, uid, name, context=None): + import pdb; pdb.set_trace() + return old_create(cr, uid, name, context=context) + + return wrapper + + def _register_hook(self, cr, ids=None): + model = 'res.partner' + model_obj = self.pool.get(model) + if not hasattr(model_obj, 'check_quick_create'): + model_obj.name_create = self._wrap_name_create(model_obj.name_create, model) + model_obj.check_quick_create = True + return True + + def name_create(self, cr, uid, name, context=None): + res = super(ir_model, self).name_create(cr, uid, name, context=context) + self._register_hook(cr, [res]) + return res