diff --git a/project/customer/consts.py b/project/customer/consts.py index e607db5..aec1308 100644 --- a/project/customer/consts.py +++ b/project/customer/consts.py @@ -7,3 +7,22 @@ PROFILE_TYPES = ( (IP_PROFILE, u'Индивидуальный предприниматель'), (ORG_PROFILE, u'Организация'), ) + +LICENSE_STATUSES = ( + (0, u'Не оплачен'), + (1, u'Оплачен'), + (2, u'Активирован'), + (3, u'Заморожен'), +) + +PAYFORMS = ( + (0, u'Безналичный расчёт'), + (1, u'Робокасса'), + (2, u'Квитанция Сбербанка'), +) + +TERMS = ( + (1, u'1 месяц'), + (6, u'6 месяцев'), + (12, u'12 месяцев'), +) diff --git a/project/customer/models.py b/project/customer/models.py index 3f1ac81..afd0d2a 100644 --- a/project/customer/models.py +++ b/project/customer/models.py @@ -14,7 +14,6 @@ BOSS_SIGN_IMG_SIZE = (100, 75) GLAVBUH_SIGN_IMG_SIZE = (100, 75) STAMP_IMG_SIZE = (180, 180) - def get_profile(user): """Возвращает профиль пользователя или None.""" try: @@ -329,3 +328,24 @@ class UserProfileFilters(models.Model): self.show_ip_boss_fio = True self.show_name = True super(UserProfileFilters, self).save(*args, **kwargs) + + +class License(models.Model): + user = models.ForeignKey(User, related_name='licenses', verbose_name=u'пользователь') + term = models.IntegerField(verbose_name=u'срок лицензии') + date_from = models.DateField(u'дата начала', null=True) + date_to = models.DateField(u'дата окончания', null=True) + payform = models.IntegerField(verbose_name=u'форма оплаты', + choices=consts.PAYFORMS, default=0) + status = models.IntegerField(verbose_name=u'статус лицензии', + choices=consts.LICENSE_STATUSES, default=0) + pay_date = models.IntegerField(verbose_name=u'дата оплаты') + pay_sum = models.DecimalField(verbose_name=u'сумма оплаты') + #active = models.BooleanField(u'активный', default=False) + + +class LicensePrice(models.Model): + payform = models.IntegerField(verbose_name=u'форма оплаты', + choices=consts.PAYFORMS) + term = models.IntegerField(verbose_name=u'срок лицензии', + choices=consts.TERMS)