Commit 437e01c3 authored by Bryan  BRANCOTTE's avatar Bryan BRANCOTTE
Browse files

BUGFIX when asking for Anonymous user preferences

parent 12010c45
Pipeline #11964 passed with stage
in 1 minute and 11 seconds
......@@ -2,12 +2,14 @@ import os
from django.conf import settings
from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser
from django.core.cache import cache
from django.core.exceptions import ValidationError
from django.test import TestCase, RequestFactory, override_settings
from django.urls import reverse
from basetheme_bootstrap import user_preferences
from basetheme_bootstrap.user_preferences import get_user_preferences_for_user
class AboutPageTests(TestCase):
......@@ -337,6 +339,9 @@ class UserPreferencesTests(TestCase):
pref.user = None
self.assertRaises(ValidationError, pref.save)
def test_AnonymousUser_do_not_crash(self):
get_user_preferences_for_user(AnonymousUser())
def test_caching_disabled_status_when_it_is_the_case(self):
user_preferences.get_user_preference_class()
self.assertTrue(
......
......@@ -55,6 +55,8 @@ class UserPreferencesAbstractModel(models.Model):
def get_for_user(cls, user):
try:
pref = cls.objects.get(user=user)
except TypeError:
return cls.get_for_user(None)
except cls.DoesNotExist:
pref, _ = cls.objects.get_or_create(user=None)
if user is not None:
......
......@@ -7,7 +7,7 @@ readme = open('README.rst').read()
setup(
name='django-basetheme-bootstrap',
version='0.1.1',
version='0.1.2',
description='Django Basetheme Bootstrap',
long_description=readme,
author='Bryan Brancotte',
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment