Make spelling
This commit is contained in:
parent
4a0dfd2890
commit
a4a797aa40
@ -1,7 +1,6 @@
|
||||
Документация разработчика
|
||||
=========================
|
||||
|
||||
|
||||
*******
|
||||
Models
|
||||
*******
|
||||
@ -48,3 +47,5 @@ Views
|
||||
|
||||
.. automodule:: main.views
|
||||
:members:
|
||||
|
||||
|
||||
|
@ -115,24 +115,12 @@ def skip_queryset(app, what, name, obj, skip, options):
|
||||
return True
|
||||
return skip
|
||||
|
||||
# def process_signature(app):
|
||||
# if app != 'module':
|
||||
# return lines
|
||||
# from enchant.checker import SpellChecker
|
||||
# for line in lines:
|
||||
# chkr = SpellChecker("ru_RU", line)
|
||||
# for err in chkr:
|
||||
# print(err)
|
||||
# print('cheked')
|
||||
|
||||
|
||||
def setup(app):
|
||||
# Register the docstring processor with sphinx
|
||||
app.connect('autodoc-process-docstring', process_django_models)
|
||||
app.connect('autodoc-skip-member', skip_queryset)
|
||||
app.connect('autodoc-process-docstring', process_modules)
|
||||
# process_signature(app)
|
||||
print('app')
|
||||
# def setup(app):
|
||||
# # Register the docstring processor with sphinx
|
||||
# app.connect('autodoc-process-docstring', process_django_models)
|
||||
# app.connect('autodoc-skip-member', skip_queryset)
|
||||
# app.connect('autodoc-process-docstring', process_modules)
|
||||
|
||||
|
||||
|
||||
@ -196,12 +184,8 @@ intersphinx_mapping = {
|
||||
autodoc_default_flags = ['members']
|
||||
|
||||
# spell checking
|
||||
|
||||
|
||||
|
||||
spelling_lang = 'ru_RU'
|
||||
tokenizer_lang = 'ru_RU'
|
||||
spelling_word_list_filename = ['spelling_wordlist', None]
|
||||
spelling_exclude_patterns=['ignored_*']
|
||||
spelling_show_suggestions = True
|
||||
spelling_show_whole_line=True
|
||||
|
@ -3,7 +3,7 @@
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to ZenDesk Access Controller's documentation!
|
||||
Документация контроллера прав доступа
|
||||
=====================================================
|
||||
|
||||
.. toctree::
|
||||
@ -15,7 +15,6 @@ Welcome to ZenDesk Access Controller's documentation!
|
||||
todo
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
******************************
|
||||
|
||||
|
||||
**ZenDesk Access Controller** - Web-приложение, для выдачи прав пользователям системы по запросу самого пользователя.
|
||||
**ZenDesk Access Controller** - web-приложение, для выдачи прав пользователям системы по запросу самого пользователя.
|
||||
|
||||
Например, из 12 человек 3 сейчас работают с правами администратора, по окончании рабочей смены они сдают свои права (освобождают места) и другие пользователи могут запросить эти права в свое пользование.
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
|
||||
.. image:: _static/login.png
|
||||
|
||||
Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указанть email.
|
||||
Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указать email.
|
||||
На Вашу почту придет ссылка для установки нового пароля.
|
||||
|
||||
********
|
||||
@ -78,7 +78,7 @@
|
||||
Управление правами доступа администратором
|
||||
******************************************
|
||||
|
||||
Для администратора существует удобный интефейс страницы управления, в котором представлены:
|
||||
Для администратора существует удобный интерфейс страницы управления, в котором представлены:
|
||||
|
||||
* Количество свободных инженерных мест
|
||||
* Количество и список инженеров и легких агентов
|
||||
|
@ -0,0 +1,86 @@
|
||||
тикетами
|
||||
тикета
|
||||
тикетов
|
||||
тикет
|
||||
web
|
||||
Indices
|
||||
and
|
||||
tables
|
||||
Models
|
||||
логирования
|
||||
User
|
||||
user
|
||||
superuser
|
||||
light
|
||||
light_agent
|
||||
admin
|
||||
agent
|
||||
bootstrap
|
||||
form
|
||||
control
|
||||
Zendesk
|
||||
email
|
||||
Extra
|
||||
Functions
|
||||
env
|
||||
ID
|
||||
url
|
||||
None
|
||||
token
|
||||
password
|
||||
engineer
|
||||
SYSTEM
|
||||
start_date
|
||||
end_date
|
||||
timedelta
|
||||
log
|
||||
RoleChangeLogs
|
||||
time(datetime.time)
|
||||
stat
|
||||
statistic
|
||||
True
|
||||
False
|
||||
val
|
||||
start
|
||||
end
|
||||
date
|
||||
Токен
|
||||
токеном
|
||||
аутентифицирован
|
||||
(datetime.time)
|
||||
datetime
|
||||
time
|
||||
serializer
|
||||
валидны
|
||||
html
|
||||
subdomain
|
||||
логгирования
|
||||
логгирование
|
||||
forms
|
||||
StatisticForm
|
||||
Userprofile
|
||||
login
|
||||
login_required
|
||||
required
|
||||
id
|
||||
prom
|
||||
home
|
||||
PycharmProjects
|
||||
Access
|
||||
access
|
||||
controler
|
||||
controller
|
||||
main
|
||||
views
|
||||
py
|
||||
docstring
|
||||
of
|
||||
page
|
||||
API
|
||||
functions
|
||||
Serializer
|
||||
Serializers
|
||||
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ from main.models import UserProfile, RoleChangeLogs, UnassignedTicket, Unassigne
|
||||
|
||||
class ZendeskAdmin:
|
||||
"""
|
||||
Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора.
|
||||
Класс **ZendeskAdmin** существует, чтобы в каждой функции отдельно не проверять аккаунт администратора.
|
||||
|
||||
:param credentials: Полномочия (первым указывается учетная запись организации в Zendesk)
|
||||
:type credentials: :class:`dict`
|
||||
@ -95,7 +95,7 @@ class ZendeskAdmin:
|
||||
Функция возвращает группы, к которым принадлежит пользователь.
|
||||
|
||||
:param name: Имя пользователя
|
||||
:return: Группы пользователя (в случае отствия None)
|
||||
:return: Группы пользователя (в случае отсутствия None)
|
||||
"""
|
||||
groups = self.admin.search(name)
|
||||
for group in groups:
|
||||
@ -155,10 +155,10 @@ def update_role(user_profile: UserProfile, role: str) -> UserProfile:
|
||||
|
||||
def make_engineer(user_profile: UserProfile, who_changes: User) -> UserProfile:
|
||||
"""
|
||||
Функция устанавливапет пользователю роль инженера.
|
||||
Функция устанавливает пользователю роль инженера.
|
||||
|
||||
:param user_profile: Профиль пользователя
|
||||
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "endineer"
|
||||
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "engineer"
|
||||
"""
|
||||
RoleChangeLogs.objects.create(
|
||||
user=user_profile.user,
|
||||
@ -171,7 +171,7 @@ def make_engineer(user_profile: UserProfile, who_changes: User) -> UserProfile:
|
||||
|
||||
def make_light_agent(user_profile: UserProfile, who_changes: User) -> UserProfile:
|
||||
"""
|
||||
Функция устанавливапет пользователю роль легкого агента.
|
||||
Функция устанавливает пользователю роль легкого агента.
|
||||
|
||||
:param user_profile: Профиль пользователя
|
||||
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "light_agent"
|
||||
@ -220,7 +220,7 @@ def get_tickets_list(email):
|
||||
|
||||
def update_profile(user_profile: UserProfile) -> UserProfile:
|
||||
"""
|
||||
Функция обновляет профиль пользователя в соотвтетствии с текущим в Zendesk.
|
||||
Функция обновляет профиль пользователя в соответствии с текущим в Zendesk.
|
||||
|
||||
:param user_profile: Профиль пользователя
|
||||
:return: Обновленный, в соответствие с текущими данными в Zendesk, профиль пользователя
|
||||
@ -248,7 +248,7 @@ def get_user_organization(email: str) -> str:
|
||||
Функция возвращает организацию пользователя.
|
||||
|
||||
:param email: Email пользователя
|
||||
:return: Организацния пользователя
|
||||
:return: Организация пользователя
|
||||
"""
|
||||
return ZendeskAdmin().get_user_org(email)
|
||||
|
||||
@ -290,7 +290,7 @@ def update_user_in_model(profile: UserProfile, zendesk_user: User) -> UserProfil
|
||||
|
||||
def count_users(users) -> tuple:
|
||||
"""
|
||||
Функция подсчета количества сотрудников с ролями engineer и light_a
|
||||
Функция подсчета количества сотрудников с ролями engineer и light_agent
|
||||
"""
|
||||
engineers, light_agents = 0, 0
|
||||
for user in users:
|
||||
@ -358,11 +358,11 @@ def last_day_of_month(day: int) -> int:
|
||||
class StatisticData:
|
||||
"""
|
||||
Класс для учета статистики интервалов работы пользователей.
|
||||
Передаваемые параметры: start_date, end_date, user_email, stat.
|
||||
Передаваемые параметры: start_date, end_date, email, stat.
|
||||
|
||||
:param display: Формат отображения времени (часы, минуты)
|
||||
:type display: :class:`list`
|
||||
:param interval: Инетрвал времени в часах и минутах
|
||||
:param interval: Интервал времени в часах и минутах
|
||||
:type interval: :class:`list`
|
||||
:param start_date: Дата начала работы
|
||||
:type start_date: :class:`date`
|
||||
@ -372,7 +372,7 @@ class StatisticData:
|
||||
:type email: :class:`str`
|
||||
:param errors: Список ошибок
|
||||
:type errors: :class:`list`
|
||||
:param warnings: Список предупрежденй
|
||||
:param warnings: Список предупреждений
|
||||
:type warnings: :class:`list`
|
||||
:param data: Ретроспектива смены ролей пользователя
|
||||
:type data: :class:`dict`
|
||||
@ -399,7 +399,7 @@ class StatisticData:
|
||||
"""
|
||||
Функция возвращает статистику работы пользователя.
|
||||
|
||||
:return: Cловарь statistic с применением формата отображения и интеравала работы(если они есть). None, если были ошибки при создании.
|
||||
:return: Словарь statistic с применением формата отображения и интервала работы(если они есть). None, если были ошибки при создании.
|
||||
"""
|
||||
if self.is_valid_statistic():
|
||||
stat = self.statistic
|
||||
@ -413,7 +413,7 @@ class StatisticData:
|
||||
"""
|
||||
Функция проверяет были ли ошибки при создании статистики.
|
||||
|
||||
:return: True, при отутствии ошибок
|
||||
:return: True, при отсутствии ошибок
|
||||
"""
|
||||
return not self.errors and self.statistic
|
||||
|
||||
@ -513,7 +513,7 @@ class StatisticData:
|
||||
|
||||
def _init_data(self):
|
||||
"""
|
||||
Функция возвращает логи в диапазоне дат start_date-end_date для пользователя с указанным email.
|
||||
Функция возвращает логи в диапазоне дат start_date - end_date для пользователя с указанным email.
|
||||
|
||||
:return: Данные о смене статусов пользователя. Если пользователь не найден или интервал времени некорректен - ошибку.
|
||||
"""
|
||||
@ -569,12 +569,12 @@ class StatisticData:
|
||||
|
||||
def fill_daterange(self, first: date, last: date, val: int = 24 * 3600) -> dict:
|
||||
"""
|
||||
Функция заполеняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне).
|
||||
Функция заполняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне).
|
||||
|
||||
:param first: Начальная дата интервала
|
||||
:param last: Последняя дата интервала
|
||||
:param val: Количество секунд в одном дне
|
||||
:return: Статистику пользоваиеля с указанным количеством секунд в заданных днях
|
||||
:return: Статистику пользователя с указанным количеством секунд в заданных днях
|
||||
"""
|
||||
for day in daterange(first, last):
|
||||
self.statistic[day] = val
|
||||
|
@ -11,7 +11,7 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail):
|
||||
Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail`
|
||||
с добавлением bootstrap-класса "form-control".
|
||||
|
||||
:param visible_fields.email: Поле для ввода email, зарегистирированного на Zendesk
|
||||
:param visible_fields.email: Поле для ввода email, зарегистрированного на Zendesk
|
||||
:type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail`
|
||||
"""
|
||||
def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail:
|
||||
|
@ -40,18 +40,16 @@ 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(help_text='Дата и время изменения роли', default=timezone.now)
|
||||
changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by',
|
||||
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='Кем была изменена роль')
|
||||
|
||||
|
||||
class UnassignedTicketStatus(models.IntegerChoices):
|
||||
"""
|
||||
Класс статусов нераспределенных тикетов.
|
||||
Класс статусов не распределенных тикетов.
|
||||
|
||||
:param UNASSIGNED: Снят с пользователя, перенесён в буферную группу
|
||||
:param RESTORED: Авторство восстановлено
|
||||
@ -68,7 +66,7 @@ class UnassignedTicketStatus(models.IntegerChoices):
|
||||
|
||||
class UnassignedTicket(models.Model):
|
||||
"""
|
||||
Модель нераспределенного тикета.
|
||||
Модель не распределенного тикета.
|
||||
"""
|
||||
assignee = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='tickets', help_text='Пользователь, с которого снят тикет')
|
||||
ticket_id = models.IntegerField(help_text='Номер тикера, для которого сняли ответственного')
|
||||
|
@ -14,7 +14,7 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
|
||||
|
||||
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
|
||||
"""
|
||||
Класс serialiser для модель профиля пользователя.
|
||||
Класс serializer для модель профиля пользователя.
|
||||
"""
|
||||
user = UserSerializer()
|
||||
|
||||
|
@ -109,10 +109,10 @@ class CustomRegistrationView(RegistrationView):
|
||||
|
||||
def get_success_url(self, user: User = None) -> success_url:
|
||||
"""
|
||||
Функция возвращает url-адрес страницы, куда нужно перейти после успешной/неуспешной регистрации.
|
||||
Функция возвращает url-адрес страницы, куда нужно перейти после успешной/не успешной регистрации.
|
||||
Используется самой django-registration.
|
||||
|
||||
:param user: пользователь, пытающийся зарегистроваться
|
||||
:param user: пользователь, пытающийся зарегистрироваться
|
||||
:return: адресация на страницу успешной регистрации
|
||||
"""
|
||||
if self.is_allowed:
|
||||
@ -216,7 +216,7 @@ def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
|
||||
@login_required()
|
||||
def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
|
||||
"""
|
||||
Функция меняет роль пользователя в Zendesk на "engineer" и присваевает роль "agent" в БД (в случае, если исходная роль пользователя была "light_agent").
|
||||
Функция меняет роль пользователя в Zendesk на "engineer" и присваивает роль "agent" в БД (в случае, если исходная роль пользователя была "light_agent").
|
||||
|
||||
:param request: данные текущего пользователя (login_required)
|
||||
:return: перезагрузка текущей страницы после выполнения смены роли
|
||||
|
Loading…
x
Reference in New Issue
Block a user