88#
99
1010from django .contrib import messages
11+ from django .core .exceptions import ValidationError
1112from django .core .mail import send_mail
1213from django .db .models import Count
1314from django .db .models import Q
1415from django .http .response import Http404
16+ from django .shortcuts import redirect
1517from django .shortcuts import render
1618from django .urls import reverse_lazy
1719from django .views import View
@@ -235,7 +237,12 @@ class ApiUserCreateView(generic.CreateView):
235237 template_name = "api_user_creation_form.html"
236238
237239 def form_valid (self , form ):
238- response = super ().form_valid (form )
240+
241+ try :
242+ response = super ().form_valid (form )
243+ except ValidationError as e :
244+ messages .error (self .request , "Email is invalid or already taken" )
245+ return redirect (self .get_success_url ())
239246
240247 send_mail (
241248 subject = "VulnerableCode.io API key token" ,
@@ -251,12 +258,5 @@ def form_valid(self, form):
251258
252259 return response
253260
254- def form_invalid (self , form ):
255- response = super ().form_invalid (form )
256-
257- messages .error (self .request , str (form .errors ))
258-
259- return response
260-
261261 def get_success_url (self ):
262262 return reverse_lazy ("api_user_request" )
0 commit comments