Browse Source

Move forms module from core to admin

rafalp 6 years ago
parent
commit
51bc15bc5a

+ 1 - 1
misago/categories/forms.py

@@ -5,7 +5,7 @@ from django.db import models
 from django.utils.html import conditional_escape, mark_safe
 from django.utils.html import conditional_escape, mark_safe
 from django.utils.translation import ugettext_lazy as _
 from django.utils.translation import ugettext_lazy as _
 
 
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 from misago.core.validators import validate_sluggable
 from misago.core.validators import validate_sluggable
 from misago.threads.threadtypes import trees_map
 from misago.threads.threadtypes import trees_map
 
 

+ 1 - 1
misago/categories/permissions.py

@@ -6,7 +6,7 @@ from django.utils.translation import ugettext_lazy as _
 
 
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 from misago.users.models import AnonymousUser
 from misago.users.models import AnonymousUser
 
 
 from .models import Category, CategoryRole, RoleCategoryACL
 from .models import Category, CategoryRole, RoleCategoryACL

+ 1 - 1
misago/conf/forms.py

@@ -2,7 +2,7 @@ from django import forms
 from django.utils.translation import ugettext as _
 from django.utils.translation import ugettext as _
 from django.utils.translation import ungettext
 from django.utils.translation import ungettext
 
 
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 
 
 
 
 __ALL__ = ['ChangeSettingsForm']
 __ALL__ = ['ChangeSettingsForm']

+ 0 - 54
misago/core/forms.py

@@ -1,54 +0,0 @@
-from django.forms import DateTimeField, RadioSelect, TypedChoiceField, ValidationError
-from django.utils.translation import ugettext_lazy as _
-
-from .utils import parse_iso8601_string
-
-
-class IsoDateTimeField(DateTimeField):
-    input_formats = ['iso8601']
-
-    def prepare_value(self, value):
-        try:
-            return value.isoformat()
-        except AttributeError:
-            return value
-
-    def to_python(self, value):
-        """
-        Validates that the input can be converted to a datetime. Returns a
-        Python datetime.datetime object.
-        """
-        if value in self.empty_values:
-            return None
-
-        try:
-            return parse_iso8601_string(value)
-        except ValueError:
-            raise ValidationError(self.error_messages['invalid'], code='invalid')
-
-
-class YesNoSwitchBase(TypedChoiceField):
-    def prepare_value(self, value):
-        """normalize bools to binary 1/0 so field works on them too"""
-        if value in (True, 'True', 'true', 1, '1'):
-            return 1
-        else:
-            return 0
-
-    def clean(self, value):
-        return self.prepare_value(value)
-
-
-def YesNoSwitch(**kwargs):
-    yes_label = kwargs.pop('yes_label', _("Yes"))
-    no_label = kwargs.pop('no_label', _("No"))
-
-    return YesNoSwitchBase(
-        coerce=int,
-        choices=[
-            (1, yes_label),
-            (0, no_label),
-        ],
-        widget=RadioSelect(attrs={'class': 'yesno-switch'}),
-        **kwargs
-    )

+ 0 - 28
misago/core/tests/test_forms.py

@@ -1,28 +0,0 @@
-from django import forms
-from django.test import TestCase
-
-from misago.core.forms import YesNoSwitch
-
-
-class YesNoForm(forms.Form):
-    test_field = YesNoSwitch(label='Hello!')
-
-
-class YesNoSwitchTests(TestCase):
-    def test_valid_inputs(self):
-        """YesNoSwitch returns valid values for valid input"""
-        for true in ('1', 'True', 'true', 1, True):
-            form = YesNoForm({'test_field': true})
-            form.full_clean()
-            self.assertEqual(form.cleaned_data['test_field'], 1)
-
-        for false in ('0', 'False', 'false', 'egebege', False, 0):
-            form = YesNoForm({'test_field': false})
-            form.full_clean()
-            self.assertEqual(form.cleaned_data['test_field'], 0)
-
-    def test_dontstripme_input_is_ignored(self):
-        """YesNoSwitch returns valid values for invalid input"""
-        form = YesNoForm({'test_field': '221'})
-        form.full_clean()
-        self.assertFalse(form.cleaned_data.get('test_field'))

+ 1 - 1
misago/search/permissions.py

