login decorator moved into views & .gitignore

This commit is contained in:
Philip Sargent
2021-04-02 15:51:14 +01:00
parent c8cc1673e0
commit d841faa057
8 changed files with 32 additions and 19 deletions

17
core/views/login.py Normal file
View File

@@ -0,0 +1,17 @@
from django.contrib.auth.decorators import login_required
from django.conf import settings
"""This enforces the login requirement for non-public pages using
the decorator mechanism.
https://www.fullstackpython.com/django-contrib-auth-decorators-login-required-examples.html
"""
class login_required_if_public(object):
def __init__(self, f):
if settings.PUBLIC_SITE:
self.f = login_required(f)
else:
self.f = f
def __call__(self, *args, **kwargs):
return self.f(*args, **kwargs)