diff --git a/.pylintrc b/.pylintrc index 49866c6..83b9512 100644 --- a/.pylintrc +++ b/.pylintrc @@ -537,7 +537,7 @@ max-branches=12 max-locals=15 # Maximum number of parents for a class (see R0901). -max-parents=7 +max-parents=10 # Maximum number of public methods for a class (see R0904). max-public-methods=20 diff --git a/access_controller/urls.py b/access_controller/urls.py index 2cab267..b474345 100644 --- a/access_controller/urls.py +++ b/access_controller/urls.py @@ -30,7 +30,7 @@ urlpatterns = [ path('accounts/register/error/', registration_error, name='registration_email_error'), path('accounts/login/', CustomLoginView.as_view(), name='login'), path('accounts/', include('django.contrib.auth.urls')), - path('work/', work_page, name="work"), + path('work/', work_page, name="work"), path('work/hand_over/', work_hand_over, name="work_hand_over"), path('work/become_engineer/', work_become_engineer, name="work_become_engineer"), path('work/get_tickets', work_get_tickets, name='work_get_tickets'), diff --git a/main/extra_func.py b/main/extra_func.py index cc8451b..fbbe3f7 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -76,7 +76,7 @@ def make_light_agent(user_profile: UserProfile) -> None: attempts, success = 5, False while not success and attempts != 0: try: - update_role(user_profile, ROLES['light_agent']) + update_role(user_profile, ROLES['light_agent'], get_user_model()) success = True except APIException as e: attempts -= 1 diff --git a/main/views.py b/main/views.py index e40b5e8..72fc682 100644 --- a/main/views.py +++ b/main/views.py @@ -28,7 +28,7 @@ from rest_framework.response import Response from access_controller.settings import DEFAULT_FROM_EMAIL, ZENDESK_ROLES, ZENDESK_MAX_AGENTS from main.extra_func import check_user_exist, update_profile, get_user_organization, make_engineer, make_light_agent, \ - get_users_list, update_users_in_model, count_users, StatisticData, log, set_session_params_for_work_page + get_users_list, update_users_in_model, count_users, StatisticData, set_session_params_for_work_page from main.zendesk_admin import zenpy from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, StatisticForm from main.serializers import ProfileSerializer, ZendeskUserSerializer @@ -120,6 +120,7 @@ class CustomRegistrationView(RegistrationView): return None else: self.redirect_url = 'email_sending_error' + return None else: self.redirect_url = 'invalid_zendesk_email' return None @@ -180,7 +181,7 @@ def profile_page(request: WSGIRequest) -> HttpResponse: @login_required() -def work_page(request: WSGIRequest, id: int) -> HttpResponse: +def work_page(request: WSGIRequest, required_id: int) -> HttpResponse: """ Функция отображения страницы "Управления правами" для текущего пользователя (login_required). @@ -189,7 +190,7 @@ def work_page(request: WSGIRequest, id: int) -> HttpResponse: :return: адресация на страницу "Управления правами" (либо на страницу "Авторизации", если id и user.id не совпадают """ users = get_users_list() - if request.user.id == id: + if request.user.id == required_id: if request.session.get('is_confirm', None): messages.success(request, 'Изменения были применены') elif request.session.get('is_confirm', None) is not None: @@ -256,7 +257,7 @@ def work_get_tickets(request: WSGIRequest) -> HttpResponse: tickets = [ticket for ticket in zenpy.admin.search(type="ticket") if ticket.group.name == 'Сменная группа' and ticket.assignee is None] count = 0 - for i in range(len(tickets)): + for i in enumerate(tickets): if i == int(request.GET.get('count_tickets')): return set_session_params_for_work_page(request, count) tickets[i].assignee = zenpy_user @@ -306,7 +307,8 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageM self.make_light_agents(users) return super().form_valid(form) - def make_engineers(self, users: list) -> None: + @staticmethod + def make_engineers(users: list) -> None: """ Функция проходит по списку пользователей, проставляя статус "engineer". @@ -315,8 +317,8 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageM """ for user in users: make_engineer(user) - - def make_light_agents(self, users: list) -> None: + @staticmethod + def make_light_agents(users: list) -> None: """ Функция проходит по списку пользователей, проставляя статус "light agent".