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.3 KiB
41 lines
1.3 KiB
from django.db.models import Func, F
|
|
from django.utils.timezone import now
|
|
from paymentwall.pingback import Pingback
|
|
|
|
from apps.config.models import Config
|
|
from apps.content.models import Baner
|
|
from apps.payment.models import SchoolPayment
|
|
|
|
|
|
def config(request):
|
|
return {"config": Config.load()}
|
|
|
|
|
|
def baner(request):
|
|
return {'baner': Baner.objects.filter(use=True).first()}
|
|
|
|
|
|
def school_purchased(request):
|
|
if request.user.is_authenticated:
|
|
n = now().date()
|
|
school_payment = SchoolPayment.objects.filter(
|
|
user=request.user,
|
|
status__in=[
|
|
Pingback.PINGBACK_TYPE_REGULAR,
|
|
Pingback.PINGBACK_TYPE_GOODWILL,
|
|
Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED,
|
|
],
|
|
date_start__lte=n,
|
|
date_end__gte=n
|
|
)
|
|
school_schedules_purchased = school_payment.annotate(
|
|
joined_weekdays=Func(F('weekdays'), function='unnest', )
|
|
).values_list('joined_weekdays', flat=True).distinct()
|
|
return {
|
|
'is_school_purchased': school_payment.exists(),
|
|
'school_schedules_purchased': school_schedules_purchased,
|
|
}
|
|
return {
|
|
'is_school_purchased': False,
|
|
'school_schedules_purchased': [],
|
|
}
|
|
|