From d50a88e8bc80ee5ced11cbe2929097909708e6fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Fri, 12 Mar 2021 18:38:03 +0300 Subject: [PATCH 01/17] Add params to extra_func --- docs/source/code.rst | 4 +- main/extra_func.py | 172 +++++++++++++++++++++++++++++++------------ main/models.py | 12 ++- 3 files changed, 136 insertions(+), 52 deletions(-) diff --git a/docs/source/code.rst b/docs/source/code.rst index 85d207b..7c5a05d 100644 --- a/docs/source/code.rst +++ b/docs/source/code.rst @@ -2,9 +2,9 @@ ========================= -****** +******* Models -****** +******* .. automodule:: main.models :members: diff --git a/main/extra_func.py b/main/extra_func.py index ada4a88..f51be0f 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -11,16 +11,16 @@ from main.models import UserProfile, RoleChangeLogs class ZendeskAdmin: """ - Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора + Класс **ZendeskAdmin** существует, чтобы в каждой фунциии отдельно не проверять аккаунт администратора. - :param credentials: Полномочия (первым указывается учетная запись организации в Zendesk) - :type credentials: :class:`dict` - :param email: Email администратора, указанный в env - :type email: :class:`str` - :param token: Токен администратора (формируется в Zendesk, указывается в env) - :type token: :class:`str` - :param password: Пароль администратора, указанный в env - :type password: :class:`str` + :param credentials: Полномочия (первым указывается учетная запись организации в Zendesk) + :type credentials: :class:`dict` + :param email: Email администратора, указанный в env + :type email: :class:`str` + :param token: Токен администратора (формируется в Zendesk, указывается в env) + :type token: :class:`str` + :param password: Пароль администратора, указанный в env + :type password: :class:`str` """ credentials: dict = { @@ -41,41 +41,56 @@ class ZendeskAdmin: def check_user(self, email: str) -> bool: """ - Функция **check_user** осуществляет проверку существования пользователя в Zendesk по email + Функция осуществляет проверку существования пользователя в Zendesk по email. + + :param email: + :return: """ return True if self.admin.search(email, type='user') else False def get_user_name(self, email: str) -> str: """ - Функция **get_user_name** возвращает имя пользователя по его email + Функция возвращает имя пользователя по его email. + + :param email: + :return: """ user = self.admin.users.search(email).values[0] return user.name def get_user_role(self, email: str) -> str: """ - Функция **get_user_role** возвращает роль пользователя по его email + Функция возвращает роль пользователя по его email. + + :param email: + :return: """ user = self.admin.users.search(email).values[0] return user.role def get_user_id(self, email: str) -> str: """ - Функция **get_user_id** возвращает id пользователя по его email + Функция возвращает id пользователя по его email + + :param email: + :return: """ user = self.admin.users.search(email).values[0] return user.id def get_user_image(self, email: str) -> str: """ - Функция **get_user_image** возвращает url-ссылку на аватар пользователя по его email + Функция возвращает url-ссылку на аватар пользователя по его email. + + :param email: + :return: """ user = self.admin.users.search(email).values[0] return user.photo['content_url'] if user.photo else None def get_user(self, email: str): """ - Функция **get_user** возвращает пользователя (объект) по его email + Функция возвращает пользователя (объект) по его email :param email: email пользователя :return: email пользователя, найденного в БД @@ -84,19 +99,22 @@ class ZendeskAdmin: def get_user_org(self, email: str) -> str: """ - Функция **get_user_org** возвращает организацию, к которой относится пользователь по его email + Функция возвращает организацию, к которой относится пользователь по его email. + + :param email: + :return: """ user = self.admin.users.search(email).values[0] return user.organization.name if user.organization else None def create_admin(self) -> Zenpy: """ - Функция **Create_admin()** создает администратора, проверяя наличие вводимых данных в env. + Функция создает администратора, проверяя наличие вводимых данных в env. - :param credentials: В список полномочий администратора вносятся email, token, password из env - :type credentials: :class:`dict` - :raise: :class:`ValueError`: исключение, вызываемое если email не введен в env - :raise: :class:`APIException`: исключение, вызываемое если пользователя с таким email не существует в Zendesk + :param credentials: В список полномочий администратора вносятся email, token, password из env + :type credentials: :class:`dict` + :raise: :class:`ValueError`: исключение, вызываемое если email не введен в env + :raise: :class:`APIException`: исключение, вызываемое если пользователя с таким email не существует в Zendesk """ if self.email is None: @@ -118,7 +136,11 @@ class ZendeskAdmin: def update_role(user_profile: UserProfile, role: str) -> UserProfile: """ - Функция **update_role** меняет роль пользователя. + Функция меняет роль пользователя. + + :param user_profile: + :param role: + :return: """ zendesk = ZendeskAdmin() user = zendesk.get_user(user_profile.user.email) @@ -128,21 +150,28 @@ def update_role(user_profile: UserProfile, role: str) -> UserProfile: def make_engineer(user_profile: UserProfile) -> UserProfile: """ - Функция **make_engineer** устанавливапет пользователю роль инженера. + Функция устанавливапет пользователю роль инженера. + + :param user_profile: + :return: """ update_role(user_profile, ROLES['engineer']) def make_light_agent(user_profile: UserProfile) -> UserProfile: """ - Функция **make_light_agent** устанавливапет пользователю роль легкого агента. + Функция устанавливапет пользователю роль легкого агента. + + :param user_profile: + :return: """ update_role(user_profile, ROLES['light_agent']) def get_users_list() -> list: """ - Функция **get_users_list** возвращает список пользователей Zendesk, относящихся к организации. + Функция возвращает список пользователей Zendesk, относящихся к организации. + :return: """ zendesk = ZendeskAdmin() admin = zendesk.get_user(zendesk.email) @@ -152,7 +181,10 @@ def get_users_list() -> list: def update_profile(user_profile: UserProfile) -> UserProfile: """ - Функция обновляет профиль пользователя в соотвтетствии с текущим в Zendesk + Функция обновляет профиль пользователя в соотвтетствии с текущим в Zendesk. + + :param user_profile: + :return: """ user = ZendeskAdmin().get_user(user_profile.user.email) user_profile.name = user.name @@ -164,21 +196,31 @@ def update_profile(user_profile: UserProfile) -> UserProfile: def check_user_exist(email: str) -> bool: """ - Функция проверяет, существует ли пользователь + Функция проверяет, существует ли пользователь. + + :param email: + :return: """ return ZendeskAdmin().check_user(email) def get_user_organization(email: str) -> str: """ - Функция возвращает организацию пользователя + Функция возвращает организацию пользователя. + + :param email: + :return: """ return ZendeskAdmin().get_user_org(email) def daterange(start_date, end_date) -> list: """ - Возвращает список дней с start_date по end_date исключая правую границу + Функция возвращает список дней с start_date по end_date, исключая правую границу. + + :param start_date: + :param end_date: + :return: """ dates = [] for n in range(int((end_date - start_date).days)): @@ -188,8 +230,12 @@ def daterange(start_date, end_date) -> list: def get_timedelta(log, time=None) -> timedelta: """ - Возвращает объект класса timedelta, который хранит промежуток времени от начала суток до момента, - который находится в log (объект класса RoleChangeLogs) или в time(datetime.time), если введён + Функция возвращает объект класса timedelta, который хранит промежуток времени от начала суток до момента, + который находится в log (объект класса RoleChangeLogs) или в time(datetime.time), если введён. + + :param log: + :param time: + :return: """ if time is None: time = log.change_time.time() @@ -199,7 +245,10 @@ def get_timedelta(log, time=None) -> timedelta: def last_day_of_month(day): """ - Возвращает последний день любого месяца + Функция возвращает последний день любого месяца. + + :param day: + :return: """ next_month = day.replace(day=28) + timedelta(days=4) return next_month - timedelta(days=next_month.day) @@ -224,8 +273,10 @@ class StatisticData: def get_statistic(self): """ - Вернуть словарь statistic с применением формата отображения и интеравала работы(если они есть) - None, если были ошибки при создании + Функция возвращает словарь statistic с применением формата отображения и интеравала работы(если они есть). + None, если были ошибки при создании. + + :return: """ if self.is_valid_statistic(): stat = self.statistic @@ -237,13 +288,18 @@ class StatisticData: def is_valid_statistic(self): """ - Были ли ошибки при создании статистики + Функция проверяет были ли ошибки при создании статистики. + + :return: """ return not self.errors and self.statistic def set_interval(self, interval): """ - Устанавливает интервал работы + Функция устанавливает интервал работы. + + :param interval: + :return: """ if interval not in ['months', 'days']: self.errors += ['Интервал работы должен быть в днях или месяцах'] @@ -253,7 +309,10 @@ class StatisticData: def set_display(self, display_format): """ - Устанавливает формат отображения + Функция устанавливает формат отображения. + + :param display_format: + :return: """ if display_format not in ['days', 'hours']: self.errors += ['Формат отображения должен быть в часах или днях'] @@ -263,9 +322,9 @@ class StatisticData: def get_data(self): """ - Вернуть данные - data - массив объектов RoleChangeLogs, является списком логов пользователя - data может быть пустым списком + Функция возвращает данные - массив объектов RoleChangeLogs. + + :return: """ if self.is_valid_data(): return self.data @@ -274,13 +333,18 @@ class StatisticData: def is_valid_data(self): """ - Были ли ошибки при получении логов + Функция определяет были ли ошибки при получении логов. + + :return: """ return not self.errors def _use_display(self, stat): """ - Приводит данные к формату отображения + Функция приводит данные к формату отображения. + + :param stat: + :return: """ if not self.is_valid_statistic() or not self.display: return stat @@ -294,7 +358,10 @@ class StatisticData: def _use_interval(self, stat): """ - Объединяет ключи и значения в соответствии с интервалом работы + Функция объединяет ключи и значения в соответствии с интервалом работы. + + :param stat: + :return: """ if not self.is_valid_statistic() or not self.interval: return stat @@ -323,7 +390,9 @@ class StatisticData: def _set_data(self): """ - Получение логов в диапазоне дат start_date-end_date для пользователя с почтой email + Функция возвращает логи в диапазоне дат start_date-end_date для пользователя с указанным email. + + :return: """ if not self.check_time(): self.errors += ['Конец диапазона должен быть позже начала диапазона и раньше текущего времени'] @@ -338,7 +407,9 @@ class StatisticData: def _set_statistic(self): """ - Функция заполняет словарь, в котором ключ - дата, значение - кол-во проработанных в этот день секунд + Функция заполняет словарь, в котором ключ - дата, значение - кол-во проработанных в этот день секунд. + + :return: """ self.clear_statistic() if not self.get_data(): @@ -370,15 +441,20 @@ class StatisticData: def fill_daterange(self, first, last, val=24 * 3600): """ - Заполение диапазона дат значением val - по умолчанию val = кол-во секунд в 1 дне + Функция заполеняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне). + + :param first: + :param last: + :param val: + :return: """ for day in daterange(first, last): self.statistic[day] = val def clear_statistic(self): """ - Обнуление всех дней + Функция осуществляет обновление всех дней + :return: """ self.statistic.clear() self.fill_daterange(self.start_date, self.end_date + timedelta(days=1), 0) diff --git a/main/models.py b/main/models.py index 112e29e..b3e235c 100644 --- a/main/models.py +++ b/main/models.py @@ -5,7 +5,10 @@ from django.dispatch import receiver class UserProfile(models.Model): - """Модель профиля пользователя""" + """ + Модель профиля пользователя + + """ class Meta: permissions = ( @@ -31,7 +34,11 @@ def save_user_profile(sender, instance, **kwargs): class RoleChangeLogs(models.Model): - """Модель для логирования изменений ролей пользователя""" + """ + Модель для логирования изменений ролей пользователя + + """ + user = models.ForeignKey(to=User, on_delete=models.CASCADE, help_text='Пользователь, которому присвоили другую роль') name = models.TextField(help_text='Имя пользователя') @@ -40,3 +47,4 @@ class RoleChangeLogs(models.Model): change_time = models.DateTimeField(help_text='Дата и время изменения роли') changed_by = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='changed_by', help_text='Кем была изменена роль') + From be6005c4be287187e393d34739a92d5753f71dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sat, 13 Mar 2021 16:41:28 +0300 Subject: [PATCH 02/17] Correct view documentation using typehints --- main/forms.py | 2 +- main/templates/registration/login.html | 2 +- main/views.py | 54 +++++++++++++++++++++----- 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/main/forms.py b/main/forms.py index a8c2ec1..dab07bb 100644 --- a/main/forms.py +++ b/main/forms.py @@ -32,7 +32,7 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail): class AdminPageUsers(forms.Form): """ - Форма для установки статусов engineer или light_agent пользователям + Форма для установки статусов engineer или light_agent пользователям. :param users: Поле для установки статуса :type users: :class:`ModelMultipleChoiceField` diff --git a/main/templates/registration/login.html b/main/templates/registration/login.html index 7a3ab68..ecbaa31 100644 --- a/main/templates/registration/login.html +++ b/main/templates/registration/login.html @@ -30,7 +30,7 @@ {% endif %} diff --git a/main/views.py b/main/views.py index 36365f2..d1155e0 100644 --- a/main/views.py +++ b/main/views.py @@ -27,7 +27,7 @@ from .models import UserProfile class CustomRegistrationView(RegistrationView): """ - Отображение и логика работы страницы регистрации пользователя + Класс отображения и логики работы страницы регистрации пользователя 1. Ввод email пользователя, указанный на Zendesk 2. В случае если пользователь с данным паролем зарегистрирован на Zendesk и относится к определенной организации, происходит сброс ссылки с установлением пароля на указанный email @@ -68,9 +68,11 @@ class CustomRegistrationView(RegistrationView): self.is_allowed = False @staticmethod - def set_permission(user) -> None: + def set_permission(user: User) -> None: """ - Дает разрешение на просмотр страница администратора, если пользователь имеет роль admin + Функция дает разрешение на просмотр страница администратора, если пользователь имеет роль admin. + + :param user: авторизованный пользователь (получает разрешение, имея роль "admin" """ if user.userprofile.role == 'admin': content_type = ContentType.objects.get_for_model(UserProfile) @@ -82,8 +84,11 @@ class CustomRegistrationView(RegistrationView): def get_success_url(self, user: User = None) -> success_url: """ - Возвращает url-адрес страницы, куда нужно перейти после успешной/неуспешной регистрации - Используется самой django-registration + Функция возвращает url-адрес страницы, куда нужно перейти после успешной/неуспешной регистрации. + Используется самой django-registration. + + :param user: пользователь, пытающийся зарегистроваться + :return: адресация на страницу успешной регистрации """ if self.is_allowed: return reverse_lazy('password_reset_done') @@ -94,7 +99,10 @@ class CustomRegistrationView(RegistrationView): @login_required() def profile_page(request: WSGIRequest) -> HttpResponse: """ - Отображение страницы профиля + Функция отображения страницы профиля. + + :param request: данные пользователя из БД + :return: адресация на страницу пользователя """ user_profile: UserProfile = request.user.userprofile update_profile(user_profile) @@ -105,7 +113,13 @@ def profile_page(request: WSGIRequest) -> HttpResponse: return render(request, 'pages/profile.html', context) -def auth_user(request): +def auth_user(request: WSGIRequest) -> ZenpyUser: + """ + Функция возвращает профиль пользователя на Zendesk. + + :param request: email, subdomain и token пользователя + :return: объект пользователя Zendesk + """ admin_creds = { 'email': os.environ.get('ACCESS_CONTROLLER_API_EMAIL'), 'subdomain': 'ngenix1612197338', @@ -117,7 +131,14 @@ def auth_user(request): @login_required() -def work_page(request, id): +def work_page(request: WSGIRequest, id: int) -> HttpResponse: + """ + Функция отображения страницы "Управления правами" для текущего пользователя (login_required). + + :param request: объект пользователя + :param id: id пользователя, используется для динамической адресации + :return: адресация на страницу "Управления правами" (либо на страницу "Авторизации", если id и user.id не совпадают + """ users = get_users_list() if request.user.id == id: engineers = [] @@ -139,7 +160,14 @@ def work_page(request, id): @login_required() -def work_hand_over(request): +def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect: + """ + Функция позволяет текущему пользователю (login_required) сдать права, а именно сменить в Zendesk роль с "engineer" на "light agent" + и установить роль "agent" в БД. Действия выполняются, если исходная роль пользователя "engineer". + + :param request: данные текущего пользователя (login_required) + :return: перезагрузка текущей страницы после выполнения смены роли + """ zenpy_user, admin = auth_user(request) if zenpy_user.custom_role_id == ZENDESK_ROLES['engineer']: @@ -151,7 +179,13 @@ def work_hand_over(request): @login_required() -def work_become_engineer(request): +def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect: + """ + Функция меняет роль пользователя в Zendesk на "engineer" и присваевает роль "agent" в БД (в случае, если исходная роль пользователя была "light_agent"). + + :param request: данные текущего пользователя (login_required) + :return: перезагрузка текущей страницы после выполнения смены роли + """ zenpy_user, admin = auth_user(request) if zenpy_user.custom_role_id == ZENDESK_ROLES['light_agent']: zenpy_user.custom_role_id = ZENDESK_ROLES['engineer'] From c9ae302103742599d6cef69844298f33dd4c51f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sun, 14 Mar 2021 12:42:18 +0300 Subject: [PATCH 03/17] Add documentation to new forms, and first part of extra_func --- main/extra_func.py | 132 +++++++++++++++++++++++---------------------- main/forms.py | 36 +++++++++---- main/views.py | 52 ++++++++++++++---- 3 files changed, 138 insertions(+), 82 deletions(-) diff --git a/main/extra_func.py b/main/extra_func.py index f51be0f..627a93c 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -43,8 +43,8 @@ class ZendeskAdmin: """ Функция осуществляет проверку существования пользователя в Zendesk по email. - :param email: - :return: + :param email: Email пользователя + :return: Является ли зарегистрированным """ return True if self.admin.search(email, type='user') else False @@ -52,8 +52,8 @@ class ZendeskAdmin: """ Функция возвращает имя пользователя по его email. - :param email: - :return: + :param email: Email пользователя + :return: Имя пользователя """ user = self.admin.users.search(email).values[0] return user.name @@ -62,8 +62,8 @@ class ZendeskAdmin: """ Функция возвращает роль пользователя по его email. - :param email: - :return: + :param email: Email пользователя + :return: Роль пользователя """ user = self.admin.users.search(email).values[0] return user.role @@ -72,8 +72,8 @@ class ZendeskAdmin: """ Функция возвращает id пользователя по его email - :param email: - :return: + :param email: Email пользователя + :return: ID пользователя """ user = self.admin.users.search(email).values[0] return user.id @@ -82,18 +82,18 @@ class ZendeskAdmin: """ Функция возвращает url-ссылку на аватар пользователя по его email. - :param email: - :return: + :param email: Email пользователя + :return: Аватар пользователя """ user = self.admin.users.search(email).values[0] return user.photo['content_url'] if user.photo else None def get_user(self, email: str): """ - Функция возвращает пользователя (объект) по его email + Функция возвращает пользователя (объект) по его email. - :param email: email пользователя - :return: email пользователя, найденного в БД + :param email: Email пользователя + :return: Объект пользователя, найденного в БД """ return self.admin.users.search(email).values[0] @@ -101,8 +101,8 @@ class ZendeskAdmin: """ Функция возвращает организацию, к которой относится пользователь по его email. - :param email: - :return: + :param email: Email пользователя + :return: Организация пользователя """ user = self.admin.users.search(email).values[0] return user.organization.name if user.organization else None @@ -138,9 +138,9 @@ def update_role(user_profile: UserProfile, role: str) -> UserProfile: """ Функция меняет роль пользователя. - :param user_profile: - :param role: - :return: + :param user_profile: Профиль пользователя + :param role: Новая роль + :return: Пользователь с обновленной ролью """ zendesk = ZendeskAdmin() user = zendesk.get_user(user_profile.user.email) @@ -152,8 +152,8 @@ def make_engineer(user_profile: UserProfile) -> UserProfile: """ Функция устанавливапет пользователю роль инженера. - :param user_profile: - :return: + :param user_profile: Профиль пользователя + :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "endineer" """ update_role(user_profile, ROLES['engineer']) @@ -162,8 +162,8 @@ def make_light_agent(user_profile: UserProfile) -> UserProfile: """ Функция устанавливапет пользователю роль легкого агента. - :param user_profile: - :return: + :param user_profile: Профиль пользователя + :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "light_agent" """ update_role(user_profile, ROLES['light_agent']) @@ -171,7 +171,6 @@ def make_light_agent(user_profile: UserProfile) -> UserProfile: def get_users_list() -> list: """ Функция возвращает список пользователей Zendesk, относящихся к организации. - :return: """ zendesk = ZendeskAdmin() admin = zendesk.get_user(zendesk.email) @@ -183,8 +182,8 @@ def update_profile(user_profile: UserProfile) -> UserProfile: """ Функция обновляет профиль пользователя в соотвтетствии с текущим в Zendesk. - :param user_profile: - :return: + :param user_profile: Профиль пользователя + :return: Обновленный, в соответствие с текущими данными в Zendesk, профиль пользователя """ user = ZendeskAdmin().get_user(user_profile.user.email) user_profile.name = user.name @@ -198,8 +197,8 @@ def check_user_exist(email: str) -> bool: """ Функция проверяет, существует ли пользователь. - :param email: - :return: + :param email: Email пользователя + :return: Зарегистрирован ли пользователь в Zendesk """ return ZendeskAdmin().check_user(email) @@ -208,19 +207,19 @@ def get_user_organization(email: str) -> str: """ Функция возвращает организацию пользователя. - :param email: - :return: + :param email: Email пользователя + :return: Организацния пользователя """ return ZendeskAdmin().get_user_org(email) -def daterange(start_date, end_date) -> list: +def daterange(start_date: date, end_date: date) -> list: """ Функция возвращает список дней с start_date по end_date, исключая правую границу. - :param start_date: - :param end_date: - :return: + :param start_date: Начальная дата + :param end_date: Конечная дата + :return: Список дней, не включая конечную дату """ dates = [] for n in range(int((end_date - start_date).days)): @@ -228,14 +227,14 @@ def daterange(start_date, end_date) -> list: return dates -def get_timedelta(log, time=None) -> timedelta: +def get_timedelta(log: RoleChangeLogs, time=None) -> timedelta: """ Функция возвращает объект класса timedelta, который хранит промежуток времени от начала суток до момента, который находится в log (объект класса RoleChangeLogs) или в time(datetime.time), если введён. - :param log: - :param time: - :return: + :param log: Лог + :param time: Время + :return: Сколько времени прошло от начала суток до события """ if time is None: time = log.change_time.time() @@ -245,16 +244,26 @@ def get_timedelta(log, time=None) -> timedelta: def last_day_of_month(day): """ - Функция возвращает последний день любого месяца. + Функция возвращает последний день текущего месяца. - :param day: - :return: + .. todo:: + Дописать документацию по данной функции (не поняла типы и суть) + + :param day: Текущий день + :return: Последний день месяца """ next_month = day.replace(day=28) + timedelta(days=4) return next_month - timedelta(days=next_month.day) class StatisticData: + """ + Класс для учета статистики интервалов работы пользователей. + Передаваемые параметры: start_date, end_date, user_email. + + .. todo:: + Дописать описание данного класса + """ def __init__(self, start_date, end_date, user_email, stat=None): self.display = None self.interval = None @@ -271,12 +280,11 @@ class StatisticData: else: self.statistic = stat - def get_statistic(self): + def get_statistic(self) -> dict: """ - Функция возвращает словарь statistic с применением формата отображения и интеравала работы(если они есть). - None, если были ошибки при создании. + Функция возвращает статистику работы пользователя. - :return: + :return: Cловарь statistic с применением формата отображения и интеравала работы(если они есть). None, если были ошибки при создании. """ if self.is_valid_statistic(): stat = self.statistic @@ -286,20 +294,20 @@ class StatisticData: else: return None - def is_valid_statistic(self): + def is_valid_statistic(self) -> bool: """ Функция проверяет были ли ошибки при создании статистики. - :return: + :return: True, при отутствии ошибок """ return not self.errors and self.statistic - def set_interval(self, interval): + def set_interval(self, interval: list) -> bool: """ - Функция устанавливает интервал работы. + Функция проверяет корректность представления интервала работы. - :param interval: - :return: + :param interval: Интервал должен быть указан в днях или месяцах. + :return: True, если указан верно """ if interval not in ['months', 'days']: self.errors += ['Интервал работы должен быть в днях или месяцах'] @@ -307,12 +315,12 @@ class StatisticData: self.interval = interval return True - def set_display(self, display_format): + def set_display(self, display_format: list) -> bool: """ - Функция устанавливает формат отображения. + Функция проверяет корректность формата отображения интервала. - :param display_format: - :return: + :param display_format: Формат отображения должен быть указан в днях или месяцах. + :return: True, если указан верно """ if display_format not in ['days', 'hours']: self.errors += ['Формат отображения должен быть в часах или днях'] @@ -320,31 +328,29 @@ class StatisticData: self.display = display_format return True - def get_data(self): + def get_data(self) -> list: """ - Функция возвращает данные - массив объектов RoleChangeLogs. - - :return: + Функция возвращает данные - список объектов RoleChangeLogs. """ if self.is_valid_data(): return self.data else: return None - def is_valid_data(self): + def is_valid_data(self) -> bool: """ Функция определяет были ли ошибки при получении логов. - :return: + :return: True, если ошибок нет """ return not self.errors - def _use_display(self, stat): + def _use_display(self, stat: list) -> list: """ Функция приводит данные к формату отображения. - :param stat: - :return: + :param stat: Список данных статистики пользователя + :return: Обновленный список """ if not self.is_valid_statistic() or not self.display: return stat diff --git a/main/forms.py b/main/forms.py index dab07bb..5f4531f 100644 --- a/main/forms.py +++ b/main/forms.py @@ -8,12 +8,11 @@ from main.models import UserProfile 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 - :type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail` + :param visible_fields.email: Поле для ввода email, зарегистирированного на Zendesk + :type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail` """ def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail: super().__init__(*args, **kwargs) @@ -32,10 +31,10 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail): class AdminPageUsers(forms.Form): """ - Форма для установки статусов engineer или light_agent пользователям. + Форма для установки статусов engineer или light_agent пользователям. - :param users: Поле для установки статуса - :type users: :class:`ModelMultipleChoiceField` + :param users: Поле для установки статуса + :type users: :class:`ModelMultipleChoiceField` """ users = forms.ModelMultipleChoiceField( @@ -52,8 +51,11 @@ class AdminPageUsers(forms.Form): class CustomAuthenticationForm(AuthenticationForm): """ - Форма для авторизации :class:`django.contrib.auth.forms.AuthenticationForm` - с изменением поля username на email + Форма для авторизации :class:`django.contrib.auth.forms.AuthenticationForm` + с изменением поля username на email. + + :param username: Поле для ввода email пользователя + :type username: :class:`django.forms.fields.CharField` """ username = forms.CharField( label="Электронная почта", @@ -69,6 +71,20 @@ class CustomAuthenticationForm(AuthenticationForm): class StatisticForm(forms.Form): + """ + Форма отображения интервалов работы пользователя. + + :param email: Поле для ввода email пользователя + :type email: :class:`django.forms.fields.EmailField` + :param interval: Расчет интервала рабочего времени + :type interval: :class:`django.forms.fields.CharField` + :param display_format: Формат отображения данных + :type display_format: :class:`django.forms.fields.CharField` + :param range_start: Дата и время начала работы + :type range_start: :class:`django.forms.fields.DateField` + :param range_end: Дата и время окончания работы + :type range_end: :class:`django.forms.fields.DateField` + """ email = forms.EmailField( label='Электроная почта', ) diff --git a/main/views.py b/main/views.py index d1155e0..e20be04 100644 --- a/main/views.py +++ b/main/views.py @@ -29,9 +29,14 @@ class CustomRegistrationView(RegistrationView): """ Класс отображения и логики работы страницы регистрации пользователя - 1. Ввод email пользователя, указанный на Zendesk - 2. В случае если пользователь с данным паролем зарегистрирован на Zendesk и относится к определенной организации, происходит сброс ссылки с установлением пароля на указанный email - 3. Создается пользователь class User, а также его профиль + :param form_class: Форма, которую необходимо заполнить для регистрации + :type form_class: :class:`forms.CustomRegistrationForm` + :param template_name: Указание пути к html-странице django регистрации + :type template_name: :class:`str` + :param success_url: Указание пути к html-странице завершения регистрации + :type success_url: :class:`django.utils.functional.lazy..__proxy__` + :param is_allowed: Определение зарегистрирован ли пользователь с введенным email на Zendesk и принадлежит ли он к организации SYSTEM + :type is_allowed: :class:`bool` """ form_class = CustomRegistrationForm template_name = 'django_registration/registration_form.html' @@ -39,6 +44,16 @@ class CustomRegistrationView(RegistrationView): is_allowed = True def register(self, form: CustomRegistrationForm) -> User: + """ + Функция регистрации пользователя. + 1. Ввод email пользователя, указанный на Zendesk + 2. В случае если пользователь с данным паролем зарегистрирован на Zendesk и относится к организации SYSTEM, + происходит сброс ссылки с установлением пароля на указанный email + 3. Создается пользователь class User, а также его профиль. + + :param form: Email пользователя на Zendesk + :return: user + """ self.is_allowed = True if check_user_exist(form.data['email']) and get_user_organization(form.data['email']) == 'SYSTEM': forms = PasswordResetForm(self.request.POST) @@ -72,7 +87,7 @@ class CustomRegistrationView(RegistrationView): """ Функция дает разрешение на просмотр страница администратора, если пользователь имеет роль admin. - :param user: авторизованный пользователь (получает разрешение, имея роль "admin" + :param user: авторизованный пользователь (получает разрешение, имея роль "admin") """ if user.userprofile.role == 'admin': content_type = ContentType.objects.get_for_model(UserProfile) @@ -195,9 +210,15 @@ def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect: return HttpResponseRedirect(reverse('work', args=(request.user.id,))) -def main_page(request): +def main_page(request: WSGIRequest) -> HttpResponse: """ - Отображение логгирования на главной странице + Функция отображения логгирования на главной странице. + + .. todo:: + Дописать параметры в документацию: + + :param request: + :return: """ logger = logging.getLogger('main.index') logger.info('Index page opened') @@ -205,6 +226,13 @@ def main_page(request): class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): + """ + Класс отображения страницы администратора. + + .. todo:: + Документация для данного класса: + + """ permission_required = 'main.has_control_access' template_name = 'pages/adm_ruleset.html' form_class = AdminPageUsers @@ -231,7 +259,7 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): @staticmethod def count_users(users) -> tuple: """ - Функция подсчета количества сотрудников с ролями engineer и light_a + Функция подсчета количества сотрудников с ролями "engineer" и "light_agent". .. todo:: this func counts users from all zendesk instead of just from a model: @@ -259,13 +287,19 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): class CustomLoginView(LoginView): """ - Отображение страницы авторизации пользователя + Классс отображения страницы авторизации пользователя. """ form_class = CustomAuthenticationForm @login_required() -def statistic_page(request): +def statistic_page(request: WSGIRequest) -> HttpResponse: + """ + Функция отображения страницы статистики (для "superuser"). + + :param request: данные о пользователе: email, время и интервал работы. Данные получаем через forms.StatisticForm + :return: адресация на страницу статистики + """ if not request.user.is_superuser: return redirect('index') context = { From 79b7418b6109ee752eb910fb8c5996cf3ad9b181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sun, 14 Mar 2021 15:41:58 +0300 Subject: [PATCH 04/17] Add enchant without correct working --- docs/source/conf.py | 29 ++++++++++++++++------------- main/views.py | 2 +- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index c9efe47..87fb134 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -14,6 +14,8 @@ import os import sys import importlib import inspect +import enchant + sys.path.insert(0, os.path.abspath('../../')) @@ -35,10 +37,10 @@ ManagerDescriptor.__get__ = lambda self, *args, **kwargs: self.manager from django.db.models.query import QuerySet QuerySet.__repr__ = lambda self: self.__class__.__name__ -try: - import enchant # NoQA -except ImportError: - enchant = None +# try: +# import enchant # NoQA +# except ImportError: +# enchant = None django.setup() @@ -52,8 +54,6 @@ author = 'SHP S101, group 2' release = 'v0.01' -# Django sphinx setup by https://gist.github.com/codingjoe/314bda5a07ff3b41f247 - # -- General configuration --------------------------------------------------- def process_django_models(app, what, name, obj, options, lines): @@ -91,7 +91,6 @@ def process_django_models(app, what, name, obj, options, lines): lines.append(':type %s: %s.%s' % (field.attname, module, field_type.__name__)) if enchant is not None: lines += spelling_white_list - print('ok') return lines @@ -118,6 +117,9 @@ def skip_queryset(app, what, name, obj, skip, options): return True return skip +def process_signature(app, what, name, obj, options, signature, return_annotation): + return None + def setup(app): # Register the docstring processor with sphinx @@ -125,12 +127,14 @@ def setup(app): app.connect('autodoc-skip-member', skip_queryset) if enchant is not None: app.connect('autodoc-process-docstring', process_modules) + app.connect('autodoc-process-signature', process_signature) + # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [ +extensions = { 'sphinx.ext.todo', 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', @@ -138,12 +142,11 @@ extensions = [ 'sphinx_rtd_theme', 'sphinx.ext.graphviz', 'sphinx.ext.inheritance_diagram', - 'sphinx_autodoc_typehints' + 'sphinx_autodoc_typehints', + 'sphinxcontrib.spelling' -] +} -if enchant is not None: - extensions.append('sphinxcontrib.spelling') # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -188,7 +191,7 @@ intersphinx_mapping = { autodoc_default_flags = ['members'] # spell checking -spelling_lang = 'en_US' +spelling_lang = 'ru_RU' spelling_word_list_filename = 'spelling_wordlist.txt' spelling_show_suggestions = True spelling_ignore_pypi_package_names = True diff --git a/main/views.py b/main/views.py index e20be04..570866b 100644 --- a/main/views.py +++ b/main/views.py @@ -27,7 +27,7 @@ from .models import UserProfile class CustomRegistrationView(RegistrationView): """ - Класс отображения и логики работы страницы регистрации пользователя + Классccc отображения и логики работы страницы регистрации пользователя :param form_class: Форма, которую необходимо заполнить для регистрации :type form_class: :class:`forms.CustomRegistrationForm` From 4f240e19f64de1349d32d4086a4ae3c224a014ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sun, 14 Mar 2021 16:30:14 +0300 Subject: [PATCH 05/17] Add spelling settings and install tox but spelling is not still working --- docs/Makefile | 1 + docs/source/conf.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/Makefile b/docs/Makefile index 461302a..e2faff5 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -21,3 +21,4 @@ help: spelling: $(SPHINXBUILD) -b spelling -W $(ALLSPHINXOPTS) $(BUILDDIR)/spelling +# $(SPHINXBUILD) -b spelling 'docs/source' 'docs/build' diff --git a/docs/source/conf.py b/docs/source/conf.py index 87fb134..25cd641 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -192,9 +192,18 @@ autodoc_default_flags = ['members'] # spell checking spelling_lang = 'ru_RU' -spelling_word_list_filename = 'spelling_wordlist.txt' +tokenizer_lang = 'ru_RU' +spelling_word_list_filename = ['spelling_wordlist.txt', 'another_list.txt'] +spelling_exclude_patterns=['ignored_*'] spelling_show_suggestions = True +spelling_show_whole_line=True +spelling_warning=True spelling_ignore_pypi_package_names = True +spelling_ignore_wiki_words=True +spelling_ignore_acronyms=True +spelling_ignore_python_builtins=True +spelling_ignore_importable_modules=True +spelling_ignore_contributor_names=True # -- Options for todo extension ---------------------------------------------- From 0a7b4fb1a7d269ffbc4eec3e2fa15bb3d8af1c57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Thu, 18 Mar 2021 17:03:30 +0300 Subject: [PATCH 06/17] Temporary vertion with non-working enchant --- docs/source/conf.py | 14 +++------- main/extra_func.py | 64 ++++++++++++++++++++++++++++----------------- main/views.py | 34 +++++++++++++++++++----- 3 files changed, 70 insertions(+), 42 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 25cd641..972970b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -37,10 +37,7 @@ ManagerDescriptor.__get__ = lambda self, *args, **kwargs: self.manager from django.db.models.query import QuerySet QuerySet.__repr__ = lambda self: self.__class__.__name__ -# try: -# import enchant # NoQA -# except ImportError: -# enchant = None + django.setup() @@ -117,17 +114,12 @@ def skip_queryset(app, what, name, obj, skip, options): return True return skip -def process_signature(app, what, name, obj, options, signature, return_annotation): - return None - def setup(app): # Register the docstring processor with sphinx app.connect('autodoc-process-docstring', process_django_models) app.connect('autodoc-skip-member', skip_queryset) - if enchant is not None: - app.connect('autodoc-process-docstring', process_modules) - app.connect('autodoc-process-signature', process_signature) + app.connect('autodoc-process-docstring', process_modules) @@ -191,6 +183,7 @@ intersphinx_mapping = { autodoc_default_flags = ['members'] # spell checking +print(enchant.list_languages()) spelling_lang = 'ru_RU' tokenizer_lang = 'ru_RU' spelling_word_list_filename = ['spelling_wordlist.txt', 'another_list.txt'] @@ -209,7 +202,6 @@ spelling_ignore_contributor_names=True # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True - set_type_checking_flag = True typehints_fully_qualified = True always_document_param_types = True diff --git a/main/extra_func.py b/main/extra_func.py index 627a93c..8433730 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -242,13 +242,10 @@ def get_timedelta(log: RoleChangeLogs, time=None) -> timedelta: return time -def last_day_of_month(day): +def last_day_of_month(day: int) -> int: """ Функция возвращает последний день текущего месяца. - .. todo:: - Дописать документацию по данной функции (не поняла типы и суть) - :param day: Текущий день :return: Последний день месяца """ @@ -259,10 +256,26 @@ def last_day_of_month(day): class StatisticData: """ Класс для учета статистики интервалов работы пользователей. - Передаваемые параметры: start_date, end_date, user_email. + Передаваемые параметры: start_date, end_date, user_email, stat. - .. todo:: - Дописать описание данного класса + :param display: Формат отображения времени (часы, минуты) + :type display: :class:`list` + :param interval: Инетрвал времени в часах и минутах + :type interval: :class:`list` + :param start_date: Дата начала работы + :type start_date: :class:`date` + :param end_date: Дата окончания работы + :type end_date: :class:`date` + :param email: Email пользователя + :type email: :class:`str` + :param errors: Список ошибок + :type errors: :class:`list` + :param warnings: Список предупрежденй + :type warnings: :class:`list` + :param data: Ретроспектива смены ролей пользователя + :type data: :class:`dict` + :param statistic: Интервалы работы пользователя + :type statistic: :class:`dict` """ def __init__(self, start_date, end_date, user_email, stat=None): self.display = None @@ -362,12 +375,12 @@ class StatisticData: new_stat[key] = item / (ONE_DAY * 3600) return new_stat - def _use_interval(self, stat): + def _use_interval(self, stat: dict) -> dict: """ Функция объединяет ключи и значения в соответствии с интервалом работы. - :param stat: - :return: + :param stat: Статистика работы пользователя + :return: Обновленная статистика """ if not self.is_valid_statistic() or not self.interval: return stat @@ -386,19 +399,21 @@ class StatisticData: new_stat = stat # статистика изначально в днях return new_stat - def check_time(self): + def check_time(self) -> bool: """ - Проверка на правильность введенного времени + Функция проверяет корректность введенного времени. + + :return: True, если время указано корректно. Иначе, False """ if self.end_date < self.start_date or self.end_date > datetime.now().date(): return False return True - def _set_data(self): + def _set_data(self) -> dict: """ Функция возвращает логи в диапазоне дат start_date-end_date для пользователя с указанным email. - :return: + :return: Данные о смене статусов пользователя. Если пользователь не найден или интервал времени некорректен - ошибку. """ if not self.check_time(): self.errors += ['Конец диапазона должен быть позже начала диапазона и раньше текущего времени'] @@ -411,11 +426,11 @@ class StatisticData: except User.DoesNotExist: self.errors += ['Пользователь не найден'] - def _set_statistic(self): + def _set_statistic(self) -> dict: """ Функция заполняет словарь, в котором ключ - дата, значение - кол-во проработанных в этот день секунд. - :return: + :return: Статистика работы пользователя (statistic) """ self.clear_statistic() if not self.get_data(): @@ -445,22 +460,23 @@ class StatisticData: elapsed_time = next_log.change_time - current_log.change_time self.statistic[current_log.change_time.date()] += elapsed_time.total_seconds() - def fill_daterange(self, first, last, val=24 * 3600): + def fill_daterange(self, first: date, last: date, val: int = 24 * 3600) -> dict: """ Функция заполеняет диапазон дат значением val (по умолчанию val = кол-во секунд в 1 дне). - :param first: - :param last: - :param val: - :return: + :param first: Начальная дата интервала + :param last: Последняя дата интервала + :param val: Количество секунд в одном дне + :return: Статистику пользоваиеля с указанным количеством секунд в заданных днях """ for day in daterange(first, last): self.statistic[day] = val - def clear_statistic(self): + def clear_statistic(self) -> dict: """ - Функция осуществляет обновление всех дней - :return: + Функция осуществляет обновление всех дней. + + :return: Статистику пользователя с количеством рабочих секунд = 0 """ self.statistic.clear() self.fill_daterange(self.start_date, self.end_date + timedelta(days=1), 0) diff --git a/main/views.py b/main/views.py index 570866b..9ed7e6e 100644 --- a/main/views.py +++ b/main/views.py @@ -229,9 +229,14 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): """ Класс отображения страницы администратора. - .. todo:: - Документация для данного класса: - + :param permission_required: Права доступа к странице администратора + :type permission_required: :class:`str` + :param template_name: HTML-шаблон страницы администратора + :type template_name: :class:`str` + :param form_class: Форма страницы администратора + :type form_class: :class:`forms.AdminPageUsersForm` + :param success_url: Адрес страницы администратора + :type success_url: :class:`HttpResponseRedirect` """ permission_required = 'main.has_control_access' template_name = 'pages/adm_ruleset.html' @@ -240,7 +245,10 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): def form_valid(self, form: AdminPageUsers) -> AdminPageUsers: """ - Функция установки ролей пользователям + Функция обновления страницы AdminPageUsers. + + :param form: Форма страницы администратора + :return: Обновленная страница (пользователям проставлены новые статусы) """ if 'engineer' in self.request.POST: self.make_engineers(form.cleaned_data['users']) @@ -250,19 +258,31 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): @staticmethod def make_engineers(users): + """ + Функция проходит по списку пользователей, проставляя статус "engineer". + + :param users: Список пользователей + :return: Обновленный список пользователей + """ [make_engineer(user) for user in users] @staticmethod def make_light_agents(users): + """ + Функция проходит по списку пользователей, проставляя статус "light_agent". + + :param users: Список пользователей + :return: Обновленный список пользователей + """ [make_light_agent(user) for user in users] @staticmethod def count_users(users) -> tuple: """ - Функция подсчета количества сотрудников с ролями "engineer" и "light_agent". + Функция подсчета количества сотрудников с ролями "engineer" и "light_agent". - .. todo:: - this func counts users from all zendesk instead of just from a model: + .. todo:: + this func counts users from all zendesk instead of just from a model: """ engineers, light_agents = 0, 0 for user in users: From a8ca0b0eae3b978cbc5bceeb6bddeadffb145496 Mon Sep 17 00:00:00 2001 From: Yuriy Kulakov Date: Sun, 21 Mar 2021 19:47:42 +0300 Subject: [PATCH 07/17] Added notificcations about role changes --- main/extra_func.py | 12 +++++------ main/migrations/0015_auto_20210321_1600.py | 18 ++++++++++++++++ main/templates/base/success_messages.html | 14 +++++++++++++ main/templates/pages/adm_ruleset.html | 3 ++- main/templates/pages/work.html | 1 + main/views.py | 24 ++++++++++++++-------- static/main/js/control.js | 4 ++-- 7 files changed, 58 insertions(+), 18 deletions(-) create mode 100644 main/migrations/0015_auto_20210321_1600.py create mode 100644 main/templates/base/success_messages.html diff --git a/main/extra_func.py b/main/extra_func.py index f2a4df9..f5488d6 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -236,16 +236,14 @@ def update_user_in_model(profile, zendesk_user): profile.name = zendesk_user.name profile.role = zendesk_user.role profile.image = zendesk_user.photo['content_url'] if zendesk_user.photo else None - profile.custom_role_id = zendesk_user.custom_role_id + if zendesk_user.custom_role_id is not None: + profile.custom_role_id = int(zendesk_user.custom_role_id) profile.save() def count_users(users) -> tuple: """ Функция подсчета количества сотрудников с ролями engineer и light_a - - .. todo:: - this func counts users from all zendesk instead of just from a model: """ engineers, light_agents = 0, 0 for user in users: @@ -443,11 +441,11 @@ class StatisticData: if first_log.old_role == ROLES['engineer']: self.statistic[first_log.change_time.date()] += get_timedelta(first_log).total_seconds() - if last_log.new_role == ROLES['engineer']: #TODO отдельная функция + if last_log.new_role == ROLES['engineer']: # TODO отдельная функция self.fill_daterange(last_log.change_time.date() + timedelta(days=1), self.end_date + timedelta(days=1)) if last_log.change_time.date() == timezone.now().date(): self.statistic[last_log.change_time.date()] += ( - get_timedelta(None, timezone.now().time()) - get_timedelta(last_log) + get_timedelta(None, timezone.now().time()) - get_timedelta(last_log) ).total_seconds() else: self.statistic[last_log.change_time.date()] += ( @@ -455,7 +453,7 @@ class StatisticData: if self.end_date == timezone.now().date(): self.statistic[self.end_date] = get_timedelta(None, timezone.now().time()).total_seconds() - for log_index in range(len(self.data) - 1): #TODO отдельная функция + for log_index in range(len(self.data) - 1): # TODO отдельная функция if self.data[log_index].new_role == ROLES['engineer']: current_log, next_log = self.data[log_index], self.data[log_index + 1] if current_log.change_time.date() != next_log.change_time.date(): diff --git a/main/migrations/0015_auto_20210321_1600.py b/main/migrations/0015_auto_20210321_1600.py new file mode 100644 index 0000000..79b5726 --- /dev/null +++ b/main/migrations/0015_auto_20210321_1600.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.6 on 2021-03-21 13:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0014_auto_20210314_1455'), + ] + + operations = [ + migrations.AlterField( + model_name='unassignedticket', + name='status', + field=models.IntegerField(choices=[(0, 'Снят с пользователя, перенесён в буферную группу'), (1, 'Авторство восстановлено'), (2, 'Пока нас не было, тикет испарился из буферной группы. Дополнительные действия не требуются'), (3, 'Тикет уже был закрыт. Дополнительные действия не требуются'), (4, 'Тикет решён. Записан на пользователя с почтой SOLVED_TICKETS_EMAIL')], default=0), + ), + ] diff --git a/main/templates/base/success_messages.html b/main/templates/base/success_messages.html new file mode 100644 index 0000000..fdef313 --- /dev/null +++ b/main/templates/base/success_messages.html @@ -0,0 +1,14 @@ +
+ {% for message in messages %} + + {% endfor %} +
diff --git a/main/templates/pages/adm_ruleset.html b/main/templates/pages/adm_ruleset.html index 92686f1..b324ac7 100644 --- a/main/templates/pages/adm_ruleset.html +++ b/main/templates/pages/adm_ruleset.html @@ -101,12 +101,13 @@ - {% endblock %} {% endblock %} + + {% include 'base/success_messages.html' %} diff --git a/main/templates/pages/work.html b/main/templates/pages/work.html index 1ce7dd3..67c5846 100644 --- a/main/templates/pages/work.html +++ b/main/templates/pages/work.html @@ -61,6 +61,7 @@ Сдать права инженера + {% include 'base/success_messages.html' %} {% endblock %} diff --git a/main/views.py b/main/views.py index a8b3af5..2c00277 100644 --- a/main/views.py +++ b/main/views.py @@ -7,6 +7,7 @@ from django.contrib.auth.models import User, Permission from django.contrib.auth.tokens import default_token_generator from django.contrib.auth.views import LoginView from django.contrib.contenttypes.models import ContentType +from django.contrib.messages.views import SuccessMessageMixin from django.core.exceptions import PermissionDenied from django.core.handlers.wsgi import WSGIRequest from django.http import HttpResponseRedirect, HttpResponse @@ -14,9 +15,12 @@ from django.shortcuts import render, get_list_or_404, redirect from django.urls import reverse_lazy, reverse from django.views.generic import FormView from django_registration.views import RegistrationView +from django.contrib import messages + # Django REST from rest_framework import viewsets from rest_framework.response import Response + from zenpy.lib.api_objects import User as ZenpyUser from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES, ZENDESK_MAX_AGENTS @@ -131,6 +135,7 @@ def work_page(request, id): context = { 'engineers': engineers, 'agents': light_agents, + 'messages': messages.get_messages(request), 'licences_remaining': max(0, ZENDESK_MAX_AGENTS - len(engineers)), 'pagename': 'Управление правами' } @@ -138,15 +143,19 @@ def work_page(request, id): return redirect("login") +def user_update(zenpy_user, admin, request): + admin.users.update(zenpy_user) + request.user.userprofile.role = "agent" + request.user.userprofile.save() + messages.success(request, "Права были изменены") + + @login_required() def work_hand_over(request): zenpy_user, admin = auth_user(request) - if zenpy_user.custom_role_id == ZENDESK_ROLES['engineer']: zenpy_user.custom_role_id = ZENDESK_ROLES['light_agent'] - admin.users.update(zenpy_user) - request.user.userprofile.role = "agent" - request.user.userprofile.save() + user_update(zenpy_user, admin, request) return HttpResponseRedirect(reverse('work', args=(request.user.id,))) @@ -155,9 +164,7 @@ def work_become_engineer(request): zenpy_user, admin = auth_user(request) if zenpy_user.custom_role_id == ZENDESK_ROLES['light_agent']: zenpy_user.custom_role_id = ZENDESK_ROLES['engineer'] - admin.users.update(zenpy_user) - request.user.userprofile.role = "agent" - request.user.userprofile.save() + user_update(zenpy_user, admin, request) return HttpResponseRedirect(reverse('work', args=(request.user.id,))) @@ -170,11 +177,12 @@ def main_page(request): return render(request, 'pages/index.html') -class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): +class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, FormView): permission_required = 'main.has_control_access' template_name = 'pages/adm_ruleset.html' form_class = AdminPageUsers success_url = '/control/' + success_message = "Права были изменены." def form_valid(self, form: AdminPageUsers) -> AdminPageUsers: """ diff --git a/static/main/js/control.js b/static/main/js/control.js index 62d2daf..e518c36 100644 --- a/static/main/js/control.js +++ b/static/main/js/control.js @@ -65,7 +65,7 @@ class TableBody extends React.Component { componentDidMount() { this.interval = setInterval(() => { this.get_users(); - }, 10000); + }, 60000); } componentWillUnmount() { @@ -80,4 +80,4 @@ class TableBody extends React.Component { } ReactDOM.render(, document.getElementById("new_tbody")); -setTimeout(() => document.getElementById("old_tbody").remove(), 10000); +setTimeout(() => document.getElementById("old_tbody").remove(), 60000); From 252f3e81441de3ccdbfd1a0145f0c82e47eb0ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Tue, 23 Mar 2021 13:53:00 +0300 Subject: [PATCH 08/17] Change views docs --- main/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/views.py b/main/views.py index 9ed7e6e..7a6e4f8 100644 --- a/main/views.py +++ b/main/views.py @@ -27,7 +27,7 @@ from .models import UserProfile class CustomRegistrationView(RegistrationView): """ - Классccc отображения и логики работы страницы регистрации пользователя + Класс отображения и логики работы страницы регистрации пользователя :param form_class: Форма, которую необходимо заполнить для регистрации :type form_class: :class:`forms.CustomRegistrationForm` From 6c19ebdd3e423162a8229a578d8100307d556247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Tue, 23 Mar 2021 15:05:16 +0300 Subject: [PATCH 09/17] Add extra_func docs after pulling --- main/extra_func.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/main/extra_func.py b/main/extra_func.py index ad9220a..8268814 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -90,7 +90,13 @@ class ZendeskAdmin: """ return self.admin.users.search(email).values[0] - def get_group(self, name): + def get_group(self, name: str) -> str: + """ + Функция возвращает группы, к которым принадлежит пользователь. + + :param name: Имя пользователя + :return: Группы пользователя (в случае отствия None) + """ groups = self.admin.search(name) for group in groups: return group @@ -195,7 +201,7 @@ def make_light_agent(user_profile: UserProfile, who_changes: User) -> UserProfil def get_users_list() -> list: """ - Функция **get_users_list** возвращает список пользователей Zendesk, относящихся к организации. + Функция **get_users_list** возвращает список пользователей Zendesk, относящихся к организации SYSTEM. """ zendesk = ZendeskAdmin() @@ -249,7 +255,7 @@ def get_user_organization(email: str) -> str: def check_user_auth(email: str, password: str) -> bool: """ - Функция проверяет, верны ли входные данные + Функция проверяет, верны ли входные данные. :raise: :class:`APIException`: исключение, вызываемое если пользователь не аутентифицирован """ @@ -266,7 +272,14 @@ def check_user_auth(email: str, password: str) -> bool: return True -def update_user_in_model(profile, zendesk_user): +def update_user_in_model(profile: UserProfile, zendesk_user: User) -> UserProfile: + """ + Функция обновляет профиль пользователя при изменении данных пользователя на Zendesk. + + :param profile: Профиль пользователя + :param zendesk_user: Данные пользователя в Zendesk + :return: Обновленный профиль пользователя + """ profile.name = zendesk_user.name profile.role = zendesk_user.role profile.image = zendesk_user.photo['content_url'] if zendesk_user.photo else None From b483998686623c28b165e642e6be331284388963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Tue, 23 Mar 2021 15:27:52 +0300 Subject: [PATCH 10/17] Add views docs after pulling --- main/views.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main/views.py b/main/views.py index 8bf2d32..08a6f91 100644 --- a/main/views.py +++ b/main/views.py @@ -181,7 +181,16 @@ def work_page(request: WSGIRequest, id: int) -> HttpResponse: return redirect("login") -def user_update(zenpy_user, admin, request): +def user_update(zenpy_user: User, admin: User, request: WSGIRequest) -> UserProfile: + """ + Функция устанавливает пользователю роль "agent" (изменяет профиль). + + :param zenpy_user: Пользователь Zendesk + :param admin: Пользователь + :param request: Запрос установки роли "agent" в Userprofile + :return: Обновленный профиль пользователя + """ + admin.users.update(zenpy_user) request.user.userprofile.role = "agent" request.user.userprofile.save() From 2ce272d2066129968f8c3b997d97475578732ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Tue, 23 Mar 2021 20:22:42 +0300 Subject: [PATCH 11/17] Add models docs after pulling --- main/models.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/main/models.py b/main/models.py index 15ec6b9..8c21293 100644 --- a/main/models.py +++ b/main/models.py @@ -7,8 +7,9 @@ from django.utils import timezone class UserProfile(models.Model): """ - Модель профиля пользователя + Модель профиля пользователя. + Профиль создается и изменяется при создании и изменении модель User. """ class Meta: @@ -36,8 +37,7 @@ def save_user_profile(sender, instance, **kwargs): class RoleChangeLogs(models.Model): """ - Модель для логирования изменений ролей пользователя - + Модель для логирования изменений ролей пользователя. """ user = models.ForeignKey(to=User, on_delete=models.CASCADE, @@ -50,6 +50,15 @@ class RoleChangeLogs(models.Model): class UnassignedTicketStatus(models.IntegerChoices): + """ + Класс статусов нераспределенных тикетов. + + :param UNASSIGNED: Снят с пользователя, перенесён в буферную группу + :param RESTORED: Авторство восстановлено + :param NOT_FOUND: Пока нас не было, тикет испарился из буферной группы. Дополнительные действия не требуются + :param CLOSED: Тикет уже был закрыт. Дополнительные действия не требуются + :param SOLVED: Тикет решён. Записан на пользователя с почтой SOLVED_TICKETS_EMAIL + """ UNASSIGNED = 0, 'Снят с пользователя, перенесён в буферную группу' RESTORED = 1, 'Авторство восстановлено' NOT_FOUND = 2, 'Пока нас не было, тикет испарился из буферной группы. Дополнительные действия не требуются' @@ -58,6 +67,9 @@ class UnassignedTicketStatus(models.IntegerChoices): class UnassignedTicket(models.Model): - assignee = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='tickets') + """ + Модель нераспределенного тикета. + """ + assignee = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='tickets', help_text='Пользователь, с которого снят тикет') ticket_id = models.IntegerField(help_text='Номер тикера, для которого сняли ответственного') - status = models.IntegerField(choices=UnassignedTicketStatus.choices, default=UnassignedTicketStatus.UNASSIGNED) + status = models.IntegerField(choices=UnassignedTicketStatus.choices, default=UnassignedTicketStatus.UNASSIGNED, help_text='Статус тикета') From 0413a2edafec3c018531a07717aef56282d84625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Tue, 23 Mar 2021 20:55:30 +0300 Subject: [PATCH 12/17] Add apiauth and serializers docs --- docs/source/code.rst | 16 ++++++++++++++++ main/apiauth.py | 11 ++++++++++- main/serializers.py | 6 ++++++ main/views.py | 2 +- 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/source/code.rst b/docs/source/code.rst index 7c5a05d..65539a7 100644 --- a/docs/source/code.rst +++ b/docs/source/code.rst @@ -26,6 +26,22 @@ Extra Functions :members: +*************** +Serializers +*************** + +.. automodule:: main.serializers + :members: + + +*************** +API functions +*************** + +.. automodule:: main.apiauth + :members: + + ***** Views ***** diff --git a/main/apiauth.py b/main/apiauth.py index 4e3f761..c24e85f 100644 --- a/main/apiauth.py +++ b/main/apiauth.py @@ -4,7 +4,16 @@ from zenpy import Zenpy from zenpy.lib.api_objects import User as ZenpyUser -def api_auth(): +def api_auth() -> dict: + """ + Функция создания пользователя с использованием Zendesk API. + + Получает из env Zendesk - email, token, password пользователя. + Если данные валидны и пользователь Zendesk с указанным email и токеном или паролем существует, + создается словарь данных пользователя, полученных через API c Zendesk. + + :return: данные пользователя + """ credentials = { 'subdomain': 'ngenix1612197338' } diff --git a/main/serializers.py b/main/serializers.py index f72fc86..aae45a6 100644 --- a/main/serializers.py +++ b/main/serializers.py @@ -4,12 +4,18 @@ from main.models import UserProfile class UserSerializer(serializers.HyperlinkedModelSerializer): + """ + Класс serializer для модели User. + """ class Meta: model = User fields = ['email'] class ProfileSerializer(serializers.HyperlinkedModelSerializer): + """ + Класс serialiser для модель профиля пользователя. + """ user = UserSerializer() class Meta: diff --git a/main/views.py b/main/views.py index 08a6f91..f1900a7 100644 --- a/main/views.py +++ b/main/views.py @@ -37,7 +37,7 @@ from .models import UserProfile class CustomRegistrationView(RegistrationView): """ - Отображение и логика работы страницы регистрации пользователя + Отображение и логика работы страницы регистрации пользователя. :param form_class: Форма, которую необходимо заполнить для регистрации :type form_class: :class:`forms.CustomRegistrationForm` From f45a01fd12d91327523426616701d8a22f701506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sat, 27 Mar 2021 10:53:15 +0300 Subject: [PATCH 13/17] Make user docs for main, registration and ligin pages --- docs/source/_static/login.png | Bin 0 -> 28928 bytes docs/source/_static/main.png | Bin 0 -> 65899 bytes docs/source/_static/main_logined.png | Bin 0 -> 64566 bytes docs/source/_static/registration.png | Bin 0 -> 26047 bytes docs/source/overview.rst | 42 ++++++++++++++++++++++++++- 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 docs/source/_static/login.png create mode 100644 docs/source/_static/main.png create mode 100644 docs/source/_static/main_logined.png create mode 100644 docs/source/_static/registration.png diff --git a/docs/source/_static/login.png b/docs/source/_static/login.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf59cfe1c90f61b232a8c1264f1dce6595f5f69 GIT binary patch literal 28928 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 A*#H0l literal 0 HcmV?d00001 diff --git a/docs/source/_static/main_logined.png b/docs/source/_static/main_logined.png new file mode 100644 index 0000000000000000000000000000000000000000..51051015f33f574d3fb8743fb4fa01f7bbdacb9e GIT binary patch literal 64566 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 DwwxnE literal 0 HcmV?d00001 diff --git a/docs/source/_static/registration.png b/docs/source/_static/registration.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e8111f8deef6877710b36a70535a32ab25b600 GIT binary patch literal 26047 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 literal 0 HcmV?d00001 diff --git a/docs/source/overview.rst b/docs/source/overview.rst index 447e273..298b7aa 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -2,7 +2,9 @@ Документация пользователя ========================= +****************************** **Управление правами доступа** +****************************** **ZenDesk Access Controller** - Web-приложение, для выдачи прав пользователям системы по запросу самого пользователя. @@ -11,8 +13,46 @@ Оставшиеся 9 человек получают права легкого агента - без прав редактирования, а только чтение. -**Интерфейс пользователя:** +***************** +Главная страница +***************** +Меню главной страницы предоставляет Вам выбор: +* "Войти" - если Вы уже являетесь зарегистрированным пользователем +* "Зарегистрироваться" - при первом входе + +.. image:: _static/main.png + +Внимание! Для регистрации используется email с сайта Zendesk. Регистрация по каждому email +возможна один раз + +**После авторизации пользователь может выбрать из следующих разделов меню:** + +* "Профиль" - просмотреть свои данные и запросить права доступа +* "Управление" - доступно для администраторов, предоставляет возможность группового назначения ролей пользователям + +.. image:: _static/main_logined.png + +************* +Регистрация +************* + +Для регистрации необходимо ввести email, который указан Вами в Zendesk. + +.. image:: _static/registration.png + +На электронную почту придет ссылка, пройдя по которой, Вам необходимо задать пароль. + +*********** +Авторизация +*********** + +Для входа необходимо ввести email и пароль + +.. image:: _static/login.png + +Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указанть email. +На Вашу почту придет ссылка для установки нового пароля. .. |copy| unicode:: 0xA9 .. Школа программистов S101, группа 2. 2021гю From 09a3e134eaae31c652e8082ec5027633d27a9971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sat, 27 Mar 2021 11:50:22 +0300 Subject: [PATCH 14/17] Make users docs for rermission pages --- docs/source/_static/main_logined_agent.png | Bin 0 -> 54392 bytes docs/source/_static/permission_management.png | Bin 0 -> 74955 bytes docs/source/_static/permission_request.png | Bin 0 -> 77700 bytes docs/source/_static/profile.png | Bin 0 -> 43190 bytes docs/source/overview.rst | 42 +++++++++++++++--- 5 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 docs/source/_static/main_logined_agent.png create mode 100644 docs/source/_static/permission_management.png create mode 100644 docs/source/_static/permission_request.png create mode 100644 docs/source/_static/profile.png diff --git a/docs/source/_static/main_logined_agent.png b/docs/source/_static/main_logined_agent.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f76d1b769ee079446bf1fb78c3dc8b0895eed1 GIT binary patch literal 54392 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 ZHumw*d`D3|?S9{pf2;DQO6o(<{{SaRq1gZc literal 0 HcmV?d00001 diff --git a/docs/source/_static/permission_request.png b/docs/source/_static/permission_request.png new file mode 100644 index 0000000000000000000000000000000000000000..8752e91688c0ecb6329b10e2ae7c4f95a4288308 GIT binary patch literal 77700 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 literal 0 HcmV?d00001 diff --git a/docs/source/_static/profile.png b/docs/source/_static/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..b84d1397d1371b4749aa491164e2a6323ba686e9 GIT binary patch literal 43190 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 literal 0 HcmV?d00001 diff --git a/docs/source/overview.rst b/docs/source/overview.rst index 298b7aa..731da94 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -19,8 +19,8 @@ Меню главной страницы предоставляет Вам выбор: -* "Войти" - если Вы уже являетесь зарегистрированным пользователем -* "Зарегистрироваться" - при первом входе +* **"Войти"** - если Вы уже являетесь зарегистрированным пользователем +* **"Зарегистрироваться"** - при первом входе .. image:: _static/main.png @@ -29,10 +29,11 @@ **После авторизации пользователь может выбрать из следующих разделов меню:** -* "Профиль" - просмотреть свои данные и запросить права доступа -* "Управление" - доступно для администраторов, предоставляет возможность группового назначения ролей пользователям +* **"Профиль"** - просмотреть свои данные и запросить права доступа +* **"Запрос прав"** - получение прав для работы с тикетами или +**"Управление"** - доступно для администратора и предоставляет возможность группового назначения ролей пользователям -.. image:: _static/main_logined.png +.. image:: _static/main_logined_agent.png ************* Регистрация @@ -55,4 +56,35 @@ Если Вы не помните пароль необходимо пройти по ссылке "Забыли пароль" и указанть email. На Вашу почту придет ссылка для установки нового пароля. +******** +Профиль +******** + +Профиль пользователя - это Ваша рабочая страница. + +Здесь Вы можете просмотреть информацию пользователя (Ваши данные с Zendesk) и запросить права доступа для работы с тикетами. + +.. image:: _static/profile.png + +******************** +Запрос прав доступа +******************** + +На странице запроса прав Вам доступна информация о количестве и списке работающих над тикетами сотрудников, +а также возможность сдать и запросить права. + +.. image:: _static/permission_request.png + +****************************************** +Управление правами доступа администратором +****************************************** + +Для администратора существует удобный интефейс страницы управления, в котором представлены: + +* Количество свободных инженерных мест +* Количество и список инженеров и легких агентов +* Возможность группового назначения прав с использованием чек-боксов + +.. image:: _static/permission_management.png + .. |copy| unicode:: 0xA9 .. Школа программистов S101, группа 2. 2021гю From 4a0dfd28905e02ce623372b4a98405381f6cc741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sat, 27 Mar 2021 14:12:44 +0300 Subject: [PATCH 15/17] Add spelling version --- docs/Makefile | 15 +++++++++++---- docs/source/conf.py | 19 +++++++++++++++++-- docs/source/overview.rst | 3 +-- docs/source/spelling_wordlist.txt | 0 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 docs/source/spelling_wordlist.txt diff --git a/docs/Makefile b/docs/Makefile index e2faff5..827600b 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,14 +3,17 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build +ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source +SPHINXOPTS = +SPHINXBUILD = sphinx-build SOURCEDIR = source BUILDDIR = build + # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @echo " spelling to check for typos in documentation" .PHONY: help Makefile @@ -19,6 +22,10 @@ help: %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + spelling: - $(SPHINXBUILD) -b spelling -W $(ALLSPHINXOPTS) $(BUILDDIR)/spelling -# $(SPHINXBUILD) -b spelling 'docs/source' 'docs/build' + $(SPHINXBUILD) -b spelling -W $(SOURCEDIR) $(BUILDDIR)/spelling + @echo + @echo "Check finished. Wrong words can be found in " \ + "build/spelling/output.txt." + diff --git a/docs/source/conf.py b/docs/source/conf.py index 972970b..c963176 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,6 +15,7 @@ import sys import importlib import inspect import enchant +from enchant import checker sys.path.insert(0, os.path.abspath('../../')) @@ -114,12 +115,24 @@ 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') @@ -183,10 +196,12 @@ intersphinx_mapping = { autodoc_default_flags = ['members'] # spell checking -print(enchant.list_languages()) + + + spelling_lang = 'ru_RU' tokenizer_lang = 'ru_RU' -spelling_word_list_filename = ['spelling_wordlist.txt', 'another_list.txt'] +spelling_word_list_filename = ['spelling_wordlist', None] spelling_exclude_patterns=['ignored_*'] spelling_show_suggestions = True spelling_show_whole_line=True diff --git a/docs/source/overview.rst b/docs/source/overview.rst index 731da94..84766d5 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -30,8 +30,7 @@ **После авторизации пользователь может выбрать из следующих разделов меню:** * **"Профиль"** - просмотреть свои данные и запросить права доступа -* **"Запрос прав"** - получение прав для работы с тикетами или -**"Управление"** - доступно для администратора и предоставляет возможность группового назначения ролей пользователям +* **"Запрос прав"** - получение прав для работы с тикетами или **"Управление"** - доступно для администратора и предоставляет возможность группового назначения ролей пользователям .. image:: _static/main_logined_agent.png diff --git a/docs/source/spelling_wordlist.txt b/docs/source/spelling_wordlist.txt new file mode 100644 index 0000000..e69de29 From a4a797aa409606ae3d779ef85d8a7c18cb675bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9E=D0=BB=D1=8C=D0=B3=D0=B0?= Date: Sat, 27 Mar 2021 16:32:44 +0300 Subject: [PATCH 16/17] Make spelling --- docs/source/code.rst | 3 +- docs/source/conf.py | 26 ++-------- docs/source/index.rst | 3 +- docs/source/overview.rst | 6 +-- docs/source/spelling_wordlist.txt | 86 +++++++++++++++++++++++++++++++ main/extra_func.py | 32 ++++++------ main/forms.py | 2 +- main/models.py | 12 ++--- main/serializers.py | 2 +- main/views.py | 6 +-- 10 files changed, 123 insertions(+), 55 deletions(-) diff --git a/docs/source/code.rst b/docs/source/code.rst index 65539a7..7479081 100644 --- a/docs/source/code.rst +++ b/docs/source/code.rst @@ -1,7 +1,6 @@ Документация разработчика ========================= - ******* Models ******* @@ -48,3 +47,5 @@ Views .. automodule:: main.views :members: + + diff --git a/docs/source/conf.py b/docs/source/conf.py index c963176..7e99943 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -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 diff --git a/docs/source/index.rst b/docs/source/index.rst index 83cf46a..96f9c69 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -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 ================== diff --git a/docs/source/overview.rst b/docs/source/overview.rst index 84766d5..fb3c627 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -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 @@ Управление правами доступа администратором ****************************************** -Для администратора существует удобный интефейс страницы управления, в котором представлены: +Для администратора существует удобный интерфейс страницы управления, в котором представлены: * Количество свободных инженерных мест * Количество и список инженеров и легких агентов diff --git a/docs/source/spelling_wordlist.txt b/docs/source/spelling_wordlist.txt index e69de29..f190ae2 100644 --- a/docs/source/spelling_wordlist.txt +++ b/docs/source/spelling_wordlist.txt @@ -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 + + + + diff --git a/main/extra_func.py b/main/extra_func.py index 8268814..b87ac27 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -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 diff --git a/main/forms.py b/main/forms.py index 5f4531f..2ad67cb 100644 --- a/main/forms.py +++ b/main/forms.py @@ -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: diff --git a/main/models.py b/main/models.py index 8c21293..782b79f 100644 --- a/main/models.py +++ b/main/models.py @@ -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='Номер тикера, для которого сняли ответственного') diff --git a/main/serializers.py b/main/serializers.py index aae45a6..5a4fd1a 100644 --- a/main/serializers.py +++ b/main/serializers.py @@ -14,7 +14,7 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): class ProfileSerializer(serializers.HyperlinkedModelSerializer): """ - Класс serialiser для модель профиля пользователя. + Класс serializer для модель профиля пользователя. """ user = UserSerializer() diff --git a/main/views.py b/main/views.py index f1900a7..8cb568e 100644 --- a/main/views.py +++ b/main/views.py @@ -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: перезагрузка текущей страницы после выполнения смены роли From 697f21be45d57a4387710702c73fb00c3cc20182 Mon Sep 17 00:00:00 2001 From: Artyom Kravchenko Date: Mon, 29 Mar 2021 18:32:15 +0300 Subject: [PATCH 17/17] fixed messages --- main/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/views.py b/main/views.py index 8cb568e..102960f 100644 --- a/main/views.py +++ b/main/views.py @@ -243,7 +243,7 @@ def main_page(request: WSGIRequest) -> HttpResponse: return render(request, 'pages/index.html') -class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): +class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin,SuccessMessageMixin, FormView): """ Класс отображения страницы администратора.