Added feature to transfer money to another account + some minor improvements

This commit is contained in:
Julian Müller (ChaoticByte) 2023-04-14 23:47:12 +02:00
parent 2bab323b86
commit 8702233934
11 changed files with 164 additions and 30 deletions

View file

@ -59,30 +59,29 @@ class RegisterTransaction(models.Model):
old_transaction_sum = models.DecimalField(max_digits=6, decimal_places=2, default=0.00)
datetime = models.DateTimeField(default=timezone.now)
is_user_deposit = models.BooleanField(default=False)
is_transfer = models.BooleanField(default=False)
comment = models.TextField(default=" ")
user = models.ForeignKey(User, on_delete=models.CASCADE)
def save(self, *args, **kwargs):
if self._state.adding:
if self.is_user_deposit == True: # update user balance
if self.is_user_deposit or self.is_transfer: # update user balance
self.user.balance += self.transaction_sum
self.user.save()
self.old_transaction_sum = self.transaction_sum
super().save(*args, **kwargs)
else:
# update register transaction
sum_diff = self.transaction_sum - self.old_transaction_sum
# update user balance
if self.is_user_deposit == True:
ub_sum_diff = self.transaction_sum - self.old_transaction_sum
self.user.balance += ub_sum_diff
if self.is_user_deposit or self.is_transfer:
self.user.balance += self.transaction_sum - self.old_transaction_sum
self.user.save()
# update register transaction
self.old_transaction_sum = self.transaction_sum
super().save(*args, **kwargs)
def delete(self, *args, **kwargs):
# update user deposit
if self.is_user_deposit:
if self.is_user_deposit or self.is_transfer:
self.user.balance -= self.transaction_sum
self.user.save()
super().delete(*args, kwargs)