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