Add pylint settings - .pylintrc file
This commit is contained in:
parent
8e0610840d
commit
d8b15d087b
@ -149,6 +149,7 @@ docker run -d -p 8000:8000 \
|
|||||||
|
|
||||||
## Для проверки pylint используем:
|
## Для проверки pylint используем:
|
||||||
pylint --load-plugins pylint_django --disable=E5110,C0415 ../access_controller
|
pylint --load-plugins pylint_django --disable=E5110,C0415 ../access_controller
|
||||||
|
pylint ../access_controller
|
||||||
|
|
||||||
## Для приведения файлов к стандарту PEP8 используем:
|
## Для приведения файлов к стандарту PEP8 используем:
|
||||||
autopep8 --in-place <filename>
|
autopep8 --in-place <filename>
|
||||||
|
@ -13,6 +13,8 @@ import os
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
|
import django as django
|
||||||
|
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
@ -140,6 +142,8 @@ ACCOUNT_ACTIVATION_DAYS = 7
|
|||||||
LOGIN_REDIRECT_URL = '/'
|
LOGIN_REDIRECT_URL = '/'
|
||||||
LOGOUT_REDIRECT_URL = '/'
|
LOGOUT_REDIRECT_URL = '/'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Название_приложения.Название_файла.Название_класса_обработчика
|
# Название_приложения.Название_файла.Название_класса_обработчика
|
||||||
AUTHENTICATION_BACKENDS = [
|
AUTHENTICATION_BACKENDS = [
|
||||||
'access_controller.auth.EmailAuthBackend',
|
'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_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_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')
|
ACTRL_API_PASSWORD = os.getenv('ACTRL_API_PASSWORD') or os.getenv('ACCESS_CONTROLLER_API_PASSWORD')
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,15 +19,11 @@ class UserProfile(models.Model):
|
|||||||
('has_control_access', 'Can view admin page'),
|
('has_control_access', 'Can view admin page'),
|
||||||
)
|
)
|
||||||
|
|
||||||
user = models.OneToOneField(
|
user = models.OneToOneField(to=User, on_delete=models.CASCADE, help_text='Пользователь')
|
||||||
to=User, on_delete=models.CASCADE, help_text='Пользователь')
|
role = models.CharField(default='None', max_length=100, help_text='Глобальное имя роли пользователя')
|
||||||
role = models.CharField(default='None', max_length=100,
|
custom_role_id = models.IntegerField(default=0, help_text='Код роли пользователя')
|
||||||
help_text='Глобальное имя роли пользователя')
|
|
||||||
custom_role_id = models.IntegerField(
|
|
||||||
default=0, help_text='Код роли пользователя')
|
|
||||||
image = models.URLField(null=True, blank=True, help_text='Аватарка')
|
image = models.URLField(null=True, blank=True, help_text='Аватарка')
|
||||||
name = models.CharField(default='None', max_length=100,
|
name = models.CharField(default='None', max_length=100, help_text='Имя пользователя на нашем сайте')
|
||||||
help_text='Имя пользователя на нашем сайте')
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def zendesk_role(self):
|
def zendesk_role(self):
|
||||||
@ -89,11 +85,8 @@ class UnassignedTicket(models.Model):
|
|||||||
"""
|
"""
|
||||||
Модель не распределенного тикета.
|
Модель не распределенного тикета.
|
||||||
"""
|
"""
|
||||||
assignee = models.ForeignKey(to=User, on_delete=models.CASCADE,
|
assignee = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='tickets',
|
||||||
related_name='tickets',
|
|
||||||
help_text='Пользователь, с которого снят тикет')
|
help_text='Пользователь, с которого снят тикет')
|
||||||
ticket_id = models.IntegerField(
|
ticket_id = models.IntegerField(help_text='Номер тикера, для которого сняли ответственного')
|
||||||
help_text='Номер тикера, для которого сняли ответственного')
|
status = models.IntegerField(choices=UnassignedTicketStatus.choices, default=UnassignedTicketStatus.UNASSIGNED,
|
||||||
status = models.IntegerField(choices=UnassignedTicketStatus.choices,
|
|
||||||
default=UnassignedTicketStatus.UNASSIGNED,
|
|
||||||
help_text='Статус тикета')
|
help_text='Статус тикета')
|
||||||
|
@ -25,12 +25,10 @@ from rest_framework import viewsets
|
|||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from access_controller.settings import DEFAULT_FROM_EMAIL, ZENDESK_ROLES, ZENDESK_MAX_AGENTS
|
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, \
|
from main.extra_func import check_user_exist, update_profile, get_user_organization, make_engineer, make_light_agent, \
|
||||||
make_engineer, make_light_agent, get_users_list, update_users_in_model, count_users, \
|
get_users_list, update_users_in_model, count_users, StatisticData, log, set_session_params_for_work_page
|
||||||
StatisticData, log, set_session_params_for_work_page
|
|
||||||
from main.zendesk_admin import zenpy
|
from main.zendesk_admin import zenpy
|
||||||
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, \
|
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, StatisticForm
|
||||||
StatisticForm
|
|
||||||
from main.serializers import ProfileSerializer, ZendeskUserSerializer
|
from main.serializers import ProfileSerializer, ZendeskUserSerializer
|
||||||
from .models import UserProfile
|
from .models import UserProfile
|
||||||
|
|
||||||
@ -78,8 +76,7 @@ class CustomRegistrationView(RegistrationView):
|
|||||||
"""
|
"""
|
||||||
Функция регистрации пользователя.
|
Функция регистрации пользователя.
|
||||||
1. Ввод email пользователя, указанный на Zendesk
|
1. Ввод email пользователя, указанный на Zendesk
|
||||||
2. В случае если пользователь с данным паролем зарегистрирован на Zendesk
|
2. В случае если пользователь с данным паролем зарегистрирован на Zendesk и относится к организации SYSTEM,
|
||||||
и относится к организации SYSTEM,
|
|
||||||
происходит сброс ссылки с установлением пароля на указанный email
|
происходит сброс ссылки с установлением пароля на указанный email
|
||||||
3. Создается пользователь class User, а также его профиль.
|
3. Создается пользователь class User, а также его профиль.
|
||||||
|
|
||||||
@ -87,8 +84,7 @@ class CustomRegistrationView(RegistrationView):
|
|||||||
:return: user
|
:return: user
|
||||||
"""
|
"""
|
||||||
self.redirect_url = 'done'
|
self.redirect_url = 'done'
|
||||||
if check_user_exist(form.data['email']) and \
|
if check_user_exist(form.data['email']) and get_user_organization(form.data['email']) == 'SYSTEM':
|
||||||
get_user_organization(form.data['email']) == 'SYSTEM':
|
|
||||||
forms = PasswordResetForm(self.request.POST)
|
forms = PasswordResetForm(self.request.POST)
|
||||||
if forms.is_valid():
|
if forms.is_valid():
|
||||||
opts = {
|
opts = {
|
||||||
@ -121,8 +117,7 @@ class CustomRegistrationView(RegistrationView):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def set_permission(user: User) -> None:
|
def set_permission(user: User) -> None:
|
||||||
"""
|
"""
|
||||||
Функция дает разрешение на просмотр страница администратора,
|
Функция дает разрешение на просмотр страница администратора, если пользователь имеет роль admin.
|
||||||
если пользователь имеет роль admin.
|
|
||||||
|
|
||||||
:param user: авторизованный пользователь (получает разрешение, имея роль "admin")
|
:param user: авторизованный пользователь (получает разрешение, имея роль "admin")
|
||||||
"""
|
"""
|
||||||
@ -136,8 +131,7 @@ class CustomRegistrationView(RegistrationView):
|
|||||||
|
|
||||||
def get_success_url(self, user: User = None) -> Dict:
|
def get_success_url(self, user: User = None) -> Dict:
|
||||||
"""
|
"""
|
||||||
Функция возвращает url-адрес страницы, куда нужно перейти после
|
Функция возвращает url-адрес страницы, куда нужно перейти после успешной/не успешной регистрации.
|
||||||
успешной/не успешной регистрации.
|
|
||||||
Используется самой django-registration.
|
Используется самой django-registration.
|
||||||
|
|
||||||
:param user: пользователь, пытающийся зарегистрироваться
|
:param user: пользователь, пытающийся зарегистрироваться
|
||||||
@ -178,8 +172,7 @@ def profile_page(request: WSGIRequest) -> HttpResponse:
|
|||||||
@login_required()
|
@login_required()
|
||||||
def work_page(request: WSGIRequest, id: int) -> HttpResponse:
|
def work_page(request: WSGIRequest, id: int) -> HttpResponse:
|
||||||
"""
|
"""
|
||||||
Функция отображения страницы "Управления правами"
|
Функция отображения страницы "Управления правами" для текущего пользователя (login_required).
|
||||||
для текущего пользователя (login_required).
|
|
||||||
|
|
||||||
:param request: объект пользователя
|
:param request: объект пользователя
|
||||||
:param id: id пользователя, используется для динамической адресации
|
:param id: id пользователя, используется для динамической адресации
|
||||||
@ -220,8 +213,7 @@ def work_page(request: WSGIRequest, id: int) -> HttpResponse:
|
|||||||
@login_required()
|
@login_required()
|
||||||
def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
|
def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
|
||||||
"""
|
"""
|
||||||
Функция позволяет текущему пользователю сдать права,
|
Функция позволяет текущему пользователю сдать права, а именно сменить в Zendesk роль с "engineer" на "light_agent".
|
||||||
а именно сменить в Zendesk роль с "engineer" на "light_agent"
|
|
||||||
|
|
||||||
:param request: данные текущего пользователя (login_required)
|
:param request: данные текущего пользователя (login_required)
|
||||||
:return: перезагрузка текущей страницы после выполнения смены роли
|
:return: перезагрузка текущей страницы после выполнения смены роли
|
||||||
@ -233,9 +225,8 @@ def work_hand_over(request: WSGIRequest) -> HttpResponseRedirect:
|
|||||||
@login_required()
|
@login_required()
|
||||||
def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
|
def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
|
||||||
"""
|
"""
|
||||||
Функция позволяет текущему пользователю получить права,
|
Функция позволяет текущему пользователю получить права, а именно сменить в Zendesk роль с "light_agent" на
|
||||||
а именно сменить в Zendesk роль с "light_agent" на
|
"engineer".
|
||||||
"engineer"
|
|
||||||
|
|
||||||
:param request: данные текущего пользователя (login_required)
|
:param request: данные текущего пользователя (login_required)
|
||||||
:return: перезагрузка текущей страницы после выполнения смены роли
|
:return: перезагрузка текущей страницы после выполнения смены роли
|
||||||
@ -382,8 +373,7 @@ def statistic_page(request: WSGIRequest) -> HttpResponse:
|
|||||||
"""
|
"""
|
||||||
Функция отображения страницы статистики (для "superuser").
|
Функция отображения страницы статистики (для "superuser").
|
||||||
|
|
||||||
:param request: данные о пользователе: email, время и интервал работы.
|
:param request: данные о пользователе: email, время и интервал работы. Данные получаем через forms.StatisticForm
|
||||||
Данные получаем через forms.StatisticForm
|
|
||||||
:return: адресация на страницу статистики
|
:return: адресация на страницу статистики
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user