takahe/users/views/settings/__init__.py

35 wiersze
1.3 KiB
Python

from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect
from django.utils.decorators import method_decorator
from django.views.generic import View
from users.views.settings.delete import DeleteIdentity # noqa
from users.views.settings.follows import FollowsPage # noqa
from users.views.settings.import_export import ( # noqa
CsvBlocks,
CsvFollowers,
CsvFollowing,
CsvMutes,
ImportExportPage,
)
from users.views.settings.interface import InterfacePage # noqa
from users.views.settings.migration import MigrateInPage # noqa
from users.views.settings.posting import PostingPage # noqa
from users.views.settings.profile import ProfilePage # noqa
from users.views.settings.security import SecurityPage # noqa
from users.views.settings.settings_page import SettingsPage # noqa
from users.views.settings.tokens import TokenCreate, TokenEdit, TokensRoot # noqa
@method_decorator(login_required, name="dispatch")
class SettingsRoot(View):
"""
Redirects to a root settings page (varying on if there is an identity
in the URL or not)
"""
def get(self, request, handle: str | None = None):
if handle:
return redirect("settings_profile", handle=handle)
return redirect("settings_security")