1.1.3 autoextension and autofinish subscribes

This commit is contained in:
SDE
2024-05-31 15:03:15 +03:00
parent 11bbfd0e73
commit dbfc39639b
6 changed files with 89 additions and 4 deletions

View File

@@ -2,7 +2,7 @@ from django.db import models
from BaseModels.base_models import BaseModel
from django.utils.translation import gettext_lazy as _
from colorfield.fields import ColorField
from datetime import datetime, timedelta
# options_list 29.05.2024
# СМС уведомления
@@ -80,9 +80,28 @@ class SubscribeForUser(BaseModel):
res += f' {str(self.id)}'
return res
def activate(self):
def get_days_to_finish(self):
days = (self.paid_period_to_DT - datetime.now()).days
return days
def extension(self, order=None):
if not order and self.subscribe.price > 0:
return {'error': 'not paid'}
if self.subscribe.price == 0:
self.activate(
paid_period_from_DT=datetime.now(),
paid_period_to_DT=datetime.now() + timedelta(hours=self.subscribe.period)
)
def activate(self, paid_period_from_DT=None, paid_period_to_DT=None):
self.enable = True
self.save(update_fields=['enable'])
if paid_period_from_DT:
self.paid_period_from_DT = paid_period_from_DT
if paid_period_to_DT:
self.paid_period_to_DT = paid_period_to_DT
self.save()
subscribes_for_user = SubscribeForUser.objects.filter(
user=self.user