From f432ffc70b7a2f49b41033cbc15191a3eb5f750e Mon Sep 17 00:00:00 2001 From: Sebastian Lohff Date: Tue, 25 Oct 2011 19:41:02 +0200 Subject: [PATCH] Fixed race condition when transacting to own user --- k4ever/transaction/models.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/k4ever/transaction/models.py b/k4ever/transaction/models.py index 7474ec7..5108374 100644 --- a/k4ever/transaction/models.py +++ b/k4ever/transaction/models.py @@ -59,13 +59,14 @@ class VirtualTransaction(models.Model): @staticmethod def moveMoney(fromUser, toUser, amount, commit=True): - fromProfile = fromUser.get_profile() - toProfile = toUser.get_profile() - fromProfile.balance -= amount - toProfile.balance += amount - if commit: - fromProfile.save() - toProfile.save() + if fromUser != toUser: + fromProfile = fromUser.get_profile() + toProfile = toUser.get_profile() + fromProfile.balance -= amount + toProfile.balance += amount + if commit: + fromProfile.save() + toProfile.save() def save(self, *args, **kwargs): if self.user and self.recipient: