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:
@ -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
|
||||
|
@ -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):
|
||||
|
Reference in New Issue
Block a user