From deda73a50f6bc5ced21a1a6124623ebf9521a19b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 22:27:46 +1100 Subject: [PATCH] Added stock status field --- InvenTree/part/admin.py | 2 +- InvenTree/part/models.py | 2 +- InvenTree/stock/admin.py | 2 +- InvenTree/stock/models.py | 14 ++++++++++++++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 3cc2ad10bb..5c8211e2be 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -4,7 +4,7 @@ from .models import PartCategory, Part class PartAdmin(admin.ModelAdmin): - list_display = ('name', 'IPN', 'quantity', 'category') + list_display = ('name', 'IPN', 'stock', 'category') # Custom form for PartCategory class PartCategoryAdmin(admin.ModelAdmin): diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 80d4728c93..0af382ec64 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -45,7 +45,7 @@ class Part(models.Model): return self.stockitem_set.all() @property - def quantity(self): + def stock(self): """ Return the total stock quantity for this part. Part may be stored in multiple locations """ diff --git a/InvenTree/stock/admin.py b/InvenTree/stock/admin.py index 4a6b7be4c0..9e0dac771b 100644 --- a/InvenTree/stock/admin.py +++ b/InvenTree/stock/admin.py @@ -6,7 +6,7 @@ class WarehouseAdmin(admin.ModelAdmin): list_display = ('name', 'path', 'description') class StockItemAdmin(admin.ModelAdmin): - list_display = ('part', 'quantity', 'location', 'updated') + list_display = ('part', 'quantity', 'location', 'status', 'updated') admin.site.register(Warehouse, WarehouseAdmin) admin.site.register(StockItem, StockItemAdmin) \ No newline at end of file diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 2cc5e4c727..50116d6b36 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -15,6 +15,20 @@ class StockItem(models.Model): quantity = models.IntegerField() updated = models.DateField(auto_now=True) + # Stock status types + ITEM_IN_PROGRESS = 0 + ITEM_DAMAGED = 10 + ITEM_RETURNED = 20 + ITEM_COMPLETE = 50 + + status = models.IntegerField(default=ITEM_IN_PROGRESS, + choices=[ + (ITEM_IN_PROGRESS, "In progress"), + (ITEM_DAMAGED, "Damaged"), + (ITEM_RETURNED, "Returned"), + (ITEM_COMPLETE, "Complete") + ]) + def __str__(self): return "{n} x {part} @ {loc}".format( n = self.quantity,