From 4d3cff9bd3bcf68e7fc0a3d1eaf3c399d1aae2bf Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Fri, 13 Apr 2018 09:52:13 -0700 Subject: [PATCH 1/5] Add `delivery_partner`, `delivery_partner_dhl`, `delivery_partner_fedex`, `delivery_partner_ups` --- delivery_partner_ups/__init__.py | 1 + delivery_partner_ups/__manifest__.py | 19 +++++++++++++++++++ delivery_partner_ups/models/__init__.py | 1 + delivery_partner_ups/models/delivery.py | 19 +++++++++++++++++++ delivery_partner_ups/views/delivery_views.xml | 13 +++++++++++++ 5 files changed, 53 insertions(+) create mode 100644 delivery_partner_ups/__init__.py create mode 100755 delivery_partner_ups/__manifest__.py create mode 100644 delivery_partner_ups/models/__init__.py create mode 100644 delivery_partner_ups/models/delivery.py create mode 100644 delivery_partner_ups/views/delivery_views.xml diff --git a/delivery_partner_ups/__init__.py b/delivery_partner_ups/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/delivery_partner_ups/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/delivery_partner_ups/__manifest__.py b/delivery_partner_ups/__manifest__.py new file mode 100755 index 00000000..42e225d5 --- /dev/null +++ b/delivery_partner_ups/__manifest__.py @@ -0,0 +1,19 @@ +{ + 'name': 'UPS Partner Shipping Accounts', + 'author': 'Hibou Corp. ', + 'version': '11.0.1.0.0', + 'category': 'Stock', + 'sequence': 95, + 'summary': 'UPS Partner Shipping Accounts', + 'description': """ + """, + 'website': 'https://hibou.io/', + 'depends': [ + 'delivery_partner', + ], + 'data': [ + 'views/delivery_views.xml', + ], + 'installable': True, + 'application': False, +} diff --git a/delivery_partner_ups/models/__init__.py b/delivery_partner_ups/models/__init__.py new file mode 100644 index 00000000..be8cabd6 --- /dev/null +++ b/delivery_partner_ups/models/__init__.py @@ -0,0 +1 @@ +from . import delivery diff --git a/delivery_partner_ups/models/delivery.py b/delivery_partner_ups/models/delivery.py new file mode 100644 index 00000000..fef70cd2 --- /dev/null +++ b/delivery_partner_ups/models/delivery.py @@ -0,0 +1,19 @@ +import re + +from odoo import fields, models +from odoo.exceptions import ValidationError + + +class PartnerShippingAccount(models.Model): + _inherit = 'partner.shipping.account' + + delivery_type = fields.Selection(selection_add=[('ups', 'UPS')]) + ups_zip = fields.Char(string='UPS Account ZIP') + + def ups_check_validity(self): + m = re.search('^[\dA-Z]{6}$', self.name or '') + if not m: + raise ValidationError('UPS Account numbers must be 6 Alpha-numeric characters.') + m = re.search('^\d{5}$', self.ups_zip or '') + if not m: + raise ValidationError('UPS requires the 5 digit account ZIP.') diff --git a/delivery_partner_ups/views/delivery_views.xml b/delivery_partner_ups/views/delivery_views.xml new file mode 100644 index 00000000..d5c8a4e7 --- /dev/null +++ b/delivery_partner_ups/views/delivery_views.xml @@ -0,0 +1,13 @@ + + + + partner.shipping.account.form.inherit + partner.shipping.account + + + + + + + + From 04b4042a2080587f3a397e44cfb4aea4380c7098 Mon Sep 17 00:00:00 2001 From: Kristen Marie Kulha Date: Fri, 8 Jun 2018 10:58:23 -0700 Subject: [PATCH 2/5] Add README.rst --- delivery_partner_ups/README.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 delivery_partner_ups/README.rst diff --git a/delivery_partner_ups/README.rst b/delivery_partner_ups/README.rst new file mode 100644 index 00000000..632af9f7 --- /dev/null +++ b/delivery_partner_ups/README.rst @@ -0,0 +1,25 @@ +*************************************** +Hibou - UPS Partner Shipping Accounts +*************************************** + +Adds UPS shipping accounts. + +For more information and add-ons, visit `Hibou.io `_. + + +============= +Main Features +============= + +* Adds UPS to the delivery type selection field. +* Adds new required field of UPS Account ZIP. +* Validates entered UPS account numbers are the correct length. + + +======= +License +======= + +Please see `LICENSE `_. + +Copyright Hibou Corp. 2018 From b08d1d0fe3d849cdc004f0d1a70a4ae512e409c9 Mon Sep 17 00:00:00 2001 From: Kristen Marie Kulha Date: Fri, 8 Jun 2018 12:25:16 -0700 Subject: [PATCH 3/5] Add screenshot. --- delivery_partner_ups/README.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/delivery_partner_ups/README.rst b/delivery_partner_ups/README.rst index 632af9f7..5896d237 100644 --- a/delivery_partner_ups/README.rst +++ b/delivery_partner_ups/README.rst @@ -15,6 +15,10 @@ Main Features * Adds new required field of UPS Account ZIP. * Validates entered UPS account numbers are the correct length. +.. image:: https://user-images.githubusercontent.com/15882954/41176879-e7dc5a66-6b16-11e8-82a2-9b6cd0c909fd.png + :alt: 'Register Payment Detail' + :width: 988 + :align: left ======= License From f0c7081c984607cb3fa61350de2554a67a24b74f Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Tue, 2 Apr 2019 10:41:41 -0700 Subject: [PATCH 4/5] MIG `delivery_partner_ups` to 12.0 --- delivery_partner_ups/__manifest__.py | 2 +- delivery_partner_ups/models/delivery.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/delivery_partner_ups/__manifest__.py b/delivery_partner_ups/__manifest__.py index 42e225d5..4639f374 100755 --- a/delivery_partner_ups/__manifest__.py +++ b/delivery_partner_ups/__manifest__.py @@ -1,7 +1,7 @@ { 'name': 'UPS Partner Shipping Accounts', 'author': 'Hibou Corp. ', - 'version': '11.0.1.0.0', + 'version': '12.0.1.0.0', 'category': 'Stock', 'sequence': 95, 'summary': 'UPS Partner Shipping Accounts', diff --git a/delivery_partner_ups/models/delivery.py b/delivery_partner_ups/models/delivery.py index fef70cd2..dd9a3239 100644 --- a/delivery_partner_ups/models/delivery.py +++ b/delivery_partner_ups/models/delivery.py @@ -11,9 +11,9 @@ class PartnerShippingAccount(models.Model): ups_zip = fields.Char(string='UPS Account ZIP') def ups_check_validity(self): - m = re.search('^[\dA-Z]{6}$', self.name or '') + m = re.search(r'^[\dA-Z]{6}$', self.name or '') if not m: raise ValidationError('UPS Account numbers must be 6 Alpha-numeric characters.') - m = re.search('^\d{5}$', self.ups_zip or '') + m = re.search(r'^\d{5}$', self.ups_zip or '') if not m: raise ValidationError('UPS requires the 5 digit account ZIP.') From 09b32a9136de35aa27c01f0f48b9b8be6a4014f3 Mon Sep 17 00:00:00 2001 From: Leighton Pennicott Date: Fri, 6 Nov 2020 18:44:19 -0500 Subject: [PATCH 5/5] [MIG] delivery_partner_ups: migrate to Odoo 13.0 Added tests --- delivery_partner_ups/__manifest__.py | 2 +- delivery_partner_ups/tests/__init__.py | 1 + .../tests/test_ups_account.py | 61 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 delivery_partner_ups/tests/__init__.py create mode 100644 delivery_partner_ups/tests/test_ups_account.py diff --git a/delivery_partner_ups/__manifest__.py b/delivery_partner_ups/__manifest__.py index 4639f374..b9cff5ac 100755 --- a/delivery_partner_ups/__manifest__.py +++ b/delivery_partner_ups/__manifest__.py @@ -1,7 +1,7 @@ { 'name': 'UPS Partner Shipping Accounts', 'author': 'Hibou Corp. ', - 'version': '12.0.1.0.0', + 'version': '13.0.1.0.0', 'category': 'Stock', 'sequence': 95, 'summary': 'UPS Partner Shipping Accounts', diff --git a/delivery_partner_ups/tests/__init__.py b/delivery_partner_ups/tests/__init__.py new file mode 100644 index 00000000..9df4d58c --- /dev/null +++ b/delivery_partner_ups/tests/__init__.py @@ -0,0 +1 @@ +from . import test_ups_account diff --git a/delivery_partner_ups/tests/test_ups_account.py b/delivery_partner_ups/tests/test_ups_account.py new file mode 100644 index 00000000..f4391039 --- /dev/null +++ b/delivery_partner_ups/tests/test_ups_account.py @@ -0,0 +1,61 @@ +from odoo.tests.common import TransactionCase +from odoo.exceptions import ValidationError + + +class TestAccount(TransactionCase): + + def setUp(self): + super(TestAccount, self).setUp() + self.PartnerShippingAccount = self.env['partner.shipping.account'] + self.partner = self.env.ref('base.res_partner_12') + + def test_ups_account_information(self): + # Create object and confirm that validation error raises if ups account number is blank or not 8 digits + with self.assertRaises(ValidationError): + wrong_account_number = self.PartnerShippingAccount.create({ + 'name': '1234567', + 'description': 'Error Account', + 'partner_id': self.partner.id, + 'delivery_type': 'ups', + 'note': 'This is a note', + 'ups_zip': '12345' + }) + + with self.assertRaises(ValidationError): + no_account_number = self.PartnerShippingAccount.create({ + 'name': '', + 'description': 'Error Account', + 'partner_id': self.partner.id, + 'delivery_type': 'ups', + 'note': 'This is a note', + 'ups_zip': '12345' + }) + # Create object and confirm that validation error raises if zipcode is blank or not 5 digits + with self.assertRaises(ValidationError): + wrong_zip_code = self.PartnerShippingAccount.create({ + 'name': '123456', + 'description': 'Error Account', + 'partner_id': self.partner.id, + 'delivery_type': 'ups', + 'note': 'This is a note', + 'ups_zip': '1234' + }) + + with self.assertRaises(ValidationError): + no_zip_code = self.PartnerShippingAccount.create({ + 'name': '123456', + 'description': 'Error Account', + 'partner_id': self.partner.id, + 'delivery_type': 'ups', + 'note': 'This is a note', + 'ups_zip': '' + }) + + _ = self.PartnerShippingAccount.create({ + 'name': '123456', + 'description': 'Error Account', + 'partner_id': self.partner.id, + 'delivery_type': 'ups', + 'note': 'This is a note', + 'ups_zip': '12345' + })