diff --git a/.drone.yml b/.drone.yml index a0b10dd..ed9e03d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -15,7 +15,7 @@ pipeline: - pip install tox - tox -e "${TOXENV}-${DATABASE}" volumes: - - cache:/root/.cache + - /var/lib/cache:/root/.cache notify: image: drillster/drone-email from: drone@datalife.com.es diff --git a/setup.py b/setup.py index 7d22973..84b1fce 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,8 @@ from configparser import ConfigParser MODULE2PREFIX = { 'incoterm': 'datalife', - 'stock_unit_load': 'datalife' + 'stock_unit_load': 'datalife', + 'product_ean': 'datalife' } @@ -64,7 +65,14 @@ dependency_links = { '#egg=datalife_stock_unit_load-%(series)s' % { 'branch': branch, 'series': series, - } + }, + 'product_ean': + 'hg+https://bitbucket.org/datalife_sco/' + 'trytond-product_ean@%(branch)s' + '#egg=datalife_product_ean-%(series)s' % { + 'branch': branch, + 'series': series, + }, } requires = [] diff --git a/stock.py b/stock.py index 251595a..21cc056 100644 --- a/stock.py +++ b/stock.py @@ -4,6 +4,7 @@ from trytond.model import fields, ModelSQL from trytond.pool import PoolMeta, Pool from trytond.tools.multivalue import migrate_property from trytond.modules.company.model import CompanyValueMixin +from trytond.modules.product_ean.tools import get_control_digit from trytond import backend __all__ = ['Configuration', 'ConfigurationSequence', 'UnitLoad', @@ -108,15 +109,8 @@ class UnitLoad(metaclass=PoolMeta): if identifier.type == 'EDI_sender'] edi_code = edi_codes[0][:6] if edi_codes else '000000' code = '00' + edi_code + self.code[-9:].zfill(len(self.code[-9:])-9) - return code + str(self._sscc_control_digit(code)) + return code + get_control_digit(code) return '' def get_grai(self): return '' - - @staticmethod - def _sscc_control_digit(num): - nums = (int(c) for c in num) - multipliers = [3, 1] - return 10 - sum((digit * multipliers[index % 2] - for index, digit in enumerate(nums))) % 10 diff --git a/tryton.cfg b/tryton.cfg index ded4e4c..316f73c 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -8,6 +8,7 @@ depends: product incoterm stock_unit_load + product_ean party_edi product_cross_reference