Remove anonymous user support

This commit is contained in:
Roberto Rosario
2015-07-01 02:45:58 -04:00
parent 48a4e95cf0
commit f65fb2cd6c
7 changed files with 5 additions and 54 deletions

View File

@@ -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__)

View File

@@ -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\

View File

@@ -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'))

View File

@@ -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)

View File

@@ -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

View File

@@ -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'))

View 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)