Fix user role display. Migrate to displayable roles, defined in settings.ZENDESK_ROLES

This commit is contained in:
Andrew Smirnov 2021-04-01 20:46:07 +03:00
parent 685fe35821
commit 3aaae33c44
No known key found for this signature in database
GPG Key ID: 2E81A70519D9C3DA
3 changed files with 13 additions and 5 deletions

View File

@ -4,6 +4,8 @@ from django.db.models.signals import post_save
from django.dispatch import receiver
from django.utils import timezone
from access_controller.settings import ZENDESK_ROLES
class UserProfile(models.Model):
"""
@ -23,6 +25,14 @@ class UserProfile(models.Model):
image = models.URLField(null=True, blank=True, help_text='Аватарка')
name = models.CharField(default='None', max_length=100, help_text='Имя пользователя на нашем сайте')
@property
def zendesk_role(self):
id = self.custom_role_id
for role, r_id in ZENDESK_ROLES.items():
if r_id == id:
return role
return 'UNDEFINED'
@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):

View File

@ -13,11 +13,9 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
"""
Класс serializer для модель профиля пользователя.
"""
"""Сериализатор для модели профиля пользователя"""
user = UserSerializer()
class Meta:
model = UserProfile
fields = ['user', 'id', 'role', 'name']
fields = ['user', 'id', 'name', 'zendesk_role']

View File

@ -25,7 +25,7 @@ class TableRow extends React.Component {
<a href="#">{this.props.user.name}</a>
</td>
<td>{this.props.user.user.email}</td>
<td>{this.props.user.role}</td>
<td>{this.props.user.zendesk_role}</td>
<td>
<input
type="checkbox"