Make spelling

This commit is contained in:
Степаненко Ольга 2021-03-27 16:32:44 +03:00
parent 4a0dfd2890
commit a4a797aa40
10 changed files with 123 additions and 55 deletions

View File

@ -1,7 +1,6 @@
Документация разработчика Документация разработчика
========================= =========================
******* *******
Models Models
******* *******
@ -48,3 +47,5 @@ Views
.. automodule:: main.views .. automodule:: main.views
:members: :members:

View File

@ -115,24 +115,12 @@ def skip_queryset(app, what, name, obj, skip, options):
return True return True
return skip 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):
def setup(app): # # Register the docstring processor with sphinx
# Register the docstring processor with sphinx # app.connect('autodoc-process-docstring', process_django_models)
app.connect('autodoc-process-docstring', process_django_models) # app.connect('autodoc-skip-member', skip_queryset)
app.connect('autodoc-skip-member', skip_queryset) # app.connect('autodoc-process-docstring', process_modules)
app.connect('autodoc-process-docstring', process_modules)
# process_signature(app)
print('app')
@ -196,12 +184,8 @@ intersphinx_mapping = {
autodoc_default_flags = ['members'] autodoc_default_flags = ['members']
# spell checking # spell checking
spelling_lang = 'ru_RU' spelling_lang = 'ru_RU'
tokenizer_lang = 'ru_RU' tokenizer_lang = 'ru_RU'
spelling_word_list_filename = ['spelling_wordlist', None]
spelling_exclude_patterns=['ignored_*'] spelling_exclude_patterns=['ignored_*']
spelling_show_suggestions = True spelling_show_suggestions = True
spelling_show_whole_line=True spelling_show_whole_line=True

View File

@ -3,7 +3,7 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to ZenDesk Access Controller's documentation! Документация контроллера прав доступа
===================================================== =====================================================
.. toctree:: .. toctree::
@ -15,7 +15,6 @@ Welcome to ZenDesk Access Controller's documentation!
todo todo
Indices and tables Indices and tables
================== ==================

View File

@ -7,7 +7,7 @@
****************************** ******************************
**ZenDesk Access Controller** - Web-приложение, для выдачи прав пользователям системы по запросу самого пользователя. **ZenDesk Access Controller** - web-приложение, для выдачи прав пользователям системы по запросу самого пользователя.
Например, из 12 человек 3 сейчас работают с правами администратора, по окончании рабочей смены они сдают свои права (освобождают места) и другие пользователи могут запросить эти права в свое пользование. Например, из 12 человек 3 сейчас работают с правами администратора, по окончании рабочей смены они сдают свои права (освобождают места) и другие пользователи могут запросить эти права в свое пользование.
@ -52,7 +52,7 @@
.. image:: _static/login.png .. image:: _static/login.png
Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указанть email. Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указать email.
На Вашу почту придет ссылка для установки нового пароля. На Вашу почту придет ссылка для установки нового пароля.
******** ********
@ -78,7 +78,7 @@
Управление правами доступа администратором Управление правами доступа администратором
****************************************** ******************************************
Для администратора существует удобный интефейс страницы управления, в котором представлены: Для администратора существует удобный интерфейс страницы управления, в котором представлены:
* Количество свободных инженерных мест * Количество свободных инженерных мест
* Количество и список инженеров и легких агентов * Количество и список инженеров и легких агентов

View File

@ -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

View File

@ -13,7 +13,7 @@ from main.models import UserProfile, RoleChangeLogs, UnassignedTicket, Unassigne
class ZendeskAdmin: class ZendeskAdmin:
""" """
Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора. Класс **ZendeskAdmin** существует, чтобы в каждой функции отдельно не проверять аккаунт администратора.
:param credentials: Полномочия (первым указывается учетная запись организации в Zendesk) :param credentials: Полномочия (первым указывается учетная запись организации в Zendesk)
:type credentials: :class:`dict` :type credentials: :class:`dict`
@ -95,7 +95,7 @@ class ZendeskAdmin:
Функция возвращает группы, к которым принадлежит пользователь. Функция возвращает группы, к которым принадлежит пользователь.
:param name: Имя пользователя :param name: Имя пользователя
:return: Группы пользователя (в случае отствия None) :return: Группы пользователя (в случае отсутствия None)
""" """
groups = self.admin.search(name) groups = self.admin.search(name)
for group in groups: 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: def make_engineer(user_profile: UserProfile, who_changes: User) -> UserProfile:
""" """
Функция устанавливапет пользователю роль инженера. Функция устанавливает пользователю роль инженера.
:param user_profile: Профиль пользователя :param user_profile: Профиль пользователя
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "endineer" :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "engineer"
""" """
RoleChangeLogs.objects.create( RoleChangeLogs.objects.create(
user=user_profile.user, 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: def make_light_agent(user_profile: UserProfile, who_changes: User) -> UserProfile:
""" """
Функция устанавливапет пользователю роль легкого агента. Функция устанавливает пользователю роль легкого агента.
:param user_profile: Профиль пользователя :param user_profile: Профиль пользователя
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "light_agent" :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "light_agent"
@ -220,7 +220,7 @@ def get_tickets_list(email):
def update_profile(user_profile: UserProfile) -> UserProfile: def update_profile(user_profile: UserProfile) -> UserProfile:
""" """
Функция обновляет профиль пользователя в соотвтетствии с текущим в Zendesk. Функция обновляет профиль пользователя в соответствии с текущим в Zendesk.
:param user_profile: Профиль пользователя :param user_profile: Профиль пользователя
:return: Обновленный, в соответствие с текущими данными в Zendesk, профиль пользователя :return: Обновленный, в соответствие с текущими данными в Zendesk, профиль пользователя
@ -248,7 +248,7 @@ def get_user_organization(email: str) -> str:
Функция возвращает организацию пользователя. Функция возвращает организацию пользователя.
:param email: Email пользователя :param email: Email пользователя
:return: Организацния пользователя :return: Организация пользователя
""" """
return ZendeskAdmin().get_user_org(email) 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: def count_users(users) -> tuple:
""" """
Функция подсчета количества сотрудников с ролями engineer и light_a Функция подсчета количества сотрудников с ролями engineer и light_agent
""" """
engineers, light_agents = 0, 0 engineers, light_agents = 0, 0
for user in users: for user in users:
@ -358,11 +358,11 @@ def last_day_of_month(day: int) -> int:
class StatisticData: class StatisticData:
""" """
Класс для учета статистики интервалов работы пользователей. Класс для учета статистики интервалов работы пользователей.
Передаваемые параметры: start_date, end_date, user_email, stat. Передаваемые параметры: start_date, end_date, email, stat.
:param display: Формат отображения времени (часы, минуты) :param display: Формат отображения времени (часы, минуты)
:type display: :class:`list` :type display: :class:`list`
:param interval: Инетрвал времени в часах и минутах :param interval: Интервал времени в часах и минутах
:type interval: :class:`list` :type interval: :class:`list`
:param start_date: Дата начала работы :param start_date: Дата начала работы
:type start_date: :class:`date` :type start_date: :class:`date`
@ -372,7 +372,7 @@ class StatisticData:
:type email: :class:`str` :type email: :class:`str`
:param errors: Список ошибок :param errors: Список ошибок
:type errors: :class:`list` :type errors: :class:`list`
:param warnings: Список предупрежденй :param warnings: Список предупреждений
:type warnings: :class:`list` :type warnings: :class:`list`
:param data: Ретроспектива смены ролей пользователя :param data: Ретроспектива смены ролей пользователя
:type data: :class:`dict` :type data: :class:`dict`
@ -399,7 +399,7 @@ class StatisticData:
""" """
Функция возвращает статистику работы пользователя. Функция возвращает статистику работы пользователя.
:return: Cловарь statistic с применением формата отображения и интеравала работы(если они есть). None, если были ошибки при создании. :return: Словарь statistic с применением формата отображения и интервала работы(если они есть). None, если были ошибки при создании.
""" """
if self.is_valid_statistic(): if self.is_valid_statistic():
stat = self.statistic stat = self.statistic
@ -413,7 +413,7 @@ class StatisticData:
""" """
Функция проверяет были ли ошибки при создании статистики. Функция проверяет были ли ошибки при создании статистики.
:return: True, при отутствии ошибок :return: True, при отсутствии ошибок
""" """
return not self.errors and self.statistic return not self.errors and self.statistic
@ -569,12 +569,12 @@ class StatisticData:
def fill_daterange(self, first: date, last: date, val: int = 24 * 3600) -> dict: def fill_daterange(self, first: date, last: date, val: int = 24 * 3600) -> dict:
""" """
Функция заполеняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне). Функция заполняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне).
:param first: Начальная дата интервала :param first: Начальная дата интервала
:param last: Последняя дата интервала :param last: Последняя дата интервала
:param val: Количество секунд в одном дне :param val: Количество секунд в одном дне
:return: Статистику пользоваиеля с указанным количеством секунд в заданных днях :return: Статистику пользователя с указанным количеством секунд в заданных днях
""" """
for day in daterange(first, last): for day in daterange(first, last):
self.statistic[day] = val self.statistic[day] = val

View File

@ -11,7 +11,7 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail):
Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail` Форма для регистрации :class:`django_registration.forms.RegistrationFormUniqueEmail`
с добавлением bootstrap-класса "form-control". с добавлением bootstrap-класса "form-control".
:param visible_fields.email: Поле для ввода email, зарегистирированного на Zendesk :param visible_fields.email: Поле для ввода email, зарегистрированного на Zendesk
:type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail` :type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail`
""" """
def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail: def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail:

View File

@ -40,13 +40,11 @@ class RoleChangeLogs(models.Model):
Модель для логирования изменений ролей пользователя. Модель для логирования изменений ролей пользователя.
""" """
user = models.ForeignKey(to=User, on_delete=models.CASCADE, user = models.ForeignKey(to=User, on_delete=models.CASCADE, help_text='Пользователь, которому присвоили другую роль')
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(help_text='Дата и время изменения роли', default=timezone.now) change_time = models.DateTimeField(default=timezone.now, help_text='Дата и время изменения роли')
changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by', changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by', help_text='Кем была изменена роль')
help_text='Кем была изменена роль')
class UnassignedTicketStatus(models.IntegerChoices): class UnassignedTicketStatus(models.IntegerChoices):

View File

@ -14,7 +14,7 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
class ProfileSerializer(serializers.HyperlinkedModelSerializer): class ProfileSerializer(serializers.HyperlinkedModelSerializer):
""" """
Класс serialiser для модель профиля пользователя. Класс serializer для модель профиля пользователя.
""" """
user = UserSerializer() user = UserSerializer()

View File

@ -112,7 +112,7 @@ class CustomRegistrationView(RegistrationView):
Функция возвращает url-адрес страницы, куда нужно перейти после успешной/не успешной регистрации. Функция возвращает url-адрес страницы, куда нужно перейти после успешной/не успешной регистрации.
Используется самой django-registration. Используется самой django-registration.
:param user: пользователь, пытающийся зарегистроваться :param user: пользователь, пытающийся зарегистрироваться
:return: адресация на страницу успешной регистрации :return: адресация на страницу успешной регистрации
""" """
if self.is_allowed: if self.is_allowed:
@ -216,7 +216,7 @@ def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
@login_required() @login_required()
def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect: def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
""" """
Функция меняет роль пользователя в Zendesk на "engineer" и присваевает роль "agent" в БД (в случае, если исходная роль пользователя была "light_agent"). Функция меняет роль пользователя в Zendesk на "engineer" и присваивает роль "agent" в БД (в случае, если исходная роль пользователя была "light_agent").
:param request: данные текущего пользователя (login_required) :param request: данные текущего пользователя (login_required)
:return: перезагрузка текущей страницы после выполнения смены роли :return: перезагрузка текущей страницы после выполнения смены роли