diff --git a/InvenTree/supplier/models.py b/InvenTree/supplier/models.py index b288be7c2c..bbd0f2df3f 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/supplier/models.py @@ -31,7 +31,7 @@ class SupplierPart(models.Model): - A Part may be available from multiple suppliers """ - part = models.ForeignKey(Part, null=True, blank=True, on_delete=models.CASCADE, related_name='supplier_parts') + part = models.ForeignKey(Part, null=True, blank=True, on_delete=models.CASCADE) supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE) SKU = models.CharField(max_length=100) @@ -41,9 +41,11 @@ class SupplierPart(models.Model): URL = models.URLField(blank=True) description = models.CharField(max_length=250, blank=True) - single_price = models.DecimalField(max_digits=10, - decimal_places=3, - default=0) + # Default price for a single unit + single_price = models.DecimalField(max_digits=10, decimal_places=3, default=0) + + # Base charge added to order independent of quantity e.g. "Reeling Fee" + base_cost = models.DecimalField(max_digits=10, decimal_places=3, default=0) # packaging that the part is supplied in, e.g. "Reel" packaging = models.CharField(max_length=50, blank=True) @@ -51,6 +53,9 @@ class SupplierPart(models.Model): # multiple that the part is provided in multiple = models.PositiveIntegerField(default=1) + # Mimumum number required to order + minimum = models.PositiveIntegerField(default=1) + # lead time for parts that cannot be delivered immediately lead_time = models.DurationField(blank=True, null=True) diff --git a/InvenTree/track/admin.py b/InvenTree/track/admin.py index ac6cf4ca7f..17a3aa6cb2 100644 --- a/InvenTree/track/admin.py +++ b/InvenTree/track/admin.py @@ -4,6 +4,6 @@ from .models import UniquePart class UniquePartAdmin(admin.ModelAdmin): - list_display = ('part', 'revision', 'serial', 'creation_date') + list_display = ('part', 'revision', 'serial', 'status', 'creation_date') admin.site.register(UniquePart, UniquePartAdmin) diff --git a/InvenTree/track/models.py b/InvenTree/track/models.py index 03d159c31e..4fed0fdd60 100644 --- a/InvenTree/track/models.py +++ b/InvenTree/track/models.py @@ -1,5 +1,5 @@ from __future__ import unicode_literals - +from django.utils.translation import ugettext as _ from django.db import models from django.contrib.auth.models import User @@ -36,15 +36,16 @@ class UniquePart(models.Model): PART_DAMAGED = 40 PART_DESTROYED = 50 - status = models.IntegerField(default=PART_IN_PROGRESS, - choices=[ - (PART_IN_PROGRESS, "In progress"), - (PART_IN_STOCK, "In stock"), - (PART_SHIPPED, "Shipped"), - (PART_RETURNED, "Returned"), - (PART_DAMAGED, "Damaged"), - (PART_DESTROYED, "Destroyed"), - ]) + PART_STATUS_CODES = { + PART_IN_PROGRESS: _("In progress"), + PART_IN_STOCK: _("In stock"), + PART_SHIPPED: _("Shipped"), + PART_RETURNED: _("Returned"), + PART_DAMAGED: _("Damaged"), + PART_DESTROYED: _("Destroyed") + } + + status = models.IntegerField(default=PART_IN_PROGRESS, choices=PART_STATUS_CODES.items()) def __str__(self): return self.part.name