Implement more advanced 2FA library

This commit is contained in:
2022-11-28 19:45:22 +00:00
parent 7a64759ceb
commit 0fc7c5c712
31 changed files with 406 additions and 41 deletions

View File

@@ -4,6 +4,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponseBadRequest
from django.shortcuts import render
from django.views import View
from two_factor.views.mixins import OTPRequiredMixin
from core.forms import AccountForm
from core.models import Account
@@ -13,7 +14,7 @@ from core.views import ObjectCreate, ObjectDelete, ObjectList, ObjectUpdate
log = logs.get_logger(__name__)
class AccountInfo(LoginRequiredMixin, View):
class AccountInfo(LoginRequiredMixin, OTPRequiredMixin, View):
VIEWABLE_FIELDS_MODEL = [
"name",
"exchange",
@@ -69,7 +70,7 @@ class AccountInfo(LoginRequiredMixin, View):
return render(request, template_name, context)
class AccountList(LoginRequiredMixin, ObjectList):
class AccountList(LoginRequiredMixin, OTPRequiredMixin, ObjectList):
list_template = "partials/account-list.html"
model = Account
page_title = "List of accounts"
@@ -80,7 +81,7 @@ class AccountList(LoginRequiredMixin, ObjectList):
submit_url_name = "account_create"
class AccountCreate(LoginRequiredMixin, ObjectCreate):
class AccountCreate(LoginRequiredMixin, OTPRequiredMixin, ObjectCreate):
model = Account
form_class = AccountForm
@@ -103,7 +104,7 @@ class AccountCreate(LoginRequiredMixin, ObjectCreate):
# )
class AccountUpdate(LoginRequiredMixin, ObjectUpdate):
class AccountUpdate(LoginRequiredMixin, OTPRequiredMixin, ObjectUpdate):
model = Account
form_class = AccountForm
@@ -113,7 +114,7 @@ class AccountUpdate(LoginRequiredMixin, ObjectUpdate):
submit_url_name = "account_update"
class AccountDelete(LoginRequiredMixin, ObjectDelete):
class AccountDelete(LoginRequiredMixin, OTPRequiredMixin, ObjectDelete):
model = Account
list_url_name = "accounts"