From 40fa4c543bbb6ccb46ad56bb76cd8724c10732c0 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 Jan 2020 17:01:27 +0300 Subject: [PATCH] roles for user csv --- apps/account/models.py | 11 +++++++++++ apps/account/serializers/back.py | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/account/models.py b/apps/account/models.py index 78e1d8ad..495ebdd8 100644 --- a/apps/account/models.py +++ b/apps/account/models.py @@ -481,6 +481,17 @@ class User(AbstractUser): return self.last_country.country.name_translated return None + @property + def locale_roles(self): + """ + Str roles, like "Standard user: at, Moderator: ru" for сsv api method + """ + result_list = [] + roles = self.roles.all() + for role in roles: + result_list.append(f'{role.get_role_display()}: {role.country.code}') + return ', '.join(result_list) + class UserRoleQueryset(models.QuerySet): """QuerySet for model UserRole.""" diff --git a/apps/account/serializers/back.py b/apps/account/serializers/back.py index 78840495..5ec9ca9d 100644 --- a/apps/account/serializers/back.py +++ b/apps/account/serializers/back.py @@ -155,6 +155,7 @@ class UserCSVSerializer(serializers.ModelSerializer): created_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True, source='date_joined') last_seen_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True, source='last_login') country = serializers.CharField(allow_blank=True, allow_null=True, source='country_name') + roles_list = serializers.CharField(allow_blank=True, allow_null=True, source='locale_roles') class Meta: model = models.User @@ -168,5 +169,5 @@ class UserCSVSerializer(serializers.ModelSerializer): 'created_at', 'last_seen_at', 'last_ip', - 'roles', + 'roles_list', ]