Browse Source

Apr 25 [UPDT] : Bug Fixed 'product_barcode'

dependabot/npm_and_yarn/odoo_website_helpdesk/static/src/cdn/minimist-1.2.8
AjmalCybro 2 years ago
parent
commit
3ab2cdeae2
  1. 2
      product_barcode/__manifest__.py
  2. 22
      product_barcode/models/product_form.py

2
product_barcode/__manifest__.py

@ -22,7 +22,7 @@
{
'name': 'Product Barcode Generator',
'version': '16.0.1.0.0',
'version': '16.0.1.0.1',
'summary': 'Generates EAN13 Standard Barcode for Product.',
'live_test_url': 'https://www.youtube.com/watch?v=0BrFcOEkWu4&feature=youtu.be',
'category': 'Inventory',

22
product_barcode/models/product_form.py

@ -21,7 +21,6 @@
#############################################################################
import math
import re
from odoo import api, models
@ -30,9 +29,10 @@ class ProductAutoBarcode(models.Model):
@api.model
def create(self, vals):
"""generate barcode when create new product"""
res = super(ProductAutoBarcode, self).create(vals)
ean = generate_ean(str(res.id))
res.barcode = ean
res.barcode = '21' + ean[2:]
return res
@ -68,19 +68,17 @@ def check_ean(eancode):
int(eancode)
except:
return False
return ean_checksum(eancode) == int(eancode[-1])
return ean_checksum(eancode)
def generate_ean(ean):
"""Creates and returns a valid ean13 from an invalid one"""
if not ean:
return "0000000000000"
ean = re.sub("[A-Za-z]", "0", ean)
ean = re.sub("[^0-9]", "", ean)
ean = ean[:13]
if len(ean) < 13:
ean = ean + '0' * (13 - len(ean))
return ean[:-1] + str(ean_checksum(ean))
product_identifier = '00000000000' + ean
ean = product_identifier[-11:]
check_number = check_ean(ean + '00')
return f'{ean}0{check_number}'
class ProductTemplateAutoBarcode(models.Model):
@ -88,10 +86,8 @@ class ProductTemplateAutoBarcode(models.Model):
@api.model
def create(self, vals_list):
"""generate barcode number when create new product"""
templates = super(ProductTemplateAutoBarcode, self).create(vals_list)
ean = generate_ean(str(templates.id))
templates.barcode = ean
templates.barcode = '22' + ean[2:]
return templates
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

Loading…
Cancel
Save