diff --git a/apps/payment/views.py b/apps/payment/views.py index 412b5516..d719beb9 100644 --- a/apps/payment/views.py +++ b/apps/payment/views.py @@ -6,7 +6,6 @@ from urllib.parse import urlsplit from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.core.exceptions import DisallowedHost from django.http import HttpResponse from django.shortcuts import redirect, get_object_or_404 from django.views.generic import View, TemplateView @@ -26,6 +25,10 @@ from .models import AuthorBalance, CoursePayment, SchoolPayment logger = logging.getLogger('django') +class DisallowedPingbackHost(Exception): + pass + + @method_decorator(login_required, name='dispatch') class CourseBuySuccessView(TemplateView): template_name = 'payment/course_payment_success.html' @@ -248,5 +251,5 @@ class PaymentwallCallbackView(View): payment.author_balance.save() return HttpResponse('OK') else: - raise DisallowedHost + raise DisallowedPingbackHost return HttpResponse(status=403) diff --git a/apps/school/models.py b/apps/school/models.py index ad9efb2e..f63a2024 100644 --- a/apps/school/models.py +++ b/apps/school/models.py @@ -45,7 +45,7 @@ class SchoolSchedule(models.Model): def is_online(self): end_at = datetime.combine(now().today(), self.start_at) + timedelta(hours=2) - return self.start_at <= now().time() and end_at.time() >= now().time() + return self.start_at <= now().time() and end_at.time() >= now().time() and self.weekday == now().isoweekday() def current_live_lesson(self): now_time = now()