# Refactoring APITokenView
* refactors API Token view * updates tests
This commit is contained in:
@@ -4,9 +4,9 @@ Created on: 08.01.25
|
||||
|
||||
"""
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.http import HttpRequest
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import View
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
@@ -15,7 +15,9 @@ from konova.contexts import BaseContext
|
||||
from konova.decorators import default_group_required
|
||||
from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
|
||||
from konova.utils.message_templates import NEW_API_TOKEN_GENERATED
|
||||
from konova.views.base import BaseModalFormView
|
||||
from user.forms.modals.api_token import NewAPITokenModalForm
|
||||
from user.models import User
|
||||
|
||||
|
||||
class APITokenView(View):
|
||||
@@ -36,22 +38,16 @@ class APITokenView(View):
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, template, context)
|
||||
|
||||
class NewAPITokenView(LoginRequiredMixin, BaseModalFormView):
|
||||
_MODEL_CLS = User
|
||||
_FORM_CLS = NewAPITokenModalForm
|
||||
_MSG_SUCCESS = NEW_API_TOKEN_GENERATED
|
||||
_REDIRECT_URL = "user:api-token"
|
||||
|
||||
def new_api_token_view(request: HttpRequest):
|
||||
""" Function based view for processing ModalForm
|
||||
(Currently ModalForms only work properly with function based views)
|
||||
def _user_has_shared_access(self, user, **kwargs):
|
||||
# No special checks to be done in here
|
||||
return True
|
||||
|
||||
Args:
|
||||
request ():
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
user = request.user
|
||||
|
||||
form = NewAPITokenModalForm(request.POST or None, instance=user, request=request)
|
||||
return form.process_request(
|
||||
request=request,
|
||||
msg_success=NEW_API_TOKEN_GENERATED,
|
||||
redirect_url=reverse("user:api-token"),
|
||||
)
|
||||
def _user_has_permission(self, user, **kwargs):
|
||||
# User should at least be a default user to be able to use the api
|
||||
return user.is_default_user()
|
||||
|
||||
Reference in New Issue
Block a user