mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 12:06:44 +00:00
Rename "barcode" module to "barcodes" to prevent import shadowing
- Add 'barcode' support
This commit is contained in:
parent
23da591c22
commit
caf4c293d9
@ -125,6 +125,7 @@
|
|||||||
.qr-container {
|
.qr-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
|
object-fit: fill;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-brand {
|
.navbar-brand {
|
||||||
|
@ -20,7 +20,7 @@ from stock.urls import stock_urls
|
|||||||
from build.urls import build_urls
|
from build.urls import build_urls
|
||||||
from order.urls import order_urls
|
from order.urls import order_urls
|
||||||
|
|
||||||
from barcode.api import barcode_api_urls
|
from barcodes.api import barcode_api_urls
|
||||||
from common.api import common_api_urls
|
from common.api import common_api_urls
|
||||||
from part.api import part_api_urls, bom_api_urls
|
from part.api import part_api_urls, bom_api_urls
|
||||||
from company.api import company_api_urls
|
from company.api import company_api_urls
|
||||||
|
@ -12,7 +12,7 @@ from rest_framework.views import APIView
|
|||||||
from stock.models import StockItem
|
from stock.models import StockItem
|
||||||
from stock.serializers import StockItemSerializer
|
from stock.serializers import StockItemSerializer
|
||||||
|
|
||||||
from barcode.barcode import load_barcode_plugins, hash_barcode
|
from barcodes.barcode import load_barcode_plugins, hash_barcode
|
||||||
|
|
||||||
|
|
||||||
class BarcodeScan(APIView):
|
class BarcodeScan(APIView):
|
@ -5,7 +5,7 @@ import hashlib
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from InvenTree import plugins as InvenTreePlugins
|
from InvenTree import plugins as InvenTreePlugins
|
||||||
from barcode import plugins as BarcodePlugins
|
from barcodes import plugins as BarcodePlugins
|
||||||
|
|
||||||
from stock.models import StockItem
|
from stock.models import StockItem
|
||||||
from stock.serializers import StockItemSerializer, LocationSerializer
|
from stock.serializers import StockItemSerializer, LocationSerializer
|
@ -4,7 +4,7 @@
|
|||||||
DigiKey barcode decoding
|
DigiKey barcode decoding
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from barcode.barcode import BarcodePlugin
|
from barcodes.barcode import BarcodePlugin
|
||||||
|
|
||||||
|
|
||||||
class DigikeyBarcodePlugin(BarcodePlugin):
|
class DigikeyBarcodePlugin(BarcodePlugin):
|
@ -13,7 +13,7 @@ references model objects actually exist in the database.
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from barcode.barcode import BarcodePlugin
|
from barcodes.barcode import BarcodePlugin
|
||||||
|
|
||||||
from stock.models import StockItem, StockLocation
|
from stock.models import StockItem, StockLocation
|
||||||
from part.models import Part
|
from part.models import Part
|
@ -10,8 +10,8 @@ from io import BytesIO
|
|||||||
|
|
||||||
from django import template
|
from django import template
|
||||||
|
|
||||||
import qrcode
|
import qrcode as python_qrcode
|
||||||
import barcode
|
import barcode as python_barcode
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ def image_data(img, fmt='PNG'):
|
|||||||
|
|
||||||
|
|
||||||
@register.simple_tag()
|
@register.simple_tag()
|
||||||
def qr_code(data, **kwargs):
|
def qrcode(data, **kwargs):
|
||||||
"""
|
"""
|
||||||
Return a byte-encoded QR code image
|
Return a byte-encoded QR code image
|
||||||
|
|
||||||
@ -54,11 +54,31 @@ def qr_code(data, **kwargs):
|
|||||||
|
|
||||||
params.update(**kwargs)
|
params.update(**kwargs)
|
||||||
|
|
||||||
qr = qrcode.QRCode(**params)
|
qr = python_qrcode.QRCode(**params)
|
||||||
|
|
||||||
qr.add_data(data, optimize=20)
|
qr.add_data(data, optimize=20)
|
||||||
qr.make(fit=True)
|
qr.make(fit=True)
|
||||||
|
|
||||||
qri = qr.make_image(fill_color=fill_color, back_color=back_color)
|
qri = qr.make_image(fill_color=fill_color, back_color=back_color)
|
||||||
|
|
||||||
return image_data(qri)
|
return image_data(qri)
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def barcode(data, barcode_class='code128', **kwargs):
|
||||||
|
"""
|
||||||
|
Render a barcode
|
||||||
|
"""
|
||||||
|
|
||||||
|
constructor = python_barcode.get_barcode_class(barcode_class)
|
||||||
|
|
||||||
|
data = str(data).zfill(constructor.digits)
|
||||||
|
|
||||||
|
writer = python_barcode.writer.ImageWriter
|
||||||
|
|
||||||
|
barcode_image = constructor(data, writer=writer())
|
||||||
|
|
||||||
|
image = barcode_image.render(writer_options=kwargs)
|
||||||
|
|
||||||
|
# Render to byte-encoded PNG
|
||||||
|
return image_data(image)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<div class='container' style='width: 80%;'>
|
<div class='container' style='width: 80%;'>
|
||||||
{% if qr_data %}
|
{% if qr_data %}
|
||||||
<div class='qr-container'>
|
<div class='qr-container'>
|
||||||
<img src="{% qr_code qr_data %}">
|
<img src="{% qrcode qr_data %}">
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class='alert alert-block alert-warning'>
|
<div class='alert alert-block alert-warning'>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user