diff --git a/apps/account/serializers/common.py b/apps/account/serializers/common.py index 2a67e5c1..30923909 100644 --- a/apps/account/serializers/common.py +++ b/apps/account/serializers/common.py @@ -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