Remove anonymous user support
This commit is contained in:
@@ -10,7 +10,6 @@ from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.utils.translation import ugettext
|
||||
|
||||
from common.models import AnonymousUserSingleton
|
||||
from permissions import Permission
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -6,8 +6,6 @@ from django.http import HttpResponseRedirect
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from ..settings import setting_allow_anonymous_access
|
||||
|
||||
EXEMPT_URLS = [re.compile(reverse(settings.LOGIN_URL).lstrip('/'))]
|
||||
if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
|
||||
EXEMPT_URLS += [re.compile(expr) for expr in settings.LOGIN_EXEMPT_URLS]
|
||||
@@ -25,7 +23,6 @@ class LoginRequiredMiddleware:
|
||||
"""
|
||||
|
||||
def process_request(self, request):
|
||||
if not setting_allow_anonymous_access.value:
|
||||
assert hasattr(request, 'user'), "The Login Required middleware\
|
||||
requires authentication middleware to be installed. Edit your\
|
||||
MIDDLEWARE_CLASSES setting to insert\
|
||||
|
||||
@@ -6,4 +6,3 @@ from smart_settings import Namespace
|
||||
|
||||
namespace = Namespace(name='authentication', label=_('Authentication'))
|
||||
setting_login_method = namespace.add_setting(global_name='AUTHENTICATION_LOGIN_METHOD', default='username', help_text=_('Controls the mechanism used to authenticated user. Options are: username, email'))
|
||||
setting_allow_anonymous_access = namespace.add_setting(global_name='AUTHENTICATION_ALLOW_ANONYMOUS_ACCESS', default=False, help_text=_('Allow non authenticated users, access to all views'))
|
||||
|
||||
@@ -21,15 +21,10 @@ from .links import (
|
||||
from .menus import (
|
||||
menu_facet, menu_main, menu_secondary, menu_setup, menu_tools
|
||||
)
|
||||
from .models import AnonymousUserSingleton
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def create_anonymous_user(sender, **kwargs):
|
||||
AnonymousUserSingleton.objects.get_or_create()
|
||||
|
||||
|
||||
class MayanAppConfig(apps.AppConfig):
|
||||
app_url = None
|
||||
app_namespace = None
|
||||
@@ -69,6 +64,5 @@ class CommonApp(MayanAppConfig):
|
||||
)
|
||||
menu_tools.bind_links(links=[link_maintenance_menu])
|
||||
|
||||
post_migrate.connect(create_anonymous_user, dispatch_uid='create_anonymous_user', sender=self)
|
||||
user_logged_in.connect(user_locale_profile_session_config, dispatch_uid='user_locale_profile_session_config', sender=settings.AUTH_USER_MODEL)
|
||||
post_save.connect(user_locale_profile_create, dispatch_uid='user_locale_profile_create', sender=settings.AUTH_USER_MODEL)
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
|
||||
|
||||
class AnonymousUserSingletonManager(models.Manager):
|
||||
def passthru_check(self, user):
|
||||
if isinstance(user, AnonymousUser):
|
||||
return self.model.objects.get()
|
||||
else:
|
||||
return user
|
||||
@@ -7,9 +7,6 @@ from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext
|
||||
|
||||
from solo.models import SingletonModel
|
||||
|
||||
from .managers import AnonymousUserSingletonManager
|
||||
from .runtime import shared_storage_backend
|
||||
|
||||
SHARED_UPLOADED_FILE_PATH = 'shared_uploads'
|
||||
@@ -20,17 +17,6 @@ def upload_to(instance, filename):
|
||||
return '/'.join([SHARED_UPLOADED_FILE_PATH, filename])
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class AnonymousUserSingleton(SingletonModel):
|
||||
objects = AnonymousUserSingletonManager()
|
||||
|
||||
def __str__(self):
|
||||
return ugettext('Anonymous user')
|
||||
|
||||
class Meta:
|
||||
verbose_name = verbose_name_plural = _('Anonymous user')
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class SharedUploadedFile(models.Model):
|
||||
file = models.FileField(upload_to=upload_to, storage=shared_storage_backend, verbose_name=_('File'))
|
||||
|
||||
@@ -5,21 +5,9 @@ import logging
|
||||
from django.db import models
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from common.models import AnonymousUserSingleton
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class RoleMemberManager(models.Manager):
|
||||
def get_roles_for_member(self, member_obj):
|
||||
"""
|
||||
Return the roles to which a member_obj belongs to.
|
||||
"""
|
||||
member_obj = AnonymousUserSingleton.objects.passthru_check(member_obj)
|
||||
member_type = ContentType.objects.get_for_model(member_obj)
|
||||
return (role_member.role for role_member in self.model.objects.filter(member_type=member_type, member_id=member_obj.pk))
|
||||
|
||||
|
||||
class StoredPermissionManager(models.Manager):
|
||||
def get_for_holder(self, holder):
|
||||
ct = ContentType.objects.get_for_model(holder)
|
||||
|
||||
Reference in New Issue
Block a user