diff --git a/helper/__init__.py b/helper/__init__.py
new file mode 100644
index 0000000..120be20
--- /dev/null
+++ b/helper/__init__.py
@@ -0,0 +1,14 @@
+from django.contrib.auth.decorators import login_required
+from django.conf import settings
+
+
+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)