Skip to content

Commit c8ffc39

Browse files
committed
Merge PR #1068 into 18.0
Signed-off-by gurneyalex
2 parents acec7b2 + 3b43a41 commit c8ffc39

File tree

5 files changed

+31
-13
lines changed

5 files changed

+31
-13
lines changed

sequence_check_digit/i18n/es.po

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: Odoo Server 10.0\n"
88
"Report-Msgid-Bugs-To: \n"
9-
"POT-Creation-Date: 2017-09-28 10:14+0000\n"
9+
"POT-Creation-Date: 2025-04-21 16:56+0000\n"
1010
"PO-Revision-Date: 2018-07-13 08:48+0000\n"
1111
"Last-Translator: Enric Tobella <[email protected]>\n"
1212
"Language-Team: \n"
@@ -27,6 +27,11 @@ msgstr "Fórmula del Dígito de control"
2727
msgid "Damm"
2828
msgstr "Damm"
2929

30+
#. module: sequence_check_digit
31+
#: model:ir.model.fields.selection,name:sequence_check_digit.selection__ir_sequence__check_digit_formula__ean
32+
msgid "EAN"
33+
msgstr ""
34+
3035
#. module: sequence_check_digit
3136
#. odoo-python
3237
#: code:addons/sequence_check_digit/models/ir_sequence.py:0
@@ -78,10 +83,3 @@ msgstr "ir.sequence"
7883
#: model:ir.model.fields.selection,name:sequence_check_digit.selection__ir_sequence__check_digit_formula__verhoeff
7984
msgid "Verhoeff"
8085
msgstr "Verhoeff"
81-
82-
#, python-format
83-
#~ msgid "%s is not an implemented function"
84-
#~ msgstr "%s no es una función implementada"
85-
86-
#~ msgid "Function not found"
87-
#~ msgstr "Función no encontrada"

sequence_check_digit/i18n/it.po

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: Odoo Server 14.0\n"
88
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2025-04-21 16:56+0000\n"
910
"PO-Revision-Date: 2025-01-28 11:06+0000\n"
1011
"Last-Translator: mymage <[email protected]>\n"
1112
"Language-Team: none\n"
@@ -26,6 +27,11 @@ msgstr "Controllare la formula numerica"
2627
msgid "Damm"
2728
msgstr "Damm"
2829

30+
#. module: sequence_check_digit
31+
#: model:ir.model.fields.selection,name:sequence_check_digit.selection__ir_sequence__check_digit_formula__ean
32+
msgid "EAN"
33+
msgstr ""
34+
2935
#. module: sequence_check_digit
3036
#. odoo-python
3137
#: code:addons/sequence_check_digit/models/ir_sequence.py:0

sequence_check_digit/i18n/sequence_check_digit.pot

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
#
55
msgid ""
66
msgstr ""
7-
"Project-Id-Version: Odoo Server 18.0\n"
7+
"Project-Id-Version: Odoo Server 18.0+e\n"
88
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2025-04-21 16:56+0000\n"
10+
"PO-Revision-Date: 2025-04-21 16:56+0000\n"
911
"Last-Translator: \n"
1012
"Language-Team: \n"
1113
"MIME-Version: 1.0\n"
@@ -23,6 +25,11 @@ msgstr ""
2325
msgid "Damm"
2426
msgstr ""
2527

28+
#. module: sequence_check_digit
29+
#: model:ir.model.fields.selection,name:sequence_check_digit.selection__ir_sequence__check_digit_formula__ean
30+
msgid "EAN"
31+
msgstr ""
32+
2633
#. module: sequence_check_digit
2734
#. odoo-python
2835
#: code:addons/sequence_check_digit/models/ir_sequence.py:0

sequence_check_digit/models/ir_sequence.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
_logger = logging.getLogger(__name__)
1010
try:
11-
from stdnum import damm, luhn, verhoeff
11+
from stdnum import damm, ean, luhn, verhoeff
1212
from stdnum.iso7064 import mod_11_2, mod_11_10, mod_37_2, mod_37_36, mod_97_10
1313
except (OSError, ImportError) as err:
1414
_logger.debug(err)
@@ -20,6 +20,7 @@ class IrSequence(models.Model):
2020
check_digit_formula = fields.Selection(
2121
selection=[
2222
("none", "None"),
23+
("ean", "EAN"),
2324
("luhn", "Luhn"),
2425
("damm", "Damm"),
2526
("verhoeff", "Verhoeff"),
@@ -53,6 +54,7 @@ def get_check_digit(self, code):
5354
def get_formula_map(self):
5455
return {
5556
"none": lambda _: "",
57+
"ean": ean.calc_check_digit,
5658
"luhn": luhn.calc_check_digit,
5759
"damm": damm.calc_check_digit,
5860
"verhoeff": verhoeff.calc_check_digit,

sequence_check_digit/tests/test_check_digit.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,21 @@
99

1010
_logger = logging.getLogger(__name__)
1111
try:
12-
from stdnum import damm, luhn, verhoeff
12+
from stdnum import damm, ean, luhn, verhoeff
1313
from stdnum.iso7064 import mod_11_2, mod_11_10, mod_37_2, mod_37_36, mod_97_10
1414
except (OSError, ImportError) as err:
1515
_logger.debug(err)
1616

1717

1818
class TestSequenceCheckDigit(common.TransactionCase):
19-
def get_sequence(self, method):
19+
def get_sequence(self, method, padding="5", prefix=""):
2020
return self.env["ir.sequence"].create(
2121
{
2222
"name": "Test sequence",
2323
"implementation": "standard",
2424
"check_digit_formula": method,
25-
"padding": "5",
25+
"padding": padding,
26+
"prefix": prefix,
2627
}
2728
)
2829

@@ -34,6 +35,10 @@ def test_null(self):
3435
sequence = self.get_sequence(None)
3536
self.assertEqual("00001", sequence.next_by_id())
3637

38+
def test_ean(self):
39+
sequence = self.get_sequence("ean", padding="9", prefix="021")
40+
self.assertTrue(ean.validate(sequence.next_by_id()))
41+
3742
def test_luhn(self):
3843
sequence = self.get_sequence("luhn")
3944
self.assertTrue(luhn.validate(sequence.next_by_id()))

0 commit comments

Comments
 (0)