From 752b70c1f7e5ca63db6d58dca00f6aa068bc21d9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Mar 2022 23:22:29 +0100 Subject: [PATCH 1/6] Add "last updated" field to supplier price break Add model Fixes #1697 --- .../0042_supplierpricebreak_updated.py | 18 ++++++++++++++++++ InvenTree/company/models.py | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 InvenTree/company/migrations/0042_supplierpricebreak_updated.py 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..52cf1cd122 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -686,7 +686,7 @@ class SupplierPart(models.Model): return s -class SupplierPriceBreak(common.models.PriceBreak): +class SupplierPriceBreak(common.models.PriceBreak): """ Represents a quantity price break for a SupplierPart. - Suppliers can offer discounts at larger quantities - SupplierPart(s) may have zero-or-more associated SupplierPriceBreak(s) @@ -704,6 +704,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") From ef8c656b4f8b5424f621c157865c4596ee710193 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Mar 2022 23:24:37 +0100 Subject: [PATCH 2/6] update API endpoint --- InvenTree/InvenTree/version.py | 5 ++++- InvenTree/company/serializers.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 19373e930c..7314145072 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/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', ] From 1c9a29dfb8004b618c59ddd696e2f948ac30e53b Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Mar 2022 23:28:42 +0100 Subject: [PATCH 3/6] add new 'updated' field to supplier price break table --- InvenTree/company/templates/company/supplier_part.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 44e6756845..ee2e0e8a86 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -268,6 +268,11 @@ $('#price-break-table').inventreeTable({ return html; } }, + { + field: 'updated', + title: '{% trans "Last updated" %}', + sortable: true, + }, ] }); From f72979f2df0b56cef0bae9cf2d17be9c936abcfc Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Mar 2022 23:30:37 +0100 Subject: [PATCH 4/6] add doc-text --- InvenTree/company/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 52cf1cd122..06a44583f7 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) From cba0ca26ba30884f72a81bb9b77ecde84be76c97 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 14 Mar 2022 23:34:34 +0100 Subject: [PATCH 5/6] PEP fix --- InvenTree/company/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 06a44583f7..f72668f9f0 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -686,7 +686,7 @@ class SupplierPart(models.Model): return s -class SupplierPriceBreak(common.models.PriceBreak): +class SupplierPriceBreak(common.models.PriceBreak): """ Represents a quantity price break for a SupplierPart. - Suppliers can offer discounts at larger quantities - SupplierPart(s) may have zero-or-more associated SupplierPriceBreak(s) From e4c293f721f57537262939896479219a98482665 Mon Sep 17 00:00:00 2001 From: Matthias Mair <66015116+matmair@users.noreply.github.com> Date: Tue, 15 Mar 2022 13:43:41 +0100 Subject: [PATCH 6/6] fix formatter --- InvenTree/company/templates/company/supplier_part.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index ee2e0e8a86..67902dc6f6 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -272,6 +272,9 @@ $('#price-break-table').inventreeTable({ field: 'updated', title: '{% trans "Last updated" %}', sortable: true, + formatter: function(value) { + return renderDate(value); + } }, ] }); @@ -354,4 +357,4 @@ $('#delete-part').click(function() { enableSidebar('supplierpart'); -{% endblock %} \ No newline at end of file +{% endblock %}