diff --git a/main/extra_func.py b/main/extra_func.py index 162adaf..fd59968 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -6,10 +6,9 @@ from django.core.exceptions import ObjectDoesNotExist from django.utils import timezone from zenpy import Zenpy from zenpy.lib.exception import APIException -from zenpy.lib.api_objects import User as ZenpyUser +from zenpy.lib.api_objects import User as ZenpyUser, Ticket as ZenpyTicket -from access_controller.settings import ZENDESK_ROLES as ROLES, ONE_DAY, ZENDESK_GROUPS, SOLVED_TICKETS_EMAIL, \ - ACTRL_ZENDESK_SUBDOMAIN +from access_controller.settings import ZENDESK_ROLES as ROLES, ONE_DAY, ACTRL_ZENDESK_SUBDOMAIN from main.models import UserProfile, RoleChangeLogs, UnassignedTicket, UnassignedTicketStatus from main.zendesk_admin import zenpy @@ -48,8 +47,7 @@ def make_light_agent(user_profile: UserProfile, who_changes: User) -> None: :return: Вызов функции **update_role** с параметрами: профиль пользователя, роль "light_agent" """ tickets = get_tickets_list(user_profile.user.email) - buffer_group = zenpy.get_group(ZENDESK_GROUPS['buffer']) - solved_tickets_user = zenpy.get_user(SOLVED_TICKETS_EMAIL) + ticket: ZenpyTicket for ticket in tickets: UnassignedTicket.objects.create( assignee=user_profile.user, @@ -57,10 +55,10 @@ def make_light_agent(user_profile: UserProfile, who_changes: User) -> None: status=UnassignedTicketStatus.SOLVED if ticket.status == 'solved' else UnassignedTicketStatus.UNASSIGNED ) if ticket.status == 'solved': - ticket.assignee = solved_tickets_user + ticket.assignee_id = zenpy.solved_tickets_user_id else: ticket.assignee = None - ticket.group = buffer_group + ticket.group_id = zenpy.buffer_group_id zenpy.admin.tickets.update(tickets.values) diff --git a/main/zendesk_admin.py b/main/zendesk_admin.py index e0d1674..70a461f 100644 --- a/main/zendesk_admin.py +++ b/main/zendesk_admin.py @@ -4,7 +4,8 @@ from zenpy import Zenpy from zenpy.lib.api_objects import User as ZenpyUser from zenpy.lib.exception import APIException -from access_controller.settings import ACTRL_ZENDESK_SUBDOMAIN, ACTRL_API_EMAIL, ACTRL_API_TOKEN, ACTRL_API_PASSWORD +from access_controller.settings import ACTRL_ZENDESK_SUBDOMAIN, ACTRL_API_EMAIL, ACTRL_API_TOKEN, ACTRL_API_PASSWORD, \ + ZENDESK_GROUPS, SOLVED_TICKETS_EMAIL class ZendeskAdmin: @@ -30,6 +31,8 @@ class ZendeskAdmin: def __init__(self): self.create_admin() + self.buffer_group_id: int = self.get_group(ZENDESK_GROUPS['buffer']).id + self.solved_tickets_user_id: int = self.get_user(SOLVED_TICKETS_EMAIL).id def check_user(self, email: str) -> bool: """