From 1fc0627ca9a678ea731d5db124deabc3eb9f43b2 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Mon, 27 Jan 2020 21:10:26 +0300 Subject: [PATCH] email superuser --- apps/account/serializers/common.py | 37 +++++++++++++++++------------- apps/news/views.py | 1 - 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/apps/account/serializers/common.py b/apps/account/serializers/common.py index a537c1bf..2a67e5c1 100644 --- a/apps/account/serializers/common.py +++ b/apps/account/serializers/common.py @@ -139,22 +139,27 @@ class UserSerializer(serializers.ModelSerializer): new_email = validated_data.get('email') old_email = instance.email instance = super().update(instance, validated_data) - if new_email and new_email != old_email: - instance.email_confirmed = False - instance.email = old_email - instance.unconfirmed_email = new_email - instance.save() - # Send verification link on user email for change email address - if settings.USE_CELERY: - tasks.change_email_address.delay( - user_id=instance.id, - country_code=self.context.get('request').country_code, - emails=[validated_data['email'], ]) - else: - tasks.change_email_address( - user_id=instance.id, - country_code=self.context.get('request').country_code, - emails=[validated_data['email'], ]) + user = self.context['request'].user + if not user.is_superuser or not user.is_staff: + """ + superuser changes email immediately! + """ + if new_email and new_email != old_email: + instance.email_confirmed = False + instance.email = old_email + instance.unconfirmed_email = new_email + instance.save() + # Send verification link on user email for change email address + if settings.USE_CELERY: + tasks.change_email_address.delay( + user_id=instance.id, + country_code=self.context.get('request').country_code, + emails=[validated_data['email'], ]) + else: + tasks.change_email_address( + user_id=instance.id, + country_code=self.context.get('request').country_code, + emails=[validated_data['email'], ]) subscriptions_handler(subscriptions_list, instance) return instance diff --git a/apps/news/views.py b/apps/news/views.py index 948da401..c98a3c18 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -64,7 +64,6 @@ class NewsStatesView(generics.ListAPIView): 'value': state[0], 'state_translated': state[1], } for state in models.News.STATE_CHOICES] - print(mutated_for_serializer) serializer = self.get_serializer(mutated_for_serializer, many=True) return response.Response(serializer.data)