roles for email changing

This commit is contained in:
Kuroshini 2020-01-27 21:47:04 +03:00
parent 1fc0627ca9
commit 4cfe613739

View File

@ -139,10 +139,12 @@ class UserSerializer(serializers.ModelSerializer):
new_email = validated_data.get('email')
old_email = instance.email
instance = super().update(instance, validated_data)
user = self.context['request'].user
if not user.is_superuser or not user.is_staff:
request = self.context['request']
user = request.user
if not user.is_superuser or not user.is_staff or \
not user.roles.filter(country__code=request.country_code, role=models.Role.COUNTRY_ADMIN).exists():
"""
superuser changes email immediately!
superuser or country admin changes email immediately!
"""
if new_email and new_email != old_email:
instance.email_confirmed = False