diff --git a/mayan/apps/acls/managers.py b/mayan/apps/acls/managers.py index 5867447011..388dc1db3f 100644 --- a/mayan/apps/acls/managers.py +++ b/mayan/apps/acls/managers.py @@ -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__) diff --git a/mayan/apps/authentication/middleware/login_required_middleware.py b/mayan/apps/authentication/middleware/login_required_middleware.py index 6522bcce63..6dbb0113e2 100644 --- a/mayan/apps/authentication/middleware/login_required_middleware.py +++ b/mayan/apps/authentication/middleware/login_required_middleware.py @@ -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,14 +23,13 @@ class LoginRequiredMiddleware: """ def process_request(self, request): - if not setting_allow_anonymous_access.value: - assert hasattr(request, 'user'), "The Login Required middleware\ + assert hasattr(request, 'user'), "The Login Required middleware\ requires authentication middleware to be installed. Edit your\ MIDDLEWARE_CLASSES setting to insert\ 'django.contrib.auth.middlware.AuthenticationMiddleware'. If that doesn't\ work, ensure your TEMPLATE_CONTEXT_PROCESSORS setting includes\ 'django.core.context_processors.auth'." - if not request.user.is_authenticated(): - path = request.path_info.lstrip('/') - if not any(m.match(path) for m in EXEMPT_URLS): - return HttpResponseRedirect(reverse(settings.LOGIN_URL)) + if not request.user.is_authenticated(): + path = request.path_info.lstrip('/') + if not any(m.match(path) for m in EXEMPT_URLS): + return HttpResponseRedirect(reverse(settings.LOGIN_URL)) diff --git a/mayan/apps/authentication/settings.py b/mayan/apps/authentication/settings.py index e3d9738426..3722c5d842 100644 --- a/mayan/apps/authentication/settings.py +++ b/mayan/apps/authentication/settings.py @@ -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')) diff --git a/mayan/apps/common/apps.py b/mayan/apps/common/apps.py index ee2fe442cf..631810f9c3 100644 --- a/mayan/apps/common/apps.py +++ b/mayan/apps/common/apps.py @@ -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) diff --git a/mayan/apps/common/managers.py b/mayan/apps/common/managers.py deleted file mode 100644 index e3b637cd7e..0000000000 --- a/mayan/apps/common/managers.py +++ /dev/null @@ -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 diff --git a/mayan/apps/common/models.py b/mayan/apps/common/models.py index 7fafed0bca..fb605aca93 100644 --- a/mayan/apps/common/models.py +++ b/mayan/apps/common/models.py @@ -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')) diff --git a/mayan/apps/permissions/managers.py b/mayan/apps/permissions/managers.py index 4ea644c1d5..0e92b792a4 100644 --- a/mayan/apps/permissions/managers.py +++ b/mayan/apps/permissions/managers.py @@ -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)