Add SMTP error check

This commit is contained in:
Sokurov Idar 2021-04-11 01:12:07 +03:00
parent 19fc23808c
commit 8c0a589173
3 changed files with 19 additions and 20 deletions

View File

@ -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

View File

@ -11,5 +11,5 @@
{% block content %}
<br>
<h4> Нет пользователя с указаным адресом электронной почты.</h4>
<h4> Нет пользователя с указаным адресом электронной почты либо произошла ошибка при отправке сообщения.</h4>
{% endblock %}

View File

@ -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: