Browse Source

[IMP] update dotfiles [ci skip]

14.0
oca-git-bot 3 years ago
parent
commit
46e929f0b2
No known key found for this signature in database GPG Key ID: BCAB2555446B5B92
  1. 5
      .copier-answers.yml
  2. 2
      .eslintrc.yml
  3. 29
      .github/workflows/pre-commit.yml
  4. 6
      .pre-commit-config.yaml
  5. 6
      README.md
  6. 2
      base_location_nuts/tests/test_base_location_nuts.py
  7. 4
      partner_address_street3/hooks.py
  8. 10
      partner_address_version/tests/test_address_version.py
  9. 2
      partner_contact_department/tests/test_recursion.py
  10. 4
      partner_email_check/tests/test_partner_email_check.py
  11. 26
      partner_firstname/tests/test_copy.py
  12. 2
      partner_identification/tests/test_partner_identification.py
  13. 12
      partner_identification/tests/test_res_partner.py
  14. 2
      partner_industry_secondary/models/res_partner_industry.py
  15. 10
      partner_pricelist_search/tests/test_partner_pricelist_search.py
  16. 4
      partner_second_lastname/models/res_partner.py

5
.copier-answers.yml

@ -1,14 +1,17 @@
# Do NOT update manually; changes here will be overwritten by Copier # Do NOT update manually; changes here will be overwritten by Copier
_commit: v1.3.6
_commit: v1.5.2
_src_path: gh:oca/oca-addons-repo-template _src_path: gh:oca/oca-addons-repo-template
ci: Travis ci: Travis
dependency_installation_mode: PIP dependency_installation_mode: PIP
generate_requirements_txt: true generate_requirements_txt: true
include_wkhtmltopdf: false include_wkhtmltopdf: false
odoo_version: 14.0 odoo_version: 14.0
org_name: Odoo Community Association (OCA)
org_slug: OCA
rebel_module_groups: [] rebel_module_groups: []
repo_description: 'TODO: add repo description.' repo_description: 'TODO: add repo description.'
repo_name: partner-contact repo_name: partner-contact
repo_slug: partner-contact repo_slug: partner-contact
repo_website: https://github.com/OCA/partner-contact
travis_apt_packages: [] travis_apt_packages: []
travis_apt_sources: [] travis_apt_sources: []

2
.eslintrc.yml

@ -4,7 +4,7 @@ env:
# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449 # See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
parserOptions: parserOptions:
ecmaVersion: 2017
ecmaVersion: 2019
overrides: overrides:
- files: - files:

29
.github/workflows/pre-commit.yml

@ -2,7 +2,12 @@ name: pre-commit
on: on:
pull_request: pull_request:
branches:
- "14.0*"
push: push:
branches:
- "14.0"
- "14.0-ocabot-*"
jobs: jobs:
pre-commit: pre-commit:
@ -10,11 +15,21 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-python@v2 - uses: actions/setup-python@v2
- name: Get python version
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- uses: actions/cache@v1
with: with:
# The pylint-odoo version we use here does not support python 3.10
# https://github.com/OCA/oca-addons-repo-template/issues/80
# We also need to pin to an older version of python for older odoo versions
# where we are not using black > 21. Older black versions won't work with
# Python 3.9.8+, and we can't bump black without reformatting.
python-version: "3.9.7"
- uses: pre-commit/action@v2.0.0
path: ~/.cache/pre-commit
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
- name: Install pre-commit
run: pip install pre-commit
- name: Run pre-commit
run: pre-commit run --all-files --show-diff-on-failure --color=always
- name: Check that all files generated by pre-commit are in git
run: |
newfiles="$(git ls-files --others --exclude-from=.gitignore)"
if [ "$newfiles" != "" ] ; then
echo "Please check-in the following files:"
echo "$newfiles"
exit 1
fi

6
.pre-commit-config.yaml

