Merge branch 'hotfix/fix_user_role_name' into 'develop'

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

See merge request 2020-2021/online/s101/group-02/access_controller!47
This commit is contained in:
Кравченко Артем 2021-04-01 17:47:27 +00:00
commit 575577642c
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.dispatch import receiver
from django.utils import timezone from django.utils import timezone
from access_controller.settings import ZENDESK_ROLES
class UserProfile(models.Model): class UserProfile(models.Model):
""" """
@ -23,6 +25,14 @@ class UserProfile(models.Model):
image = models.URLField(null=True, blank=True, help_text='Аватарка') image = models.URLField(null=True, blank=True, help_text='Аватарка')
name = models.CharField(default='None', max_length=100, 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) @receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs): def create_user_profile(sender, instance, created, **kwargs):

View File

@ -13,11 +13,9 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
class ProfileSerializer(serializers.HyperlinkedModelSerializer): class ProfileSerializer(serializers.HyperlinkedModelSerializer):
""" """Сериализатор для модели профиля пользователя"""
Класс serializer для модель профиля пользователя.
"""
user = UserSerializer() user = UserSerializer()
class Meta: class Meta:
model = UserProfile 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> <a href="#">{this.props.user.name}</a>
</td> </td>
<td>{this.props.user.user.email}</td> <td>{this.props.user.user.email}</td>
<td>{this.props.user.role}</td> <td>{this.props.user.zendesk_role}</td>
<td> <td>
<input <input
type="checkbox" type="checkbox"