diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-04-08 16:52:20 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-04-08 17:00:43 +0200 |
commit | 90072481161b3361da0af9a13b51a468764c1987 (patch) | |
tree | cbaf72af02b9b1d23a042217d3b1aa677b1c09c4 /talerbank/app/models.py | |
parent | 8bf550786257a83d76f6a2864484a47fb4d1b9e9 (diff) | |
download | bank-90072481161b3361da0af9a13b51a468764c1987.tar.gz bank-90072481161b3361da0af9a13b51a468764c1987.tar.bz2 bank-90072481161b3361da0af9a13b51a468764c1987.zip |
restructure modules
Diffstat (limited to 'talerbank/app/models.py')
-rw-r--r-- | talerbank/app/models.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/talerbank/app/models.py b/talerbank/app/models.py new file mode 100644 index 0000000..45bffdb --- /dev/null +++ b/talerbank/app/models.py @@ -0,0 +1,52 @@ +""" + This file is part of TALER + (C) 2014, 2015, 2016 INRIA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Affero General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> + + @author Marcello Stanisci +""" + +from __future__ import unicode_literals +from django.contrib.auth.models import User +from django.db import models + + +class BankAccount(models.Model): + is_public = models.BooleanField(default=False) + balance = models.FloatField(default=0) + currency = models.CharField(max_length=12, default="") + # this value (below) needs not to be unique in some cases: for + # example when an http and https exchanges want to have the same + # bank account number + account_no = models.AutoField(primary_key=True) + user = models.OneToOneField(User, + on_delete=models.CASCADE) + + +class History(models.Model): + amount = models.FloatField(default=0) + currency = models.CharField(max_length=12) + direction = models.CharField(max_length=4) + counterpart = models.CharField(default="unknown", max_length=200) + subject = models.CharField(default="not given", max_length=200) + date = models.DateField(auto_now=True) + account = models.ForeignKey(BankAccount, on_delete=models.CASCADE) + + def set_balance(self, new_balance): + if isinstance(new_balance, int) or isinstance(new_balance, float): + self.balance = new_balance + else: + print("Not a number given for new balance") + + def push_history(self, obj): + self.history.append(obj) |