cheesy/moku/views/auth.py

26 lines
891 B
Python
Raw Normal View History

2024-03-25 11:59:06 +00:00
from django.contrib import messages
2024-03-25 10:36:10 +00:00
from django.contrib.auth.views import LoginView as BaseLoginView, LogoutView as BaseLogoutView
from django.shortcuts import redirect
2024-03-25 11:59:06 +00:00
from django.utils.translation import gettext as _
2024-03-25 10:36:10 +00:00
from django.urls import reverse_lazy
from moku.views.base import View
2024-03-25 10:36:10 +00:00
class LoginView(View, BaseLoginView):
2024-03-25 10:36:10 +00:00
template_name = "moku/login.jinja"
def get(self, request, *args, **kwargs):
if self.request.user.is_authenticated:
return redirect(self.get_success_url())
return super().get(request, *args, **kwargs)
def get_success_url(self):
2024-03-25 11:59:06 +00:00
if self.request.user.is_authenticated:
messages.success(self.request, _("welcome back, %(username)s!") % {"username": self.request.user.username})
2024-03-25 10:36:10 +00:00
return self.request.GET.get("next", reverse_lazy("feed"))
class LogoutView(BaseLogoutView):
next_page = "feed"