diff --git a/main/extra_func.py b/main/extra_func.py
index 8b75346..03add3e 100644
--- a/main/extra_func.py
+++ b/main/extra_func.py
@@ -92,12 +92,12 @@ class ZendeskAdmin:
def get_group(self, name: str) -> str:
"""
- Функция возвращает группы, к которым принадлежит пользователь.
+ Функция возвращает группу по названию
:param name: Имя пользователя
:return: Группы пользователя (в случае отсутствия None)
"""
- groups = self.admin.search(name)
+ groups = self.admin.search(name, type='group')
for group in groups:
return group
return None
diff --git a/main/templates/django_registration/registration_closed.html b/main/templates/django_registration/registration_closed.html
index 9c5e013..fdf4e36 100644
--- a/main/templates/django_registration/registration_closed.html
+++ b/main/templates/django_registration/registration_closed.html
@@ -11,5 +11,5 @@
{% block content %}
-
Нет пользователя с указаным адресом электронной почты.
+ Нет пользователя с указаным адресом электронной почты либо произошла ошибка при отправке сообщения.
{% endblock %}
diff --git a/main/views.py b/main/views.py
index 0a1a070..41aa856 100644
--- a/main/views.py
+++ b/main/views.py
@@ -1,7 +1,6 @@
-import logging
-import os
-from datetime import datetime
+from smtplib import SMTPException
+from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import PasswordResetForm
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
@@ -13,23 +12,19 @@ from django.contrib.messages.views import SuccessMessageMixin
from django.core.exceptions import PermissionDenied
from django.core.handlers.wsgi import WSGIRequest
from django.http import HttpResponseRedirect, HttpResponse
-from django.shortcuts import render, get_list_or_404, redirect
+from django.shortcuts import render, redirect
from django.urls import reverse_lazy, reverse
from django.views.generic import FormView
from django_registration.views import RegistrationView
-from django.contrib import messages
-
# Django REST
from rest_framework import viewsets
from rest_framework.response import Response
-
from zenpy.lib.api_objects import User as ZenpyUser
-from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES, ZENDESK_MAX_AGENTS
-from main.extra_func import ZendeskAdmin
+from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES, ZENDESK_MAX_AGENTS, ZENDESK_GROUPS
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
+ StatisticData,ZendeskAdmin
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, StatisticForm
from main.serializers import ProfileSerializer
from .models import UserProfile
@@ -79,14 +74,18 @@ class CustomRegistrationView(RegistrationView):
'extra_email_context': None,
}
user = User.objects.create_user(
- username=form.data['email'],
- email=form.data['email'],
- password=User.objects.make_random_password(length=50)
+ username=form.data['email'],
+ email=form.data['email'],
+ password=User.objects.make_random_password(length=50)
)
- forms.save(**opts)
- update_profile(user.userprofile)
- self.set_permission(user)
- return user
+ try:
+ forms.save(**opts)
+ update_profile(user.userprofile)
+ self.set_permission(user)
+ return user
+ except SMTPException:
+ user.delete()
+ self.is_allowed = False
else:
raise ValueError('Непредвиденная ошибка')
else: