From d734c306580f66e627e5b358edeb1ce392ac606f Mon Sep 17 00:00:00 2001 From: bashmak Date: Tue, 11 Apr 2017 13:53:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=81=D0=BF=D0=BE=D1=80=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abonapp/forms.py | 16 ++++++++++++++++ abonapp/models.py | 11 +++++++++++ 2 files changed, 27 insertions(+) diff --git a/abonapp/forms.py b/abonapp/forms.py index 4d3e3e0..cb32d01 100644 --- a/abonapp/forms.py +++ b/abonapp/forms.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from datetime import datetime from django.utils.translation import ugettext as _ from django import forms from django.contrib.auth.hashers import make_password @@ -96,3 +97,18 @@ class AbonGroupForm(forms.ModelForm): 'title': forms.TextInput(attrs={'class': 'form-control'}), 'profiles': forms.TextInput(attrs={'class': 'form-control'}) } + + +class PassportForm(forms.ModelForm): + class Meta: + model = models.PassportInfo + exclude = ['abon'] + widgets = { + 'series': forms.TextInput(attrs={'class': 'form-control', 'required': '', 'pattern': '^\d{4}$'}), + 'number': forms.TextInput(attrs={'class': 'form-control', 'required': '', 'pattern': '^\d{6}$'}), + 'distributor': forms.TextInput(attrs={'class': 'form-control', 'required': ''}), + 'date_of_acceptance': forms.DateInput(attrs={'class': 'form-control', 'required': ''}) + } + initials = { + 'date_of_acceptance': datetime(year=2014, month=6, day=1) + } diff --git a/abonapp/models.py b/abonapp/models.py index 0ac7d09..2a9ae6c 100644 --- a/abonapp/models.py +++ b/abonapp/models.py @@ -335,6 +335,17 @@ class Abon(UserProfile): return AbonStruct(self.pk, user_ip, agent_trf, bool(self.is_active)) +class PassportInfo(models.Model): + series = models.CharField(max_length=4, validators=[validators.integer_validator]) + number = models.CharField(max_length=6, validators=[validators.integer_validator]) + distributor = models.CharField(max_length=64) + date_of_acceptance = models.DateField() + abon = models.OneToOneField(Abon, on_delete=models.SET_NULL, blank=True, null=True) + + def __unicode__(self): + return "%s %s" % (self.series, self.number) + + class InvoiceForPayment(models.Model): abon = models.ForeignKey(Abon) status = models.BooleanField(default=False)