@@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
 
 
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 
 
 
 
 class PermissionsForm(forms.Form):
 class PermissionsForm(forms.Form):

+ 1 - 1
misago/threads/permissions/attachments.py

@@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
 
 
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 from misago.threads.models import Attachment
 from misago.threads.models import Attachment
 
 
 
 

+ 1 - 1
misago/threads/permissions/bestanswers.py

@@ -5,9 +5,9 @@ from django.utils.translation import ugettext_lazy as _, ungettext
 
 
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
+from misago.admin.forms import YesNoSwitch
 from misago.categories.models import Category, CategoryRole
 from misago.categories.models import Category, CategoryRole
 from misago.categories.permissions import get_categories_roles
 from misago.categories.permissions import get_categories_roles
-from misago.core.forms import YesNoSwitch
 from misago.threads.models import Post, Thread
 from misago.threads.models import Post, Thread
 
 
 
 

+ 1 - 1
misago/threads/permissions/polls.py

@@ -7,7 +7,7 @@ from django.utils.translation import ungettext
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 from misago.threads.models import Poll, Thread
 from misago.threads.models import Poll, Thread
 
 
 
 

+ 1 - 1
misago/threads/permissions/privatethreads.py

@@ -6,9 +6,9 @@ from django.utils.translation import ugettext_lazy as _
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
 from misago.acl.models import Role
 from misago.acl.models import Role
+from misago.admin.forms import YesNoSwitch
 from misago.categories import PRIVATE_THREADS_ROOT_NAME
 from misago.categories import PRIVATE_THREADS_ROOT_NAME
 from misago.categories.models import Category
 from misago.categories.models import Category
-from misago.core.forms import YesNoSwitch
 from misago.threads.models import Thread
 from misago.threads.models import Thread
 
 
 
 

+ 1 - 1
misago/threads/permissions/threads.py

@@ -8,9 +8,9 @@ from django.utils.translation import ugettext_lazy as _, ungettext
 from misago.acl import add_acl, algebra
 from misago.acl import add_acl, algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
 from misago.acl.models import Role
 from misago.acl.models import Role
+from misago.admin.forms import YesNoSwitch
 from misago.categories.models import Category, CategoryRole
 from misago.categories.models import Category, CategoryRole
 from misago.categories.permissions import get_categories_roles
 from misago.categories.permissions import get_categories_roles
-from misago.core.forms import YesNoSwitch
 from misago.threads.models import Post, Thread
 from misago.threads.models import Post, Thread
 
 
 
 

+ 1 - 1
misago/users/forms/admin.py

@@ -6,9 +6,9 @@ from django.utils.translation import ugettext_lazy as _
 from django.utils.translation import ungettext
 from django.utils.translation import ungettext
 
 
 from misago.acl.models import Role
 from misago.acl.models import Role
+from misago.admin.forms import IsoDateTimeField, YesNoSwitch
 from misago.conf import settings
 from misago.conf import settings
 from misago.core import threadstore
 from misago.core import threadstore
-from misago.core.forms import IsoDateTimeField, YesNoSwitch
 from misago.core.validators import validate_sluggable
 from misago.core.validators import validate_sluggable
 from misago.users.models import Ban, DataDownload, Rank
 from misago.users.models import Ban, DataDownload, Rank
 from misago.users.profilefields import profilefields
 from misago.users.profilefields import profilefields

+ 1 - 1
misago/users/permissions/account.py

@@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
 
 
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 
 
 
 
 class PermissionsForm(forms.Form):
 class PermissionsForm(forms.Form):

+ 1 - 1
misago/users/permissions/moderation.py

@@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 from misago.users.bans import get_user_ban
 from misago.users.bans import get_user_ban
 
 
 
 

+ 1 - 1
misago/users/permissions/profiles.py

@@ -6,7 +6,7 @@ from django.utils.translation import ugettext_lazy as _
 from misago.acl import algebra
 from misago.acl import algebra
 from misago.acl.decorators import return_boolean
 from misago.acl.decorators import return_boolean
 from misago.acl.models import Role
 from misago.acl.models import Role
-from misago.core.forms import YesNoSwitch
+from misago.admin.forms import YesNoSwitch
 
 
 from .decorators import authenticated_only
 from .decorators import authenticated_only