Remove second argument from light_agent and make_engineer functions

This commit is contained in:
Степаненко Ольга 2021-05-06 11:56:11 +03:00
parent cd1196efb2
commit ab275fe3f8
2 changed files with 10 additions and 12 deletions

View File

@ -21,13 +21,12 @@ from main.models import UserProfile, RoleChangeLogs, UnassignedTicket, Unassigne
from main.zendesk_admin import zenpy from main.zendesk_admin import zenpy
def update_role(user_profile: UserProfile, role: int, who_changes: User) -> None: def update_role(user_profile: UserProfile, role: int) -> None:
""" """
Функция меняет роль пользователя. Функция меняет роль пользователя.
:param user_profile: Профиль пользователя :param user_profile: Профиль пользователя
:param role: Новая роль :param role: Новая роль
:param who_changes: Пользователь, меняющий роль
:return: Пользователь с обновленной ролью :return: Пользователь с обновленной ролью
""" """
zendesk = zenpy zendesk = zenpy
@ -35,21 +34,21 @@ def update_role(user_profile: UserProfile, role: int, who_changes: User) -> None
user.custom_role_id = role user.custom_role_id = role
user_profile.custom_role_id = role user_profile.custom_role_id = role
user_profile.save() user_profile.save()
log(user_profile, who_changes.userprofile) log(user_profile)
zendesk.admin.users.update(user) zendesk.admin.users.update(user)
def make_engineer(user_profile: UserProfile, who_changes: User) -> None: def make_engineer(user_profile: UserProfile) -> None:
""" """
Функция устанавливает пользователю роль инженера. Функция устанавливает пользователю роль инженера.
:param user_profile: Профиль пользователя :param user_profile: Профиль пользователя
:return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "engineer" :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "engineer"
""" """
update_role(user_profile, ROLES['engineer'], who_changes) update_role(user_profile, ROLES['engineer'])
def make_light_agent(user_profile: UserProfile, who_changes: User) -> None: def make_light_agent(user_profile: UserProfile) -> None:
""" """
Функция устанавливает пользователю роль легкого агента. Функция устанавливает пользователю роль легкого агента.
@ -69,14 +68,13 @@ def make_light_agent(user_profile: UserProfile, who_changes: User) -> None:
else: else:
ticket.assignee = None ticket.assignee = None
ticket.group_id = zenpy.buffer_group_id ticket.group_id = zenpy.buffer_group_id
if tickets.count: if tickets.count:
zenpy.admin.tickets.update(tickets.values) zenpy.admin.tickets.update(tickets.values)
attempts, success = 5, False attempts, success = 5, False
while not success and attempts != 0: while not success and attempts != 0:
try: try:
update_role(user_profile, ROLES['light_agent'], who_changes) update_role(user_profile, ROLES['light_agent'])
success = True success = True
except APIException as e: except APIException as e:
attempts -= 1 attempts -= 1

View File

@ -230,7 +230,7 @@ def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
:param request: данные текущего пользователя (login_required) :param request: данные текущего пользователя (login_required)
:return: перезагрузка текущей страницы после выполнения смены роли :return: перезагрузка текущей страницы после выполнения смены роли
""" """
make_light_agent(request.user.userprofile, request.user) make_light_agent(request.user.userprofile)
return set_session_params_for_work_page(request) return set_session_params_for_work_page(request)
@ -243,7 +243,7 @@ def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
:param request: данные текущего пользователя (login_required) :param request: данные текущего пользователя (login_required)
:return: перезагрузка текущей страницы после выполнения смены роли :return: перезагрузка текущей страницы после выполнения смены роли
""" """
make_engineer(request.user.userprofile, request.user) make_engineer(request.user.userprofile)
return set_session_params_for_work_page(request) return set_session_params_for_work_page(request)
@ -317,7 +317,7 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageM
:return: Обновленный список пользователей :return: Обновленный список пользователей
""" """
for user in users: for user in users:
make_engineer(user, self.request.user) make_engineer(user)
def make_light_agents(self, users: list) -> None: def make_light_agents(self, users: list) -> None:
""" """
@ -327,7 +327,7 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageM
:return: Обновленный список пользователей :return: Обновленный список пользователей
""" """
for user in users: for user in users:
make_light_agent(user, self.request.user) make_light_agent(user)
class CustomLoginView(LoginView): class CustomLoginView(LoginView):