#31 API Token mail

* sends an email to the support address if a new token has been generated
This commit is contained in:
2022-01-27 11:47:27 +01:00
parent c9bccec1a5
commit 6deff28389
6 changed files with 89 additions and 19 deletions

View File

@@ -2,6 +2,7 @@ from django.contrib import messages
from django.contrib.auth.decorators import login_required
from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.mailer import Mailer
from konova.utils.message_templates import FORM_INVALID
from user.models import User
from django.http import HttpRequest
@@ -83,18 +84,21 @@ def api_token_view(request: HttpRequest):
"""
template = "user/token.html"
form = UserAPITokenForm(request.POST or None, instance=request.user)
user = request.user
form = UserAPITokenForm(request.POST or None, instance=user)
if request.method == "POST":
if form.is_valid():
token = form.save()
messages.info(request, _("New token generated. Administrators need to validate."))
mailer = Mailer()
mailer.send_mail_verify_api_token(user)
return redirect("user:api-token")
else:
messages.error(request, FORM_INVALID, extra_tags="danger")
elif request.method != "GET":
raise NotImplementedError
context = {
"user": request.user,
"user": user,
"form": form,
TAB_TITLE_IDENTIFIER: _("User API token"),
}