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