From a4267f76e86432c3a99ee9fc299797254d56e3fe Mon Sep 17 00:00:00 2001 From: Oliver Walters <oliver.henry.walters@gmail.com> Date: Sun, 16 Aug 2020 13:39:05 +1000 Subject: [PATCH] Fixes for barcode data rendering --- InvenTree/InvenTree/helpers.py | 3 +++ InvenTree/InvenTree/tests.py | 1 + InvenTree/part/models.py | 7 ++++--- InvenTree/stock/models.py | 8 ++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/InvenTree/InvenTree/helpers.py b/InvenTree/InvenTree/helpers.py index fb54bc4c6f..28cebbcd3d 100644 --- a/InvenTree/InvenTree/helpers.py +++ b/InvenTree/InvenTree/helpers.py @@ -265,6 +265,9 @@ def MakeBarcode(object_name, object_pk, object_data, **kwargs): data['tool'] = 'InvenTree' data['version'] = inventreeVersion() data['instance'] = inventreeInstanceName() + + # Ensure PK is included + object_data['id'] = object_pk data[object_name] = object_data return json.dumps(data, sort_keys=True) diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 877adab919..c46a059c8d 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -138,6 +138,7 @@ class TestMakeBarcode(TestCase): bc = helpers.MakeBarcode( "part", + 3, { "id": 3, "url": "www.google.com", diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 308808fbdd..c074d197b9 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -560,16 +560,17 @@ class Part(MPTTModel): responsible = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True, related_name='parts_responible') - def format_barcode(self): + def format_barcode(self, **kwargs): """ Return a JSON string for formatting a barcode for this Part object """ return helpers.MakeBarcode( "part", + self.id, { - "id": self.id, "name": self.full_name, "url": reverse('api-part-detail', kwargs={'pk': self.id}), - } + }, + **kwargs ) @property diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index e523ed70d3..788bf845df 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -45,16 +45,17 @@ class StockLocation(InvenTreeTree): def get_absolute_url(self): return reverse('stock-location-detail', kwargs={'pk': self.id}) - def format_barcode(self): + def format_barcode(self, **kwargs): """ Return a JSON string for formatting a barcode for this StockLocation object """ return helpers.MakeBarcode( 'stocklocation', + self.pk, { - "id": self.id, "name": self.name, "url": reverse('api-location-detail', kwargs={'pk': self.id}), - } + }, + **kwargs ) def get_stock_items(self, cascade=True): @@ -298,7 +299,6 @@ class StockItem(MPTTModel): "stockitem", self.id, { - "id": self.id, "url": reverse('api-stock-detail', kwargs={'pk': self.id}), }, **kwargs