|
|
|
|
@ -415,11 +415,15 @@ class UserProfileFilters(models.Model): |
|
|
|
|
|
|
|
|
|
class License(models.Model): |
|
|
|
|
company = models.ForeignKey(UserProfile, related_name='licenses', verbose_name=u'пользователь') |
|
|
|
|
|
|
|
|
|
term = models.IntegerField(u'срок лицензии', choices=consts.LICENSE_TERMS) |
|
|
|
|
|
|
|
|
|
date_from = models.DateField(u'дата начала', null=True, blank=True) |
|
|
|
|
date_to = models.DateField(u'дата окончания', null=True, blank=True) |
|
|
|
|
|
|
|
|
|
payform = models.IntegerField(u'форма оплаты', choices=consts.PAYFORMS, default=consts.PAYFORM_BEZNAL) |
|
|
|
|
status = models.IntegerField(u'статус лицензии', choices=consts.LICENSE_STATUSES, blank=True, null=True, default=None) |
|
|
|
|
|
|
|
|
|
order_status = models.IntegerField(u'статус заказа', choices=consts.ORDER_STATUSES, blank=True, null=True, default=None) |
|
|
|
|
order_date = models.DateField(u'дата заказа', auto_now_add=True) |
|
|
|
|
paid_date = models.DateField(u'дата оплаты', null=True, blank=True) |
|
|
|
|
@ -462,7 +466,7 @@ class License(models.Model): |
|
|
|
|
# если `дата оплаты` задана только что |
|
|
|
|
if not self.__prev_paid_date and self.paid_date: |
|
|
|
|
self.set_period(now_) |
|
|
|
|
self.status = consts.LICENSE_PAID |
|
|
|
|
self.order_status = consts.ORDER_PAID |
|
|
|
|
|
|
|
|
|
super(License, self).save(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
@ -484,7 +488,7 @@ class License(models.Model): |
|
|
|
|
self.date_to = self.date_from + relativedelta(months=self.term, days=-1) |
|
|
|
|
|
|
|
|
|
def set_paid(self): |
|
|
|
|
self.status = consts.LICENSE_PAID |
|
|
|
|
self.order_status = consts.ORDER_PAID |
|
|
|
|
|
|
|
|
|
def get_company(self): |
|
|
|
|
return self.company.get_company_name() |
|
|
|
|
@ -514,7 +518,7 @@ class License(models.Model): |
|
|
|
|
return u'%s %s' % (self.term, numeral.choose_plural(self.term, u"месяц, месяца, месяцев"),) |
|
|
|
|
|
|
|
|
|
def get_paid_status(self): |
|
|
|
|
if self.status == consts.LICENSE_PAID: |
|
|
|
|
if self.order_status == consts.ORDER_PAID: |
|
|
|
|
return u'Лицензия оплачена, ещё не активирована' |
|
|
|
|
|
|
|
|
|
elif self.status in [consts.LICENSE_ACTIVE, consts.LICENSE_TEST_PERIOD]: |
|
|
|
|
|