takahe/users/views/settings/__init__.py

32 lines
1.2 KiB
Python
Raw Normal View History

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
CsvFollowers,
CsvFollowing,
ImportExportPage,
)
from users.views.settings.interface import InterfacePage # noqa
from users.views.settings.posting import PostingPage # noqa
2022-11-19 12:38:25 -08:00
from users.views.settings.profile import ProfilePage # noqa
2022-11-25 18:33:46 -08:00
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")