mirror of
https://github.com/lemeow125/Borrowing-TrackerBackend.git
synced 2024-11-16 22:09:27 +08:00
Allow update requests for editing only remarks on transactions
This commit is contained in:
parent
7a8281dabd
commit
d9d94c03ef
2 changed files with 4 additions and 4 deletions
Binary file not shown.
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 108 KiB |
|
@ -159,11 +159,11 @@ class TransactionSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
)
|
)
|
||||||
|
|
||||||
# Transaction Status Validation
|
# Transaction Status Validation
|
||||||
# Check if the update involves the transaction status
|
# Check if the update involves changing the transaction status
|
||||||
if 'transaction_status' in validated_data:
|
if 'transaction_status' in validated_data and validated_data.get('transaction_status') != instance.transaction_status:
|
||||||
|
|
||||||
# For already finalized/done transactions (Rejected or Finalized ones)
|
# For already finalized/done transactions (Rejected or Finalized ones)
|
||||||
# Do not allow any changes to already finalized transactions
|
# Do not allow any changes to status for already finalized transactions
|
||||||
if instance.transaction_status in ['Rejected', 'Finalized']:
|
if instance.transaction_status in ['Rejected', 'Finalized']:
|
||||||
raise serializers.ValidationError(
|
raise serializers.ValidationError(
|
||||||
"Unable to update rejected or finalized transaction. Please create a new one"
|
"Unable to update rejected or finalized transaction. Please create a new one"
|
||||||
|
@ -236,7 +236,7 @@ class TransactionSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
)
|
)
|
||||||
|
|
||||||
# If the transaction changes from Borrowed to Finalized and there are no breakages, label the selected equipment's statuses as Available again from Borrowed
|
# If the transaction changes from Borrowed to Finalized and there are no breakages, label the selected equipment's statuses as Available again from Borrowed
|
||||||
if instance.transaction_status == "Borrowed" and validated_data.get('transaction_status') == "Finalized":
|
if instance.transaction_status == "Returned: Pending Checking" and validated_data.get('transaction_status') == "Finalized":
|
||||||
equipments = instance.equipments.all()
|
equipments = instance.equipments.all()
|
||||||
# Iterate through each of those equipment instances and change their status field to "Available"
|
# Iterate through each of those equipment instances and change their status field to "Available"
|
||||||
# This updates the status field of all equipment instances in a single query
|
# This updates the status field of all equipment instances in a single query
|
||||||
|
|
Loading…
Reference in a new issue