You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

41 lines
1.9 KiB

# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from django.core.cache import cache
from .models import License
def license_check_soon_ends(request):
try:
license_cookie = request.COOKIES.get('close_message_license')
license_15days = cache.get('license_15_%s' % (request.user.username,), None)
days_left = cache.get('days_left_%s' % (request.user.username,), None)
cur_license = cache.get('cur_license_%s' % (request.user.username,), None)
if not days_left or not cur_license:
now = datetime.today()
cur_license = License.objects.filter(company=request.user.profile, date_from__lte=now, date_to__gte=now, status__in=[-1, 1, 2], deleted=False)
if cur_license:
cur_license = cur_license[0]
days_left = (cur_license.date_to - now.date()).days
cache.set('days_left_%s' % (request.user.username,), days_left, 3600)
cache.set('cur_license_%s' % (request.user.username,), cur_license, 3600)
if not license_cookie:
now = datetime.today()
if license_15days is None:
licenses_ends = License.objects.filter(company=request.user.profile, date_to__lte=now + timedelta(15), status__in=[-1, 1, 2], deleted=False)
next_licenses = License.objects.filter(company=request.user.profile, status=1, deleted=False)
if licenses_ends and not next_licenses:
days_to_end = licenses_ends[0].date_to
cache.set('license_15_%s' % (request.user.username,), days_to_end, 3600)
license_15days = days_to_end
else:
license_15days = ''
return {
'license_15days': license_15days,
'license_days': days_left,
'cur_license': cur_license,
}
except Exception as e:
print e
return { }