Browse Source

just delete the duplicated models, not the useful ones

pull/441/head
Tom 8 years ago
committed by Holger Brunn
parent
commit
0057996c42
No known key found for this signature in database GPG Key ID: 1C9760FECA3AE18
  1. 3
      base_partner_merge/__init__.py
  2. 16
      base_partner_merge/hooks.py
  3. 1
      base_partner_merge/models/__init__.py

3
base_partner_merge/__init__.py

@ -1,5 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from . import base_partner_merge # NOQA
from .hooks import post_load_hook
from . import models from . import models
from .hooks import post_load_hook

16
base_partner_merge/hooks.py

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# © 2017 Therp BV <http://therp.nl> # © 2017 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import sys
import inspect import inspect
from openerp.models import MetaModel from openerp.models import MetaModel
@ -16,15 +17,20 @@ def post_load_hook():
if 'graph' in frame.f_locals: if 'graph' in frame.f_locals:
graph = frame.f_locals['graph'] graph = frame.f_locals['graph']
package = frame.f_locals['package'] package = frame.f_locals['package']
package.data['data'].remove('views/base_partner_merge.xml')
if any(p.name == 'crm' for p in graph): if any(p.name == 'crm' for p in graph):
# so crm is installed, then we need to remove your model # so crm is installed, then we need to remove your model
# from the list of models to be registered # from the list of models to be registered
# TODO: this could be smarter and only ditch models that need # TODO: this could be smarter and only ditch models that need
# to be ditched (if crm is in their mro) # to be ditched (if crm is in their mro)
MetaModel.module_to_models['base_partner_merge'] = []
# and in this case, we also don't want to load our xml files
else:
# if crm is not installed, we
our_version = 'openerp.addons.base_partner_merge.' \
'models.base_partner_merge'
classes_to_ditch = [_class for _name, _class in
inspect.getmembers(sys.modules[our_version],
lambda member: inspect.isclass(member)
and member.__module__ == our_version)]
for _class in classes_to_ditch:
MetaModel.module_to_models['base_partner_merge'] \
.remove(_class)
# and in this case, we also don't want to load our xml file
package.data['data'].remove('views/base_partner_merge.xml') package.data['data'].remove('views/base_partner_merge.xml')
break break

1
base_partner_merge/models/__init__.py

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from . import base_partner_merge # noqa
from . import res_partner from . import res_partner
from . import base_partner_merge_automatic_wizard from . import base_partner_merge_automatic_wizard
Loading…
Cancel
Save