Merge branch 'develop' of ssh://gl.id-east.ru:222/gm/gm-backend into develop
This commit is contained in:
commit
0f142d3870
|
|
@ -27,5 +27,5 @@ def recalculate_price_levels_by_country(country_id):
|
||||||
|
|
||||||
@periodic_task(run_every=crontab(minute=59))
|
@periodic_task(run_every=crontab(minute=59))
|
||||||
def rebuild_establishment_indices():
|
def rebuild_establishment_indices():
|
||||||
management.call_command(search_index.Command(), action='rebuild', models=[models.Establishment.__name__],
|
management.call_command(search_index.Command(), action='populate', models=[models.Establishment.__name__],
|
||||||
force=True)
|
force=True)
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,10 @@ class NewsDetailView(NewsMixinView, generics.RetrieveAPIView):
|
||||||
lookup_field = 'slug'
|
lookup_field = 'slug'
|
||||||
serializer_class = serializers.NewsDetailWebSerializer
|
serializer_class = serializers.NewsDetailWebSerializer
|
||||||
|
|
||||||
queryset = models.News.objects.all()
|
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.queryset
|
"""Override get_queryset method."""
|
||||||
|
qs = models.News.objects.all().annotate_in_favorites(self.request.user)
|
||||||
|
return qs
|
||||||
|
|
||||||
|
|
||||||
class NewsTypeListView(generics.ListAPIView):
|
class NewsTypeListView(generics.ListAPIView):
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,39 @@
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
from transfer.models import EmailAddresses
|
from transfer.models import EmailAddresses, NewsletterSubscriber
|
||||||
from transfer.serializers.notification import SubscriberSerializer
|
from transfer.serializers.notification import SubscriberSerializer, NewsletterSubscriberSerializer
|
||||||
|
|
||||||
|
|
||||||
def transfer_subscriber():
|
def transfer_subscriber():
|
||||||
queryset = EmailAddresses.objects.filter(state="usable")
|
queryset = EmailAddresses.objects.filter(state='usable')
|
||||||
|
|
||||||
serialized_data = SubscriberSerializer(data=list(queryset.values()), many=True)
|
serialized_data = SubscriberSerializer(data=list(queryset.values()), many=True)
|
||||||
|
|
||||||
if serialized_data.is_valid():
|
if serialized_data.is_valid():
|
||||||
serialized_data.save()
|
serialized_data.save()
|
||||||
else:
|
else:
|
||||||
pprint(f"News serializer errors: {serialized_data.errors}")
|
pprint(f'News serializer errors: {serialized_data.errors}')
|
||||||
|
|
||||||
|
|
||||||
def transfer_newsletter_subscriber():
|
def transfer_newsletter_subscriber():
|
||||||
pass
|
queryset = NewsletterSubscriber.objects.all().values(
|
||||||
|
'id',
|
||||||
|
'email_address__email',
|
||||||
|
'email_address__account_id',
|
||||||
|
'email_address__ip',
|
||||||
|
'email_address__country_code',
|
||||||
|
'email_address__locale',
|
||||||
|
'created_at',
|
||||||
|
)
|
||||||
|
|
||||||
|
serialized_data = NewsletterSubscriberSerializer(data=list(queryset.values()), many=True)
|
||||||
|
if serialized_data.is_valid():
|
||||||
|
serialized_data.save()
|
||||||
|
else:
|
||||||
|
pprint(f'NewsletterSubscriber serializer errors: {serialized_data.errors}')
|
||||||
|
|
||||||
|
|
||||||
data_types = {
|
data_types = {
|
||||||
"subscriber": [transfer_subscriber]
|
'subscriber': [transfer_subscriber],
|
||||||
|
'newsletter_subscriber': [transfer_newsletter_subscriber],
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ class Command(BaseCommand):
|
||||||
'assemblage',
|
'assemblage',
|
||||||
'rating_count',
|
'rating_count',
|
||||||
'product_review',
|
'product_review',
|
||||||
|
'newsletter_subscriber', # подписчики на рассылку - переносить после переноса пользователей №1
|
||||||
]
|
]
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
|
|
|
||||||
|
|
@ -33,3 +33,47 @@ class SubscriberSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def get_country_code(self, obj):
|
def get_country_code(self, obj):
|
||||||
return obj["country_code"]
|
return obj["country_code"]
|
||||||
|
|
||||||
|
|
||||||
|
class NewsletterSubscriberSerializer(serializers.Serializer):
|
||||||
|
id = serializers.IntegerField()
|
||||||
|
email_address__email = serializers.CharField()
|
||||||
|
email_address__account_id = serializers.IntegerField(allow_null=True)
|
||||||
|
email_address__ip = serializers.CharField(allow_null=True)
|
||||||
|
email_address__country_code = serializers.CharField(allow_null=True)
|
||||||
|
email_address__locale = serializers.CharField(allow_null=True)
|
||||||
|
created_at = serializers.DateTimeField(format='%m-%d-%Y %H:%M:%S')
|
||||||
|
|
||||||
|
# def validate(self, data):
|
||||||
|
# data.update({
|
||||||
|
# 'reviewer': self.get_reviewer(data),
|
||||||
|
# 'status': Review.READY if data['aasm_state'] == 'published' else Review.TO_INVESTIGATE,
|
||||||
|
# 'published_at': data.pop('created_at'),
|
||||||
|
# 'old_id': data.pop('id'),
|
||||||
|
# 'content_object': self.get_establishment(data),
|
||||||
|
# })
|
||||||
|
# data.pop('reviewer_id')
|
||||||
|
# data.pop('establishment_id')
|
||||||
|
# data.pop('aasm_state')
|
||||||
|
# return data
|
||||||
|
#
|
||||||
|
# def create(self, validated_data):
|
||||||
|
# obj, _ = Review.objects.update_or_create(
|
||||||
|
# old_id=validated_data['old_id'],
|
||||||
|
# defaults=validated_data,
|
||||||
|
# )
|
||||||
|
# return obj
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def get_reviewer(data):
|
||||||
|
# user = User.objects.filter(old_id=data['reviewer_id']).first()
|
||||||
|
# if not user:
|
||||||
|
# raise ValueError(f"User account not found with old_id {data['reviewer_id']}")
|
||||||
|
# return user
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def get_establishment(data):
|
||||||
|
# establishment = Establishment.objects.filter(old_id=data['establishment_id']).first()
|
||||||
|
# if not establishment:
|
||||||
|
# raise ValueError(f"Establishment not found with old_id {data['establishment_id']}: ")
|
||||||
|
# return establishment
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,5 @@ PyYAML==5.1.2
|
||||||
|
|
||||||
# temp solution
|
# temp solution
|
||||||
redis==3.2.0
|
redis==3.2.0
|
||||||
amqp>=2.4.0
|
kombu==4.6.6
|
||||||
|
celery==4.3.0
|
||||||
kombu==4.5.0
|
|
||||||
celery==4.3.0rc2
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user