|
|
|
|
@ -445,25 +445,24 @@ class License(models.Model): |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs): |
|
|
|
|
now_ = datetime.now() |
|
|
|
|
|
|
|
|
|
if not self.__prev_paid_date and self.paid_date: |
|
|
|
|
max_date_license = License.objects.filter(company=self.company).aggregate(Max('date_to'))['date_to__max'] |
|
|
|
|
|
|
|
|
|
now_ = datetime.now() |
|
|
|
|
if max_date_license < now_.date(): |
|
|
|
|
max_date_license = now_.date() - timedelta(days=1) |
|
|
|
|
|
|
|
|
|
self.date_from = max_date_license + relativedelta(days=1) |
|
|
|
|
self.date_to = self.date_from + relativedelta(months=self.term, days=-1) |
|
|
|
|
|
|
|
|
|
self.company.active = True |
|
|
|
|
self.company.save() |
|
|
|
|
|
|
|
|
|
self.status = consts.LICENSE_PAID |
|
|
|
|
|
|
|
|
|
utils.check_one_profile(self.company, License, now_, manual=True) |
|
|
|
|
|
|
|
|
|
super(License, self).save(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
# дополнительные действия, связанные с сохранением лицензии |
|
|
|
|
utils.check_one_profile(self.company, License, now_, manual=True) |
|
|
|
|
|
|
|
|
|
def set_paid(self, paid_date=None): |
|
|
|
|
self.paid_date = paid_date or date.today() |
|
|
|
|
self.status = consts.LICENSE_PAID |
|
|
|
|
|