-
Notifications
You must be signed in to change notification settings - Fork 0
/
forms.py
48 lines (40 loc) · 1.43 KB
/
forms.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# coding: utf-8
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import absolute_import
from __future__ import division
from django import forms
from onpay.models import Order
from dateutil.parser import parse
CURRENCY_CHOICES = (
('RUR', 'RUR'),
('TST', 'TST'),
)
class CheckForm(forms.Form):
TYPE_CHOICES = (
('check', 'check'),
('pay', 'payment'),
)
type = forms.ChoiceField(choices=TYPE_CHOICES)
md5 = forms.CharField()
order_currency = forms.ChoiceField(choices=CURRENCY_CHOICES)
order_amount = forms.FloatField()
amount = forms.FloatField()
pay_for = forms.ModelChoiceField(queryset=Order.objects.all())
class PayForm(CheckForm):
balance_amount = forms.FloatField()
paid_amount = forms.FloatField()
paymentDateTime = forms.CharField()
onpay_id = forms.IntegerField()
user_phone = forms.CharField(required=False)
balance_currency = forms.ChoiceField(choices=CURRENCY_CHOICES)
note = forms.CharField(required=False)
exchange_rate = forms.FloatField()
protection_code = forms.CharField(required=False)
day_to_expiry = forms.CharField(required=False)
user_email = forms.EmailField()
def clean_paymentDateTime(self):
try:
return parse(self.cleaned_data['paymentDateTime'])
except (ValueError, TypeError):
raise forms.ValidationError('Wrong paymentDateTime value')