From ad002c15c135e1f6e89190704160235630515733 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 10 May 2018 16:17:03 +0300 Subject: [PATCH 1/4] Fix _create_user --- apps/user/models.py | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/user/models.py b/apps/user/models.py index fd94ab81..6adf6cf4 100644 --- a/apps/user/models.py +++ b/apps/user/models.py @@ -24,7 +24,6 @@ class UserManager(BaseUserManager): username = email if not password: password = self.make_random_password() - super().save(*args, **kwargs) email = self.normalize_email(email) username = self.model.normalize_username(username) user = self.model(username=username, email=email, **extra_fields) From b41f8b627fddb3061e09bdeca7f26a8c774cf5a0 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 10 May 2018 17:12:53 +0300 Subject: [PATCH 2/4] Add DisallowedPingbackHost exception --- apps/payment/views.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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) From 12a3d528e8c5f3619a220dbe2471736a6883980a Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 10 May 2018 17:26:02 +0300 Subject: [PATCH 3/4] Fix online --- apps/school/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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() From b261ee692dfb3cd47d52db03285291e97b507059 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 10 May 2018 17:41:18 +0300 Subject: [PATCH 4/4] Fix update photo from fb --- apps/auth/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/auth/views.py b/apps/auth/views.py index 4e173b1b..77f3a37f 100644 --- a/apps/auth/views.py +++ b/apps/auth/views.py @@ -1,3 +1,5 @@ +import os + from uuid import uuid4 from urllib.parse import urlsplit @@ -182,7 +184,7 @@ class FacebookLoginOrRegistration(View): login(requests, user=user) return JsonResponse({"success": True}) else: - if not user.photo and photo_data: + if (not user.photo or (user.photo and not os.path.isfile(user.photo.path))) and photo_data: photo = ContentFile(photo_data) fname = str(fb_id) + '.jpg' user.photo.save(fname, photo, save=True)