2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-17 12:35:46 +00:00

More stuff:

- Pass tracking number through when completing a shipment
- Reload tables automatically when certain actions are performed
- Limit stock items to only those with available stock
This commit is contained in:
Oliver
2021-12-02 21:59:59 +11:00
parent d5ace1a8da
commit e74e7138a9
4 changed files with 29 additions and 6 deletions

View File

@ -956,7 +956,7 @@ class SalesOrderShipment(models.Model):
raise ValidationError(_("Shipment has no allocated stock items"))
@transaction.atomic
def complete_shipment(self, user):
def complete_shipment(self, user, **kwargs):
"""
Complete this particular shipment:
@ -979,6 +979,13 @@ class SalesOrderShipment(models.Model):
# Update the "shipment" date
self.shipment_date = datetime.now()
self.shipped_by = user
# Was a tracking number provided?
tracking_number = kwargs.get('tracking_number', None)
if tracking_number is not None:
self.tracking_number = tracking_number
self.save()
# Finally, check if the order is fully shipped

View File

@ -654,7 +654,10 @@ class SalesOrderShipmentCompleteSerializer(serializers.ModelSerializer):
request = self.context['request']
user = request.user
shipment.complete_shipment(user)
# Extract provided tracking number (optional)
tracking_number = data.get('tracking_number', None)
shipment.complete_shipment(user, tracking_number=tracking_number)
class SOShipmentAllocationItemSerializer(serializers.Serializer):