diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 160e348dbb..85dc275690 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -12,11 +12,14 @@ import common.models INVENTREE_SW_VERSION = "0.7.0 dev" # InvenTree API version -INVENTREE_API_VERSION = 30 +INVENTREE_API_VERSION = 31 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v31 -> 2022-03-14 + - Adds "updated" field to SupplierPriceBreakList and SupplierPriceBreakDetail API endpoints + v30 -> 2022-03-09 - Adds "exclude_location" field to BuildAutoAllocation API endpoint - Allows BuildItem API endpoint to be filtered by BomItem relation diff --git a/InvenTree/company/migrations/0042_supplierpricebreak_updated.py b/InvenTree/company/migrations/0042_supplierpricebreak_updated.py new file mode 100644 index 0000000000..cf0788fe4e --- /dev/null +++ b/InvenTree/company/migrations/0042_supplierpricebreak_updated.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-03-14 22:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0041_alter_company_options'), + ] + + operations = [ + migrations.AddField( + model_name='supplierpricebreak', + name='updated', + field=models.DateTimeField(auto_now=True, null=True, verbose_name='last updated'), + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index ef3c8aad2e..f72668f9f0 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -693,6 +693,7 @@ class SupplierPriceBreak(common.models.PriceBreak): Attributes: part: Link to a SupplierPart object that this price break applies to + updated: Automatic DateTime field that shows last time the price break was updated quantity: Quantity required for price break cost: Cost at specified quantity currency: Reference to the currency of this pricebreak (leave empty for base currency) @@ -704,6 +705,8 @@ class SupplierPriceBreak(common.models.PriceBreak): part = models.ForeignKey(SupplierPart, on_delete=models.CASCADE, related_name='pricebreaks', verbose_name=_('Part'),) + updated = models.DateTimeField(auto_now=True, null=True, verbose_name=_('last updated')) + class Meta: unique_together = ("part", "quantity") diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 6efebce6a0..736e379c8a 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -278,4 +278,5 @@ class SupplierPriceBreakSerializer(InvenTreeModelSerializer): 'quantity', 'price', 'price_currency', + 'updated', ] diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 44e6756845..67902dc6f6 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -268,6 +268,14 @@ $('#price-break-table').inventreeTable({ return html; } }, + { + field: 'updated', + title: '{% trans "Last updated" %}', + sortable: true, + formatter: function(value) { + return renderDate(value); + } + }, ] }); @@ -349,4 +357,4 @@ $('#delete-part').click(function() { enableSidebar('supplierpart'); -{% endblock %} \ No newline at end of file +{% endblock %}