[MIG] base_import_match: Migration to 14.0

This commit is contained in:
Jesus Ramoneda
2021-02-25 17:19:14 +01:00
parent 49bec4f38a
commit 812f855872
8 changed files with 60 additions and 6 deletions

View File

@@ -14,13 +14,13 @@ Base Import Match
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
:target: https://github.com/OCA/server-backend/tree/13.0/base_import_match :target: https://github.com/OCA/server-backend/tree/14.0/base_import_match
:alt: OCA/server-backend :alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_import_match :target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_import_match
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/253/13.0 :target: https://runbot.odoo-community.org/runbot/253/14.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -151,6 +151,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/13.0/base_import_match>`_ project on GitHub. This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/14.0/base_import_match>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -35,6 +35,7 @@ class Base(models.AbstractModel):
if xmlid: if xmlid:
# Skip rows with ID, they do not need all this # Skip rows with ID, they do not need all this
row["id"] = xmlid row["id"] = xmlid
newdata.append(tuple(row[f] for f in clean_fields))
continue continue
elif dbid: elif dbid:
# Find the xmlid for this dbid # Find the xmlid for this dbid

View File

@@ -160,13 +160,16 @@ class BaseImportMatchField(models.Model):
) )
@api.depends("conditional", "field_id", "imported_value") @api.depends("conditional", "field_id", "imported_value")
def _compute_display_name(self): def name_get(self):
result = []
for one in self: for one in self:
pattern = u"{name} ({cond})" if one.conditional else u"{name}" pattern = u"{name} ({cond})" if one.conditional else u"{name}"
one.display_name = pattern.format( name = pattern.format(
name=one.field_id.name, name=one.field_id.name,
cond=one.imported_value, cond=one.imported_value,
) )
result.append((one.id, name))
return result
@api.onchange("field_id", "match_id", "conditional", "imported_value") @api.onchange("field_id", "match_id", "conditional", "imported_value")
def _onchange_match_id_name(self): def _onchange_match_id_name(self):

View File

@@ -0,0 +1,2 @@
.id,vat,name
10,BE099999999,Deco Addict External DBID Changed
1 .id vat name
2 10 BE099999999 Deco Addict External DBID Changed

View File

@@ -0,0 +1,2 @@
id,vat,name
base.res_partner_2,BE077777777,Deco Addict External ID Changed
1 id vat name
2 base.res_partner_2 BE077777777 Deco Addict External ID Changed

View File

@@ -0,0 +1,2 @@
name,vat,is_company
Deco Addict Changed,BE0477472701,False
1 name vat is_company
2 Deco Addict Changed BE0477472701 False

View File

@@ -27,6 +27,22 @@ class ImportCase(TransactionCase):
} }
) )
def test_res_partner_external_id(self):
"""Change name based on External ID."""
deco_addict = self.env.ref("base.res_partner_2")
record = self._base_import_record("res.partner", "res_partner_external_id")
record.do(["id", "vat", "name"], [], OPTIONS)
deco_addict.env.cache.invalidate()
self.assertEqual(deco_addict.name, "Deco Addict External ID Changed")
def test_res_partner_dbid(self):
"""Change name based on DB ID."""
deco_addict = self.env.ref("base.res_partner_2")
record = self._base_import_record("res.partner", "res_partner_dbid")
record.do([".id", "vat", "name"], [], OPTIONS)
deco_addict.env.cache.invalidate()
self.assertEqual(deco_addict.name, "Deco Addict External DBID Changed")
def test_res_partner_vat(self): def test_res_partner_vat(self):
"""Change name based on VAT.""" """Change name based on VAT."""
deco_addict = self.env.ref("base.res_partner_2") deco_addict = self.env.ref("base.res_partner_2")
@@ -36,6 +52,17 @@ class ImportCase(TransactionCase):
deco_addict.env.cache.invalidate() deco_addict.env.cache.invalidate()
self.assertEqual(deco_addict.name, "Deco Addict Changed") self.assertEqual(deco_addict.name, "Deco Addict Changed")
def test_res_partner_invalid_combination_vat(self):
"""Change name based on VAT."""
deco_addict = self.env.ref("base.res_partner_2")
deco_addict.vat = "BE0477472701"
record = self._base_import_record(
"res.partner", "res_partner_invalid_combination_vat"
)
record.do(["name", "vat", "is_company"], [], OPTIONS)
deco_addict.env.cache.invalidate()
self.assertEqual(deco_addict.name, deco_addict.name)
def test_res_partner_parent_name_is_company(self): def test_res_partner_parent_name_is_company(self):
"""Change email based on parent_id, name and is_company.""" """Change email based on parent_id, name and is_company."""
record = self._base_import_record( record = self._base_import_record(
@@ -63,6 +90,16 @@ class ImportCase(TransactionCase):
self.env.ref("base.res_partner_address_4").function, "Function Changed" self.env.ref("base.res_partner_address_4").function, "Function Changed"
) )
def test_res_partner_name_duplicated(self):
"""Change function based on name."""
record = self._base_import_record("res.partner", "res_partner_name")
partner_1 = self.env.ref("base.res_partner_address_4")
partner_2 = self.env.ref("base.res_partner_2")
function = partner_1.function
partner_2.name = partner_1.name
record.do(["function", "name"], [], OPTIONS)
self.assertEqual(self.env.ref("base.res_partner_address_4").function, function)
def test_res_users_login(self): def test_res_users_login(self):
"""Change name based on login.""" """Change name based on login."""
record = self._base_import_record("res.users", "res_users_login") record = self._base_import_record("res.users", "res_users_login")

View File

@@ -69,6 +69,13 @@
</search> </search>
</field> </field>
</record> </record>
<act_window name="Import Match" res_model="base_import.match" id="match_action" />
<record id="match_action" model="ir.actions.act_window">
<field name="type">ir.actions.act_window</field>
<field name="name">Import Match</field>
<field name="res_model">base_import.match</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="match_menu" action="match_action" parent="base.next_id_9" /> <menuitem id="match_menu" action="match_action" parent="base.next_id_9" />
</odoo> </odoo>