diff --git a/InvenTree/InvenTree/fields.py b/InvenTree/InvenTree/fields.py index d521d48cc7..6c62aacb9d 100644 --- a/InvenTree/InvenTree/fields.py +++ b/InvenTree/InvenTree/fields.py @@ -63,10 +63,15 @@ class InvenTreeModelMoneyField(ModelMoneyField): # Set a minimum value validator validators = kwargs.get('validators', []) + allow_negative = kwargs.pop('allow_negative', False) + + # If no validators are provided, add some "standard" ones if len(validators) == 0: - validators.append( - MinMoneyValidator(0), - ) + + if not allow_negative: + validators.append( + MinMoneyValidator(0), + ) kwargs['validators'] = validators diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index ff5ef4e60b..5206a54997 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -957,6 +957,7 @@ class OrderExtraLine(OrderLineItem): max_digits=19, decimal_places=4, null=True, blank=True, + allow_negative=True, verbose_name=_('Price'), help_text=_('Unit price'), )