Browse Source

Fixed build.

Rafał Pitoń 11 years ago
parent
commit
6614d4b248

+ 1 - 0
.gitignore

@@ -54,6 +54,7 @@ flake8.txt
 *.pot
 
 # Misago test runner project
+/avatar_cache/
 /testproject/
 
 # Sphinx documentation

+ 4 - 0
misago/core/forms.py

@@ -14,6 +14,10 @@ class YesNoSwitchBase(TypedChoiceField):
         """normalize bools to binary 1/0 so field works on them too"""
         return 1 if value else 0
 
+    def clean(self, value):
+        value = 1 if value else 0
+        return super(YesNoSwitchBase, self).clean(value)
+
 
 def YesNoSwitch(**kwargs):
     if 'initial' not in kwargs:

+ 2 - 2
misago/users/migrations/0002_users_settings.py

@@ -92,11 +92,11 @@ def create_users_settings_group(apps, schema_editor):
                 {
                     'setting': 'default_avatar',
                     'name': _("Default avatar"),
-                    'value': 'gravatar',
+                    'value': 'dynamic',
                     'form_field': 'select',
                     'field_extra': {
                         'choices': (
-                            ('user', _("Individual")),
+                            ('dynamic', _("Individual")),
                             ('gravatar', _("Gravatar")),
                             ('gallery', _("Random avatar from gallery")),
                         ),

+ 4 - 2
misago/users/models/user.py

@@ -47,7 +47,8 @@ AUTO_SUBSCRIBE_CHOICES = (
 
 
 class UserManager(BaseUserManager):
-    def create_user(self, username, email, password=None, **extra_fields):
+    def create_user(self, username, email, password=None,
+                    set_default_avatar=False, **extra_fields):
         from misago.users.validators import (validate_email, validate_password,
                                              validate_username)
 
@@ -94,7 +95,8 @@ class UserManager(BaseUserManager):
 
             user.save(using=self._db)
 
-            avatars.set_default_avatar(user)
+            if set_default_avatar:
+                avatars.set_default_avatar(user)
 
             authenticated_role = Role.objects.get(special_role='authenticated')
             if authenticated_role not in user.roles.all():

+ 2 - 1
misago/users/tests/test_user_model.py

@@ -6,7 +6,8 @@ from misago.users.models import User
 class UserManagerTests(TestCase):
     def test_create_user(self):
         """create_user created new user account successfully"""
-        user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
+        user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123',
+                                        set_default_avatar=True)
 
         db_user = User.objects.get(id=user.pk)
 

+ 2 - 1
misago/users/views/admin/users.py

@@ -96,7 +96,8 @@ class NewUser(UserAdmin, generic.ModelFormView):
             form.cleaned_data['new_password'],
             title=form.cleaned_data['title'],
             rank=form.cleaned_data.get('rank'),
-            joined_from_ip=request._misago_real_ip)
+            joined_from_ip=request._misago_real_ip,
+            set_default_avatar=True)
 
         if form.cleaned_data.get('staff_level'):
             new_user.staff_level = form.cleaned_data['staff_level']

+ 1 - 0
misago/users/views/register.py

@@ -52,6 +52,7 @@ def register(request):
             new_user = User.objects.create_user(form.cleaned_data['username'],
                                                 form.cleaned_data['email'],
                                                 form.cleaned_data['password'],
+                                                set_default_avatar=True,
                                                 **activation_kwargs)
 
             mail_subject = _("Welcome on %(forum_title)s forums!")

+ 5 - 0
runtests.py

@@ -2,6 +2,9 @@ import os
 import pwd
 import shutil
 import sys
+
+from path import path
+
 from django import setup
 from django.core.management import call_command
 from django.test.utils import setup_test_environment
@@ -15,6 +18,7 @@ def runtests():
     test_project_path = os.path.join(test_runner_path, "testproject")
     if not os.path.exists(test_project_path):
         shutil.copytree(project_template_path, test_project_path)
+        path(os.path.join(os.path.dirname(__file__), 'avatar_cache')).mkdir()
 
         settings_path = os.path.join(test_project_path, "settings.py")
         with open(settings_path, "r") as py_file:
@@ -33,6 +37,7 @@ CACHES = {
         'LOCATION': 'uniqu3-sn0wf14k3'
     }
 }
+MISAGO_AVATARS_SIZES = (2, 1)
 """
 
         if os.environ.get('TRAVIS'):