Skip to content

Commit

Permalink
Merge pull request #14 from vincevd1/Merge_anytimers
Browse files Browse the repository at this point in the history
Check for equal anytimers and merges them instead of adding a new one
  • Loading branch information
Luukosaurus authored May 23, 2024
2 parents 8843193 + 00ff997 commit 2c12287
Showing 1 changed file with 40 additions and 8 deletions.
48 changes: 40 additions & 8 deletions server/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,31 @@ def give_any(request, target_id):
data={"message": "You cannot send an anytimer to yourself"}, status=400
)

AnyTimer.objects.create(
anytimers = AnyTimer.objects.filter(
owner_id=target_id,
recipient_id=request.user_id,
owner_name=owner.json()["profile"]["display_name"],
recipient_name=recipient.json()["profile"]["display_name"],
amount=body["amount"],
type=body["type"],
description=body["description"],
)
if anytimers:
sum = int(body["amount"]) # Convert amount to integer
last_anytimer = anytimers.last() # Exclude the last anytimer
for anytimer in anytimers:
sum += anytimer.amount
if anytimer != last_anytimer:
anytimer.delete()
last_anytimer.amount = sum
last_anytimer.save()
else:
AnyTimer.objects.create(
owner_id=target_id,
recipient_id=request.user_id,
owner_name=owner.json()["profile"]["display_name"],
recipient_name=recipient.json()["profile"]["display_name"],
amount=body["amount"],
type=body["type"],
description=body["description"],
)

return Response(status=200)

Expand Down Expand Up @@ -169,15 +185,31 @@ def accept_anytimer(request, request_id):
anytimerrequest = AnyTimerRequest.objects.get(
recipient_id=request.user_id, id=request_id
)
AnyTimer.objects.create(
anytimers = AnyTimer.objects.filter(
owner_id=anytimerrequest.requester_id,
recipient_id=anytimerrequest.recipient_id,
owner_name=anytimerrequest.requester_name,
recipient_name=anytimerrequest.recipient_name,
amount=anytimerrequest.amount,
type=anytimerrequest.type,
description=anytimerrequest.description,
)
if anytimers:
sum = anytimerrequest.amount
last_anytimer = anytimers.last()
for anytimer in anytimers:
sum += anytimer.amount
if anytimer != last_anytimer:
anytimer.delete()
last_anytimer.amount = sum
last_anytimer.save()
else:
AnyTimer.objects.create(
owner_id=anytimerrequest.requester_id,
recipient_id=anytimerrequest.recipient_id,
owner_name=anytimerrequest.requester_name,
recipient_name=anytimerrequest.recipient_name,
amount=anytimerrequest.amount,
type=anytimerrequest.type,
description=anytimerrequest.description,
)
anytimerrequest.delete()
return Response(status=200)

Expand Down

0 comments on commit 2c12287

Please sign in to comment.