Add pylint settings - .pylintrc file

This commit is contained in:
Степаненко Ольга 2021-04-28 11:53:29 +03:00
parent 8e0610840d
commit d8b15d087b
4 changed files with 26 additions and 36 deletions

View File

@ -149,6 +149,7 @@ docker run -d -p 8000:8000 \
## Для проверки pylint используем:
pylint --load-plugins pylint_django --disable=E5110,C0415 ../access_controller
pylint ../access_controller
## Для приведения файлов к стандарту PEP8 используем:
autopep8 --in-place <filename>

View File

@ -13,6 +13,8 @@ import os
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
import django as django
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
@ -140,6 +142,8 @@ ACCOUNT_ACTIVATION_DAYS = 7
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
# Название_приложения.Названиеайла.Название_класса_обработчика
AUTHENTICATION_BACKENDS = [
'access_controller.auth.EmailAuthBackend',
@ -177,3 +181,5 @@ ACTRL_ZENDESK_SUBDOMAIN = os.getenv('ACTRL_ZENDESK_SUBDOMAIN') or os.getenv('ZD_
ACTRL_API_EMAIL = os.getenv('ACTRL_API_EMAIL') or os.getenv('ACCESS_CONTROLLER_API_EMAIL')
ACTRL_API_TOKEN = os.getenv('ACTRL_API_TOKEN') or os.getenv('ACCESS_CONTROLLER_API_TOKEN')
ACTRL_API_PASSWORD = os.getenv('ACTRL_API_PASSWORD') or os.getenv('ACCESS_CONTROLLER_API_PASSWORD')

View File

@ -19,15 +19,11 @@ class UserProfile(models.Model):
('has_control_access', 'Can view admin page'),
)
user = models.OneToOneField(
to=User, on_delete=models.CASCADE, help_text='Пользователь')
role = models.CharField(default='None', max_length=100,
help_text='Глобальное имя роли пользователя')
custom_role_id = models.IntegerField(
default=0, help_text='Код роли пользователя')
user = models.OneToOneField(to=User, on_delete=models.CASCADE, help_text='Пользователь')
role = models.CharField(default='None', max_length=100, help_text='Глобальное имя роли пользователя')
custom_role_id = models.IntegerField(default=0, help_text='Код роли пользователя')
image = models.URLField(null=True, blank=True, help_text='Аватарка')
name = models.CharField(default='None', max_length=100,
help_text='Имя пользователя на нашем сайте')
name = models.CharField(default='None', max_length=100, help_text='Имя пользователя на нашем сайте')
@property
def zendesk_role(self):
@ -89,11 +85,8 @@ 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,
ticket_id = models.IntegerField(help_text='Номер тикера, для которого сняли ответственного')
status = models.IntegerField(choices=UnassignedTicketStatus.choices, default=UnassignedTicketStatus.UNASSIGNED,
help_text='Статус тикета')

View File

@ -25,12 +25,10 @@ from rest_framework import viewsets
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
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
from main.zendesk_admin import zenpy
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, \
StatisticForm
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, StatisticForm
from main.serializers import ProfileSerializer, ZendeskUserSerializer
from .models import UserProfile
@ -78,8 +76,7 @@ class CustomRegistrationView(RegistrationView):
"""
Функция регистрации пользователя.
1. Ввод email пользователя, указанный на Zendesk
2. В случае если пользователь с данным паролем зарегистрирован на Zendesk
и относится к организации SYSTEM,
2. В случае если пользователь с данным паролем зарегистрирован на Zendesk и относится к организации SYSTEM,
происходит сброс ссылки с установлением пароля на указанный email
3. Создается пользователь class User, а также его профиль.
@ -87,8 +84,7 @@ class CustomRegistrationView(RegistrationView):
:return: user
"""
self.redirect_url = 'done'
if check_user_exist(form.data['email']) and \
get_user_organization(form.data['email']) == 'SYSTEM':
if check_user_exist(form.data['email']) and get_user_organization(form.data['email']) == 'SYSTEM':
forms = PasswordResetForm(self.request.POST)
if forms.is_valid():
opts = {
@ -121,8 +117,7 @@ class CustomRegistrationView(RegistrationView):
@staticmethod
def set_permission(user: User) -> None:
"""
Функция дает разрешение на просмотр страница администратора,
если пользователь имеет роль admin.
Функция дает разрешение на просмотр страница администратора, если пользователь имеет роль admin.
:param user: авторизованный пользователь (получает разрешение, имея роль "admin")
"""
@ -136,8 +131,7 @@ class CustomRegistrationView(RegistrationView):
def get_success_url(self, user: User = None) -> Dict:
"""
Функция возвращает url-адрес страницы, куда нужно перейти после
успешной/не успешной регистрации.
Функция возвращает url-адрес страницы, куда нужно перейти после успешной/не успешной регистрации.
Используется самой django-registration.
:param user: пользователь, пытающийся зарегистрироваться
@ -178,8 +172,7 @@ def profile_page(request: WSGIRequest) -> HttpResponse:
@login_required()
def work_page(request: WSGIRequest, id: int) -> HttpResponse:
"""
Функция отображения страницы "Управления правами"
для текущего пользователя (login_required).
Функция отображения страницы "Управления правами" для текущего пользователя (login_required).
:param request: объект пользователя
:param id: id пользователя, используется для динамической адресации
@ -220,8 +213,7 @@ def work_page(request: WSGIRequest, id: int) -> HttpResponse:
@login_required()
def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
"""
Функция позволяет текущему пользователю сдать права,
а именно сменить в Zendesk роль с "engineer" на "light_agent"
Функция позволяет текущему пользователю сдать права, а именно сменить в Zendesk роль с "engineer" на "light_agent".
:param request: данные текущего пользователя (login_required)
:return: перезагрузка текущей страницы после выполнения смены роли
@ -233,9 +225,8 @@ def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
@login_required()
def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
"""
Функция позволяет текущему пользователю получить права,
а именно сменить в Zendesk роль с "light_agent" на
"engineer"
Функция позволяет текущему пользователю получить права, а именно сменить в Zendesk роль с "light_agent" на
"engineer".
:param request: данные текущего пользователя (login_required)
:return: перезагрузка текущей страницы после выполнения смены роли
@ -382,8 +373,7 @@ def statistic_page(request: WSGIRequest) -> HttpResponse:
"""
Функция отображения страницы статистики (для "superuser").
:param request: данные о пользователе: email, время и интервал работы.
Данные получаем через forms.StatisticForm
:param request: данные о пользователе: email, время и интервал работы. Данные получаем через forms.StatisticForm
:return: адресация на страницу статистики
"""