Added feature to transfer money to another account + some minor improvements
This commit is contained in:
parent
2bab323b86
commit
8702233934
11 changed files with 164 additions and 30 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue