Update docs for files (except views)
This commit is contained in:
parent
aa59eb31ec
commit
8dd8e7640a
@ -83,6 +83,7 @@ functions
|
||||
Serializer
|
||||
Serializers
|
||||
Сериализатор
|
||||
сериализатор
|
||||
переадресации
|
||||
чекбоксов
|
||||
админских
|
||||
|
@ -56,6 +56,8 @@ class CustomAuthenticationForm(AuthenticationForm):
|
||||
|
||||
:param username: Поле для ввода email пользователя
|
||||
:type username: :class:`django.forms.fields.CharField`
|
||||
:param error_messages: Список ошибок авторизации
|
||||
:type error_messages: :class:`dict`
|
||||
"""
|
||||
username = forms.CharField(
|
||||
label="Электронная почта",
|
||||
|
@ -11,13 +11,11 @@ class UserProfile(models.Model):
|
||||
"""
|
||||
Модель профиля пользователя.
|
||||
|
||||
Профиль создается и изменяется при создании и изменении модель User.
|
||||
Профиль создается и изменяется при создании и изменении модель User
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('has_control_access', 'Can view admin page'),
|
||||
)
|
||||
('has_control_access', 'Can view admin page'))
|
||||
|
||||
user = models.OneToOneField(to=User, on_delete=models.CASCADE, help_text='Пользователь')
|
||||
role = models.CharField(default='None', max_length=100, help_text='Глобальное имя роли пользователя')
|
||||
@ -49,11 +47,13 @@ class RoleChangeLogs(models.Model):
|
||||
"""
|
||||
Модель для логирования изменений ролей пользователя.
|
||||
"""
|
||||
user = models.ForeignKey(to=User, on_delete=models.CASCADE, help_text='Пользователь, которому присвоили другую роль')
|
||||
user = models.ForeignKey(to=User, on_delete=models.CASCADE, help_text='Пользователь, которому присвоили другую '
|
||||
'роль')
|
||||
old_role = models.IntegerField(default=0, help_text='Старая роль')
|
||||
new_role = models.IntegerField(default=0, help_text='Присвоенная роль')
|
||||
change_time = models.DateTimeField(default=timezone.now, help_text='Дата и время изменения роли')
|
||||
changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by', help_text='Кем была изменена роль')
|
||||
changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by',
|
||||
help_text='Кем была изменена роль')
|
||||
|
||||
|
||||
class UnassignedTicketStatus(models.IntegerChoices):
|
||||
@ -81,3 +81,4 @@ class UnassignedTicket(models.Model):
|
||||
ticket_id = models.IntegerField(help_text='Номер тикера, для которого сняли ответственного')
|
||||
status = models.IntegerField(choices=UnassignedTicketStatus.choices, default=UnassignedTicketStatus.UNASSIGNED, help_text='Статус тикета')
|
||||
|
||||
|
||||
|
@ -7,6 +7,11 @@ from access_controller.settings import ZENDESK_ROLES
|
||||
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
"""
|
||||
Класс serializer для модели User.
|
||||
|
||||
:param model: Модель, на основании которой создается сериализатор
|
||||
:type model: :class:`django.contrib.auth.Models`
|
||||
:param fields: Передаваемые поля
|
||||
:type email: :class:`list`
|
||||
"""
|
||||
class Meta:
|
||||
model = User
|
||||
@ -14,7 +19,16 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
|
||||
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
|
||||
"""Класс serializer для модели профиля пользователя"""
|
||||
"""
|
||||
Класс serializer для модели профиля пользователя.
|
||||
|
||||
:param user: Вложенный сериализатор
|
||||
:type user: :class:`UserSerializer`
|
||||
:param model: Модель, на основании которой создается сериализатор
|
||||
:type model: :class:`django.contrib.auth.Models`
|
||||
:param fields: Передаваемые поля
|
||||
:type email: :class:`list`
|
||||
"""
|
||||
user = UserSerializer()
|
||||
|
||||
class Meta:
|
||||
@ -23,13 +37,28 @@ class ProfileSerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
|
||||
class ZendeskUserSerializer(serializers.Serializer):
|
||||
"""Класс serializer для объектов пользователей из zenpy"""
|
||||
"""
|
||||
Класс serializer для объектов пользователей из Zenpy.
|
||||
|
||||
:param name: Имя пользователя
|
||||
:type name: :class:`str`
|
||||
:param zendesk_role: Роль из Zendesk
|
||||
:type zendesk_role: :class:`str`
|
||||
:param email: Email пользователя
|
||||
:type email: :class:`str`
|
||||
"""
|
||||
name = serializers.CharField()
|
||||
zendesk_role = serializers.SerializerMethodField('get_zendesk_role')
|
||||
email = serializers.EmailField()
|
||||
|
||||
@staticmethod
|
||||
def get_zendesk_role(obj) -> str:
|
||||
"""
|
||||
Функция строкового заполнения поля сериализатора zendesk_role.
|
||||
|
||||
:param obj: объект пользователя Zendesk
|
||||
:return: роль engineer либо light_agent
|
||||
"""
|
||||
if obj.custom_role_id == ZENDESK_ROLES['engineer']:
|
||||
return 'engineer'
|
||||
elif obj.custom_role_id == ZENDESK_ROLES['light_agent']:
|
||||
|
@ -10,17 +10,23 @@ from access_controller.settings import ACTRL_ZENDESK_SUBDOMAIN, ACTRL_API_EMAIL,
|
||||
|
||||
class ZendeskAdmin:
|
||||
"""
|
||||
Класс **ZendeskAdmin** существует, чтобы в каждой функции отдельно не проверять аккаунт администратора.
|
||||
Класс **ZendeskAdmin** содержит описание всего функционала администратора.
|
||||
|
||||
:param credentials: Полномочия (первым указывается учетная запись организации в Zendesk)
|
||||
:type credentials: :class:`Dict[str, str]`
|
||||
:param admin: Администратор
|
||||
:type admin: :class:`Zenpy`
|
||||
:param buffer_group_id: ID буферной группы
|
||||
:type buffer_group_id: :class:`int`
|
||||
:param solved_tickets_user_id: ID пользователя, который решил тикет
|
||||
:type solved_tickets_user_id: :class:`int`
|
||||
"""
|
||||
|
||||
def __init__(self, credentials: Dict[str, str]):
|
||||
self.credentials = credentials
|
||||
self.admin = self.create_admin()
|
||||
self.buffer_group_id: int = self.get_group(ZENDESK_GROUPS['buffer']).id
|
||||
self.solved_tickets_user_id: int = self.get_user(SOLVED_TICKETS_EMAIL).id
|
||||
self.buffer_group_id= self.get_group(ZENDESK_GROUPS['buffer']).id
|
||||
self.solved_tickets_user_id = self.get_user(SOLVED_TICKETS_EMAIL).id
|
||||
|
||||
def check_user(self, email: str) -> bool:
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user