From da9f393a5290962cb77b8e10b73fa24c9ed88292 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Tue, 14 Jan 2020 21:28:23 +0300 Subject: [PATCH 1/3] try to fix issue w/ filters --- apps/search_indexes/filters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/search_indexes/filters.py b/apps/search_indexes/filters.py index 63f1dbb8..6216b4dc 100644 --- a/apps/search_indexes/filters.py +++ b/apps/search_indexes/filters.py @@ -108,9 +108,9 @@ class CustomFacetedSearchFilterBackend(FacetedSearchFilterBackend): tag_facets = [] preserve_ids = [] facet_name = '_filter_' + __field - all_tag_categories = TagCategoryDocument.search() \ + all_tag_categories = list(TagCategoryDocument.search() \ .filter('term', public=True) \ - .filter(Q('term', value_type=TagCategory.LIST) | Q('match', index_name='wine-color')) + .filter(Q('term', value_type=TagCategory.LIST) | Q('match', index_name='wine-color'))[0:100000]) for category in all_tag_categories: tags_to_remove = list(map(lambda t: str(t.id), category.tags)) qs = queryset.__copy__() From 2492000ae604fbdf3354516111f3e3d452e343c6 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Tue, 14 Jan 2020 21:30:21 +0300 Subject: [PATCH 2/3] try to fix issue w/ filters --- apps/search_indexes/filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/search_indexes/filters.py b/apps/search_indexes/filters.py index 6216b4dc..988b8a54 100644 --- a/apps/search_indexes/filters.py +++ b/apps/search_indexes/filters.py @@ -110,7 +110,7 @@ class CustomFacetedSearchFilterBackend(FacetedSearchFilterBackend): facet_name = '_filter_' + __field all_tag_categories = list(TagCategoryDocument.search() \ .filter('term', public=True) \ - .filter(Q('term', value_type=TagCategory.LIST) | Q('match', index_name='wine-color'))[0:100000]) + .filter(Q('term', value_type=TagCategory.LIST) | Q('match', index_name='wine-color'))[0:1000]) for category in all_tag_categories: tags_to_remove = list(map(lambda t: str(t.id), category.tags)) qs = queryset.__copy__() From 42190e0e288dd9372151c274391970c01634a8a9 Mon Sep 17 00:00:00 2001 From: dormantman Date: Tue, 14 Jan 2020 21:57:57 +0300 Subject: [PATCH 3/3] Fix for front auth --- apps/authorization/serializers/common.py | 12 +++++++----- apps/utils/methods.py | 13 +++++++++---- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/apps/authorization/serializers/common.py b/apps/authorization/serializers/common.py index 4ebc1c99..ab1dc00d 100644 --- a/apps/authorization/serializers/common.py +++ b/apps/authorization/serializers/common.py @@ -43,11 +43,6 @@ class SignupSerializer(serializers.ModelSerializer): if account_models.User.objects.filter(username__iexact=value).exists(): raise serializers.ValidationError() - else: - value = utils_methods.username_random() - while account_models.User.objects.filter(username__iexact=value).exists(): - value = utils_methods.username_random() - return value def validate_email(self, value): @@ -67,6 +62,13 @@ class SignupSerializer(serializers.ModelSerializer): def create(self, validated_data): """Overridden create method""" + + username = validated_data.get('username') + if not username: + username = utils_methods.username_random() + while account_models.User.objects.filter(username__iexact=username).exists(): + username = utils_methods.username_random() + obj = account_models.User.objects.make( username=validated_data.get('username'), password=validated_data.get('password'), diff --git a/apps/utils/methods.py b/apps/utils/methods.py index 71101a9e..4928382f 100644 --- a/apps/utils/methods.py +++ b/apps/utils/methods.py @@ -3,9 +3,8 @@ import logging import random import re import string -from io import BytesIO -from PIL import Image from collections import namedtuple +from io import BytesIO import requests from django.conf import settings @@ -13,6 +12,7 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.gis.geos import Point from django.http.request import HttpRequest from django.utils.timezone import datetime +from PIL import Image from rest_framework import status from rest_framework.request import Request @@ -57,9 +57,14 @@ def username_validator(username: str) -> bool: def username_random(): """Generate random username""" - return '{letters}{digits}'.format( - letters=''.join([random.choice(string.ascii_lowercase) for _ in range(5)]), + username = list('{letters}{digits}'.format( + letters=''.join([random.choice(string.ascii_lowercase) for _ in range(4)]), digits=random.randrange(100, 1000) + )) + random.shuffle(username) + return '{first}{username}'.format( + first=random.choice(string.ascii_lowercase), + username=''.join(username) )