From 570010b99c745d58497c3c9d71cb223f2f33d2db Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 31 Mar 2020 21:23:57 +1100 Subject: [PATCH] Change POLineItem quantity to a rounding decimal field --- InvenTree/order/forms.py | 3 +++ .../migrations/0017_auto_20200331_1000.py | 20 +++++++++++++++++++ InvenTree/order/models.py | 3 ++- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 InvenTree/order/migrations/0017_auto_20200331_1000.py diff --git a/InvenTree/order/forms.py b/InvenTree/order/forms.py index 4bf73aa6de..05cedd9ad3 100644 --- a/InvenTree/order/forms.py +++ b/InvenTree/order/forms.py @@ -11,6 +11,7 @@ from django.utils.translation import ugettext as _ from mptt.fields import TreeNodeChoiceField from InvenTree.forms import HelperForm +from InvenTree.fields import RoundingDecimalFormField from stock.models import StockLocation from .models import PurchaseOrder, PurchaseOrderLineItem, PurchaseOrderAttachment @@ -88,6 +89,8 @@ class EditPurchaseOrderAttachmentForm(HelperForm): class EditPurchaseOrderLineItemForm(HelperForm): """ Form for editing a PurchaseOrderLineItem object """ + quantity = RoundingDecimalFormField(max_digits=10, decimal_places=5) + class Meta: model = PurchaseOrderLineItem fields = [ diff --git a/InvenTree/order/migrations/0017_auto_20200331_1000.py b/InvenTree/order/migrations/0017_auto_20200331_1000.py new file mode 100644 index 0000000000..d548891aa4 --- /dev/null +++ b/InvenTree/order/migrations/0017_auto_20200331_1000.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.10 on 2020-03-31 10:00 + +import InvenTree.fields +import django.core.validators +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0016_purchaseorderattachment'), + ] + + operations = [ + migrations.AlterField( + model_name='purchaseorderlineitem', + name='quantity', + field=InvenTree.fields.RoundingDecimalField(decimal_places=5, default=1, help_text='Item quantity', max_digits=15, validators=[django.core.validators.MinValueValidator(0)]), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index f14065973e..88f1a8d188 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -20,6 +20,7 @@ from datetime import datetime from stock.models import StockItem from company.models import Company, SupplierPart +from InvenTree.fields import RoundingDecimalField from InvenTree.helpers import decimal2string from InvenTree.status_codes import OrderStatus from InvenTree.models import InvenTreeAttachment @@ -264,7 +265,7 @@ class OrderLineItem(models.Model): class Meta: abstract = True - quantity = models.DecimalField(max_digits=15, decimal_places=5, validators=[MinValueValidator(0)], default=1, help_text=_('Item quantity')) + quantity = RoundingDecimalField(max_digits=15, decimal_places=5, validators=[MinValueValidator(0)], default=1, help_text=_('Item quantity')) reference = models.CharField(max_length=100, blank=True, help_text=_('Line item reference'))