diff --git a/mayan/apps/common/managers.py b/mayan/apps/common/managers.py new file mode 100644 index 0000000000..78ed156ea3 --- /dev/null +++ b/mayan/apps/common/managers.py @@ -0,0 +1,10 @@ +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 8f0c0cf5cd..48d7001efc 100644 --- a/mayan/apps/common/models.py +++ b/mayan/apps/common/models.py @@ -1,3 +1,5 @@ +from __future__ import absolute_import + from django.db import models from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext @@ -6,8 +8,12 @@ from django.contrib.auth.models import User from solo.models import SingletonModel +from .managers import AnonymousUserSingletonManager + class AnonymousUserSingleton(SingletonModel): + objects = AnonymousUserSingletonManager() + def __unicode__(self): return ugettext('Anonymous user')