[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-bank] branch master updated: abstracting exceptions raising
From: |
gnunet |
Subject: |
[taler-bank] branch master updated: abstracting exceptions raising |
Date: |
Fri, 29 Nov 2019 16:58:08 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
The following commit(s) were added to refs/heads/master by this push:
new 2586131 abstracting exceptions raising
2586131 is described below
commit 258613121ae37015f007b285a5b82af4f09e0db2
Author: Marcello Stanisci <address@hidden>
AuthorDate: Fri Nov 29 16:55:20 2019 +0100
abstracting exceptions raising
---
talerbank/app/schemas.py | 38 ++++++++++++++++++++++++++------------
talerbank/app/views.py | 8 +++-----
2 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/talerbank/app/schemas.py b/talerbank/app/schemas.py
index c3524fa..ed3eb83 100644
--- a/talerbank/app/schemas.py
+++ b/talerbank/app/schemas.py
@@ -126,18 +126,32 @@ class RejectData(forms.Form):
account_number = forms.IntegerField()
-class AddIncomingData(forms.Form):
- auth = AuthField()
- amount = forms.CharField(
- validators=[
- RegexValidator(
- AMOUNT_REGEX, message="Format CURRENCY:X[.Y] not respected"
- )
- ]
- )
- subject = forms.CharField()
- credit_account = forms.IntegerField(min_value=1)
- exchange_url = forms.URLField()
+class AddIncomingData():
+
+ def __init__(self, data):
+ self.inner_form = self.InnerForm(data)
+ if not self.inner_form.is_valid():
+ JSONFieldException(data.errors, 400)
+
+ def get(self, name):
+ ret = self.inner_form.cleaned_data.get(name)
+ # rare / impossible
+ if not ret:
+ raise JSONFieldException(data.errors, 400)
+ return ret
+
+ class InnerForm(forms.Form):
+ auth = AuthField()
+ amount = forms.CharField(
+ validators=[
+ RegexValidator(
+ AMOUNT_REGEX, message="Format CURRENCY:X[.Y] not respected"
+ )
+ ]
+ )
+ subject = forms.CharField()
+ credit_account = forms.IntegerField(min_value=1)
+ exchange_url = forms.URLField()
##
diff --git a/talerbank/app/views.py b/talerbank/app/views.py
index 9186837..c97d86b 100644
--- a/talerbank/app/views.py
+++ b/talerbank/app/views.py
@@ -878,19 +878,17 @@ def reject(request, user_account):
def add_incoming(request, user_account):
data = AddIncomingData(json.loads(decode_body(request)))
- if not data.is_valid():
- raise JSONFieldException(data.errors, 400)
subject = "%s %s" % (
- data.cleaned_data["subject"], data.cleaned_data["exchange_url"]
+ data.get("subject"), data.get("exchange_url")
)
credit_account = BankAccount.objects.get(
- account_no=data.cleaned_data["credit_account"]
+ account_no=data.get("credit_account")
)
wtrans = wire_transfer(
- Amount.parse(data.cleaned_data["amount"]), user_account.bankaccount,
+ Amount.parse(data.get("amount")), user_account.bankaccount,
credit_account, subject
)
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-bank] branch master updated: abstracting exceptions raising,
gnunet <=