[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] 02/04: glue new db column to models abstractio
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] 02/04: glue new db column to models abstraction |
Date: |
Tue, 31 Oct 2017 15:05:09 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
commit f051ed2238984a60f17d242610b3698750488c49
Author: Marcello Stanisci <address@hidden>
AuthorDate: Mon Oct 30 14:36:29 2017 +0100
glue new db column to models abstraction
---
talerbank/app/models.py | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/talerbank/app/models.py b/talerbank/app/models.py
index e758b92..3bc2008 100644
--- a/talerbank/app/models.py
+++ b/talerbank/app/models.py
@@ -18,6 +18,8 @@
from __future__ import unicode_literals
from django.contrib.auth.models import User
from django.db import models
+from django.conf import settings
+from . import amount
class AmountField(models.Field):
@@ -30,24 +32,26 @@ class AmountField(models.Field):
name, path, args, kwargs = super(AmountField, self).deconstruct()
return name, path, args, kwargs
- def db_type(self):
+ def db_type(self, connection):
return "taleramount"
# Pass stringified object to db connector
def get_prep_value(self, value):
+ if not value:
+ return "%s:0.0" % settings.TALER_CURRENCY
return value.stringify()
def from_db_value(self, value, expression, connection, context):
if None is value:
return value
- return Amount.parse(value)
+ return amount.Amount.parse(value)
def to_python(self, value):
- if isinstance(value, Amount) or None is value:
+ if isinstance(value, amount.Amount) or None is value:
return value
try:
- return Amount.parse(value)
- except BadAmount:
+ return amount.Amount.parse(value)
+ except amount.BadAmount:
raise models.ValidationError()
@@ -69,6 +73,10 @@ class BankAccount(models.Model):
currency = models.CharField(max_length=12, default="")
account_no = models.AutoField(primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
+
+ # EXPERIMENTAL CODE
+ amount = AmountField()
+
def _get_balance(self):
return dict(value=self.balance_value,
fraction=self.balance_fraction,
--
To stop receiving notification emails like this one, please contact
address@hidden