Browse Source

[IMP] partner_deduplicate_filter: black, isort

14.0
Kevin Khao 5 years ago
committed by Víctor Martínez
parent
commit
577e97f06d
  1. 11
      partner_deduplicate_filter/__manifest__.py
  2. 56
      partner_deduplicate_filter/tests/test_partner_deduplicate_filter.py
  3. 14
      partner_deduplicate_filter/wizards/partner_merge.py

11
partner_deduplicate_filter/__manifest__.py

@ -8,14 +8,9 @@
"version": "12.0.1.0.0",
"category": "Tools",
"website": "https://github.com/OCA/partner-contact",
"author": "Tecnativa, "
"Odoo Community Association (OCA)",
"author": "Tecnativa, " "Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": [
"partner_deduplicate_acl",
],
"data": [
'wizards/partner_merge_view.xml',
],
"depends": ["partner_deduplicate_acl"],
"data": ["wizards/partner_merge_view.xml"],
}

56
partner_deduplicate_filter/tests/test_partner_deduplicate_filter.py

@ -8,30 +8,36 @@ from odoo.tools.safe_eval import safe_eval
class TestDeduplicateFilter(common.TransactionCase):
def setUp(self):
super(TestDeduplicateFilter, self).setUp()
self.partner_1 = self.env['res.partner'].create({
'name': 'Partner 1',
'email': 'partner1@example.org',
'is_company': True,
'parent_id': False,
})
self.partner_1 = self.env["res.partner"].create(
{
"name": "Partner 1",
"email": "partner1@example.org",
"is_company": True,
"parent_id": False,
}
)
self.partner_1.copy()
self.partner_2 = self.env['res.partner'].create({
'name': 'Partner 2',
'email': 'partner2@example.org',
'is_company': False,
'parent_id': self.partner_1.id,
})
self.partner_2 = self.env["res.partner"].create(
{
"name": "Partner 2",
"email": "partner2@example.org",
"is_company": False,
"parent_id": self.partner_1.id,
}
)
self.partner_2.copy()
self.partner_3 = self.env['res.partner'].create({
'name': 'Partner 3',
'email': 'partner3@example.org',
'is_company': False,
'parent_id': False,
})
self.partner_3 = self.env["res.partner"].create(
{
"name": "Partner 3",
"email": "partner3@example.org",
"is_company": False,
"parent_id": False,
}
)
self.partner_3.copy()
self.wizard = self.env['base.partner.merge.automatic.wizard'].create({
'group_by_email': True,
})
self.wizard = self.env["base.partner.merge.automatic.wizard"].create(
{"group_by_email": True}
)
def test_deduplicate_exclude_is_company(self):
self.wizard.exclude_is_company = True
@ -40,7 +46,7 @@ class TestDeduplicateFilter(common.TransactionCase):
for line in self.wizard.line_ids:
match_ids = safe_eval(line.aggr_ids)
if self.partner_1.id in match_ids:
self.assertTrue(False, 'Partner with is company not excluded')
self.assertTrue(False, "Partner with is company not excluded")
if self.partner_2.id in match_ids:
matched_founds += 1
if self.partner_3.id in match_ids:
@ -54,9 +60,9 @@ class TestDeduplicateFilter(common.TransactionCase):
for line in self.wizard.line_ids:
match_ids = safe_eval(line.aggr_ids)
if self.partner_1.id in match_ids:
self.assertTrue(False, 'Partner without parent not excluded')
self.assertTrue(False, "Partner without parent not excluded")
if self.partner_3.id in match_ids:
self.assertTrue(False, 'Partner without parent not excluded')
self.assertTrue(False, "Partner without parent not excluded")
if self.partner_2.id in match_ids:
matched_founds += 1
self.assertEqual(matched_founds, 1)
@ -68,7 +74,7 @@ class TestDeduplicateFilter(common.TransactionCase):
for line in self.wizard.line_ids:
match_ids = safe_eval(line.aggr_ids)
if self.partner_2.id in match_ids:
self.assertTrue(False, 'Partner with parent not excluded')
self.assertTrue(False, "Partner with parent not excluded")
if self.partner_1.id in match_ids:
matched_founds += 1
if self.partner_3.id in match_ids:

14
partner_deduplicate_filter/wizards/partner_merge.py

@ -1,7 +1,7 @@
# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
from odoo import fields, models
class BasePartnerMergeAutomaticWizard(models.TransientModel):
@ -13,8 +13,7 @@ class BasePartnerMergeAutomaticWizard(models.TransientModel):
@api.multi
def _process_query(self, query):
if any([self.exclude_is_company, self.exclude_not_parent,
self.exclude_parent]):
if any([self.exclude_is_company, self.exclude_not_parent, self.exclude_parent]):
filters = []
if self.exclude_is_company:
filters.append("is_company = False")
@ -22,13 +21,12 @@ class BasePartnerMergeAutomaticWizard(models.TransientModel):
filters.append("parent_id IS NOT NULL")
if self.exclude_parent:
filters.append("parent_id IS NULL")
index_where = query.find('WHERE')
index_group_by = query.find('GROUP BY')
subquery = "%s" % ' AND '.join(filters)
index_where = query.find("WHERE")
index_group_by = query.find("GROUP BY")
subquery = "%s" % " AND ".join(filters)
if index_where > 0:
subquery = "AND (%s) " % subquery
else: # pragma: no cover
subquery = "WHERE %s " % subquery
query = query[:index_group_by] + subquery + query[index_group_by:]
return super(BasePartnerMergeAutomaticWizard, self)._process_query(
query)
return super(BasePartnerMergeAutomaticWizard, self)._process_query(query)
Loading…
Cancel
Save