@ -46,7 +46,7 @@ repos:
- --remove-duplicate-keys - --remove-duplicate-keys
- --remove-unused-variables - --remove-unused-variables
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 20.8b1
rev: 22.3.0
hooks: hooks:
- id: black - id: black
- repo: https://github.com/pre-commit/mirrors-prettier - repo: https://github.com/pre-commit/mirrors-prettier
@ -120,7 +120,7 @@ repos:
name: flake8 name: flake8
additional_dependencies: ["flake8-bugbear==20.1.4"] additional_dependencies: ["flake8-bugbear==20.1.4"]
- repo: https://github.com/PyCQA/pylint - repo: https://github.com/PyCQA/pylint
rev: pylint-2.5.3
rev: v2.11.1
hooks: hooks:
- id: pylint - id: pylint
name: pylint with optional checks name: pylint with optional checks
@ -129,7 +129,7 @@ repos:
- --exit-zero - --exit-zero
verbose: true verbose: true
additional_dependencies: &pylint_deps additional_dependencies: &pylint_deps
- pylint-odoo==3.5.0
- pylint-odoo==5.0.5
- id: pylint - id: pylint
name: pylint with mandatory checks name: pylint with mandatory checks
args: args:

6
README.md

@ -1,4 +1,5 @@
[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/134/14.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-partner-contact-134)
[![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&target_branch=14.0)
[![Build Status](https://travis-ci.com/OCA/partner-contact.svg?branch=14.0)](https://travis-ci.com/OCA/partner-contact) [![Build Status](https://travis-ci.com/OCA/partner-contact.svg?branch=14.0)](https://travis-ci.com/OCA/partner-contact)
[![codecov](https://codecov.io/gh/OCA/partner-contact/branch/14.0/graph/badge.svg)](https://codecov.io/gh/OCA/partner-contact) [![codecov](https://codecov.io/gh/OCA/partner-contact/branch/14.0/graph/badge.svg)](https://codecov.io/gh/OCA/partner-contact)
[![Translation Status](https://translation.odoo-community.org/widgets/partner-contact-14-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/partner-contact-14-0/?utm_source=widget) [![Translation Status](https://translation.odoo-community.org/widgets/partner-contact-14-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/partner-contact-14-0/?utm_source=widget)
@ -87,12 +88,11 @@ addon | version | maintainers | summary
This repository is licensed under [AGPL-3.0](LICENSE). This repository is licensed under [AGPL-3.0](LICENSE).
However, each module can have a totally different license, as long as they adhere to OCA
However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA)
policy. Consult each module's `__manifest__.py` file, which contains a `license` key policy. Consult each module's `__manifest__.py` file, which contains a `license` key
that explains its license. that explains its license.
---- ----
OCA, or the [Odoo Community Association](http://odoo-community.org/), is a nonprofit OCA, or the [Odoo Community Association](http://odoo-community.org/), is a nonprofit
organization whose mission is to support the collaborative development of Odoo features organization whose mission is to support the collaborative development of Odoo features
and promote its widespread use. and promote its widespread use.

2
base_location_nuts/tests/test_base_location_nuts.py

@ -71,7 +71,7 @@ class TestBaseLocationNuts(common.SavepointCase):
self.assertEqual(self.partner.nuts1_id.country_id, self.country_1) self.assertEqual(self.partner.nuts1_id.country_id, self.country_1)
def test_download_exceptions(self): def test_download_exceptions(self):
""" Tests download exceptions """
"""Tests download exceptions"""
with self.assertRaises(UserError): with self.assertRaises(UserError):
self.importer._download_nuts(url_base="htttt://test.com") self.importer._download_nuts(url_base="htttt://test.com")
with self.assertRaises(UserError): with self.assertRaises(UserError):

4
partner_address_street3/hooks.py

@ -3,7 +3,7 @@
def post_init_hook(cr, registry): def post_init_hook(cr, registry):
""" Add street3 to address format """
"""Add street3 to address format"""
query = """ query = """
UPDATE res_country UPDATE res_country
SET address_format = replace( SET address_format = replace(
@ -16,7 +16,7 @@ def post_init_hook(cr, registry):
def uninstall_hook(cr, registry): def uninstall_hook(cr, registry):
""" Remove street3 from address format """
"""Remove street3 from address format"""
# Remove %(street3)s\n from address_format # Remove %(street3)s\n from address_format
query = """ query = """
UPDATE res_country UPDATE res_country

10
partner_address_version/tests/test_address_version.py

@ -14,11 +14,11 @@ class TestAddressVersion(SavepointCase):
super(TestAddressVersion, cls).setUpClass() super(TestAddressVersion, cls).setUpClass()
cls.partner_vals = OrderedDict( cls.partner_vals = OrderedDict(
[ [
("name", u"Name"),
("street", u"Street"),
("street2", u"Street2"),
("zip", u"Zip"),
("city", u"City"),
("name", "Name"),
("street", "Street"),
("street2", "Street2"),
("zip", "Zip"),
("city", "City"),
("country_id", cls.env.ref("base.fr")), ("country_id", cls.env.ref("base.fr")),
] ]
) )

2
partner_contact_department/tests/test_recursion.py

@ -17,7 +17,7 @@ class TestRecursion(common.SavepointCase):
) )
def test_recursion(self): def test_recursion(self):
""" Testing recursion """
"""Testing recursion"""
self.dpt3 = self.department_obj.create( self.dpt3 = self.department_obj.create(
{"name": "Dep. 3", "parent_id": self.dpt2.id} {"name": "Dep. 3", "parent_id": self.dpt2.id}
) )

4
partner_email_check/tests/test_partner_email_check.py

@ -41,7 +41,7 @@ class TestPartnerEmailCheck(SavepointCase):
def test_email_domain_normalization(self): def test_email_domain_normalization(self):
"""Test normalization of email domain names, including punycode.""" """Test normalization of email domain names, including punycode."""
self.test_partner.write({"email": "goodemail@xn--xamPle-9ua.com"}) self.test_partner.write({"email": "goodemail@xn--xamPle-9ua.com"})
self.assertEqual(self.test_partner.email, u"goodemail@éxample.com")
self.assertEqual(self.test_partner.email, "goodemail@éxample.com")
def test_multi_email_domain_normalization(self): def test_multi_email_domain_normalization(self):
"""Test normalization of email domain names of multiple addresses.""" """Test normalization of email domain names of multiple addresses."""
@ -49,7 +49,7 @@ class TestPartnerEmailCheck(SavepointCase):
{"email": "goodemail@doMAIN.com,othergood@xn--xample-9ua.com"} {"email": "goodemail@doMAIN.com,othergood@xn--xample-9ua.com"}
) )
self.assertEqual( self.assertEqual(
self.test_partner.email, u"goodemail@domain.com,othergood@éxample.com"
self.test_partner.email, "goodemail@domain.com,othergood@éxample.com"
) )
def test_email_local_normalization(self): def test_email_local_normalization(self):

26
partner_firstname/tests/test_copy.py

@ -15,10 +15,10 @@ class UserCase(TransactionCase, MailInstalled):
def create_original(self): def create_original(self):
self.original = self.env["res.users"].create( self.original = self.env["res.users"].create(
{ {
"firstname": u"Firstname",
"lastname": u"Lastname",
"name": u"Firstname Lastname",
"login": u"firstname.lastname",
"firstname": "Firstname",
"lastname": "Lastname",
"name": "Firstname Lastname",
"login": "firstname.lastname",
} }
) )
@ -26,29 +26,27 @@ class UserCase(TransactionCase, MailInstalled):
super(UserCase, self).tearDown() super(UserCase, self).tearDown()
def compare(self, copy): def compare(self, copy):
self.assertEqual(copy.lastname, u"Lastname2")
self.assertEqual(copy.firstname, u"Firstname2")
self.assertEqual(copy.name, u"Firstname2 Lastname2")
self.assertEqual(copy.lastname, "Lastname2")
self.assertEqual(copy.firstname, "Firstname2")
self.assertEqual(copy.name, "Firstname2 Lastname2")
def test_copy_name(self): def test_copy_name(self):
"""Copy original with default name set - firstname lastname not set.""" """Copy original with default name set - firstname lastname not set."""
copy = self.original.copy({"name": u"Firstname2 Lastname2"})
copy = self.original.copy({"name": "Firstname2 Lastname2"})
self.compare(copy) self.compare(copy)
def test_copy_firstname_lastname(self): def test_copy_firstname_lastname(self):
"""Copy original with default firstname and lastname set""" """Copy original with default firstname and lastname set"""
copy = self.original.copy(
{"firstname": u"Firstname2", "lastname": u"Lastname2"}
)
copy = self.original.copy({"firstname": "Firstname2", "lastname": "Lastname2"})
self.compare(copy) self.compare(copy)
def test_copy_firstname_lastname_name(self): def test_copy_firstname_lastname_name(self):
"""Copy original with default firstname, lastname and name set""" """Copy original with default firstname, lastname and name set"""
copy = self.original.copy( copy = self.original.copy(
{ {
"firstname": u"Firstname2",
"lastname": u"Lastname2",
"name": u"Firstname2 Lastname2",
"firstname": "Firstname2",
"lastname": "Lastname2",
"name": "Firstname2 Lastname2",
} }
) )
self.compare(copy) self.compare(copy)

2
partner_identification/tests/test_partner_identification.py

@ -111,7 +111,7 @@ if id_number.name != '1234' # missing :
) )
def test_bad_validation_code_override(self): def test_bad_validation_code_override(self):
""" It should allow a bad validation code if context overrides. """
"""It should allow a bad validation code if context overrides."""
partner_id_category = self.env["res.partner.id_category"].create( partner_id_category = self.env["res.partner.id_category"].create(
{ {
"code": "id_code", "code": "id_code",

12
partner_identification/tests/test_res_partner.py

@ -40,17 +40,17 @@ class TestResPartner(common.SavepointCase):
super().tearDownClass() super().tearDownClass()
def test_compute_identification(self): def test_compute_identification(self):
""" It should set the proper field to the proper ID name. """
"""It should set the proper field to the proper ID name."""
self.partner._compute_identification("name", "id_code") self.partner._compute_identification("name", "id_code")
self.assertEqual(self.partner.name, self.partner_id.name) self.assertEqual(self.partner.name, self.partner_id.name)
def test_inverse_identification_saves(self): def test_inverse_identification_saves(self):
""" It should set the ID name to the proper field value. """
"""It should set the ID name to the proper field value."""
self.partner._inverse_identification("name", "id_code") self.partner._inverse_identification("name", "id_code")
self.assertEqual(self.partner_id.name, self.partner.name) self.assertEqual(self.partner_id.name, self.partner.name)
def test_inverse_identification_creates_new_category(self): def test_inverse_identification_creates_new_category(self):
""" It should create a new category of the type if non-existent. """
"""It should create a new category of the type if non-existent."""
self.partner._inverse_identification("name", "new_code_type") self.partner._inverse_identification("name", "new_code_type")
category = self.env["res.partner.id_category"].search( category = self.env["res.partner.id_category"].search(
[("code", "=", "new_code_type")] [("code", "=", "new_code_type")]
@ -58,7 +58,7 @@ class TestResPartner(common.SavepointCase):
self.assertTrue(category) self.assertTrue(category)
def test_inverse_identification_creates_new_id(self): def test_inverse_identification_creates_new_id(self):
""" It should create a new ID of the type if non-existent. """
"""It should create a new ID of the type if non-existent."""
category = self.env["res.partner.id_category"].create( category = self.env["res.partner.id_category"].create(
{"code": "new_code_type", "name": "new_code_type"} {"code": "new_code_type", "name": "new_code_type"}
) )
@ -69,7 +69,7 @@ class TestResPartner(common.SavepointCase):
self.assertEqual(identification.name, self.partner.name) self.assertEqual(identification.name, self.partner.name)
def test_inverse_identification_multi_exception(self): def test_inverse_identification_multi_exception(self):
""" It should not allow a write when multiple IDs of same type. """
"""It should not allow a write when multiple IDs of same type."""
self.env["res.partner.id_number"].create( self.env["res.partner.id_number"].create(
{ {
"name": "Another ID", "name": "Another ID",
@ -81,7 +81,7 @@ class TestResPartner(common.SavepointCase):
self.partner._inverse_identification("name", "id_code") self.partner._inverse_identification("name", "id_code")
def test_search_identification(self): def test_search_identification(self):
""" It should return the right record when searched by ID. """
"""It should return the right record when searched by ID."""
self.partner.social_security = "Test" self.partner.social_security = "Test"
partner = self.env["res.partner"].search([("social_security", "=", "Test")]) partner = self.env["res.partner"].search([("social_security", "=", "Test")])
self.assertEqual(partner, self.partner) self.assertEqual(partner, self.partner)

2
partner_industry_secondary/models/res_partner_industry.py

@ -25,7 +25,7 @@ class ResPartnerIndustry(models.Model):
def name_get(self): def name_get(self):
def get_names(cat): def get_names(cat):
""" Return the list [cat.name, cat.parent_id.name, ...] """
"""Return the list [cat.name, cat.parent_id.name, ...]"""
res = [] res = []
while cat: while cat:
res.insert(0, cat.name) res.insert(0, cat.name)

10
partner_pricelist_search/tests/test_partner_pricelist_search.py

@ -24,14 +24,14 @@ class TestPartnerPricelistSearch(common.SavepointCase):
cls.partner_obj = cls.env["res.partner"] cls.partner_obj = cls.env["res.partner"]
def test_partner_pricelist_search_equal(self): def test_partner_pricelist_search_equal(self):
""" Test search '=' """
"""Test search '='"""
partners = self.partner_obj.search( partners = self.partner_obj.search(
[("property_product_pricelist", "=", self.pricelist_1.id)] [("property_product_pricelist", "=", self.pricelist_1.id)]
) )
self.assertEqual(partners, self.customer_1) self.assertEqual(partners, self.customer_1)
def test_partner_pricelist_search_in(self): def test_partner_pricelist_search_in(self):
""" Test search 'in' """
"""Test search 'in'"""
partners = self.partner_obj.search( partners = self.partner_obj.search(
[ [
( (
@ -45,7 +45,7 @@ class TestPartnerPricelistSearch(common.SavepointCase):
self.assertIn(self.customer_2, partners) self.assertIn(self.customer_2, partners)
def test_partner_pricelist_search_not_equal(self): def test_partner_pricelist_search_not_equal(self):
""" Test search 'not equal' """
"""Test search 'not equal'"""
partners = self.partner_obj.search( partners = self.partner_obj.search(
[("property_product_pricelist", "!=", self.pricelist_1.id)] [("property_product_pricelist", "!=", self.pricelist_1.id)]
) )
@ -53,7 +53,7 @@ class TestPartnerPricelistSearch(common.SavepointCase):
self.assertIn(self.customer_2, partners) self.assertIn(self.customer_2, partners)
def test_partner_pricelist_search_not_in(self): def test_partner_pricelist_search_not_in(self):
""" Test search 'not in' """
"""Test search 'not in'"""
partners = self.partner_obj.search( partners = self.partner_obj.search(
[ [
( (
@ -67,7 +67,7 @@ class TestPartnerPricelistSearch(common.SavepointCase):
self.assertNotIn(self.customer_2, partners) self.assertNotIn(self.customer_2, partners)
def test_partner_pricelist_search_not_implemented(self): def test_partner_pricelist_search_not_implemented(self):
""" Test search not implemented """
"""Test search not implemented"""
with self.assertRaises(UserError): with self.assertRaises(UserError):
self.partner_obj.search( self.partner_obj.search(
[("property_product_pricelist", "ilike", "pricelist xx")] [("property_product_pricelist", "ilike", "pricelist xx")]

4
partner_second_lastname/models/res_partner.py

@ -90,12 +90,12 @@ class ResPartner(models.Model):
if order in ("first_last", "last_first_comma"): if order in ("first_last", "last_first_comma"):
parts = self._split_part("lastname", result) parts = self._split_part("lastname", result)
if parts: if parts:
result.update({"lastname": parts[0], "lastname2": u" ".join(parts[1:])})
result.update({"lastname": parts[0], "lastname2": " ".join(parts[1:])})
else: else:
parts = self._split_part("firstname", result) parts = self._split_part("firstname", result)
if parts: if parts:
result.update( result.update(
{"firstname": parts[-1], "lastname2": u" ".join(parts[:-1])}
{"firstname": parts[-1], "lastname2": " ".join(parts[:-1])}
) )
return result return result

Loading…
Cancel
Save