Files
watersurf-erp/app/config/mixins.py

20 lines
924 B
Python

"""
Миксины для представлений.
LoginRequiredMixin при REQUIRE_LOGIN=False не требует входа (для отладки/разработки).
"""
from django.contrib.auth.mixins import LoginRequiredMixin as BaseLoginRequiredMixin
from django.conf import settings
class LoginRequiredMixin(BaseLoginRequiredMixin):
"""
Требует вход только если в настройках включено REQUIRE_LOGIN.
При REQUIRE_LOGIN=False доступ без авторизации (для отладки).
Чтобы вернуть авторизацию: REQUIRE_LOGIN=true в .env или в settings.
"""
def dispatch(self, request, *args, **kwargs):
if getattr(settings, "REQUIRE_LOGIN", True):
return super().dispatch(request, *args, **kwargs)
return super(BaseLoginRequiredMixin, self).dispatch(request, *args, **kwargs)