Browse Source

Replaced ChoiceField with TypedChoiceField where needed

Ralfp 12 years ago
parent
commit
b809452d0b

+ 1 - 1
misago/forms/layouts.py

@@ -165,7 +165,7 @@ class FormFields(object):
             if widget_name == 'Select':
                 blueprint['widget'] = 'select'
                 if not blueprint['value']:
-                    blueprint['value'] = u''
+                    blueprint['value'] = None
 
             # NullBooleanSelect
             if widget_name == 'NullBooleanSelect':

+ 15 - 15
misago/forumroles/fixtures.py

@@ -8,11 +8,11 @@ def load_fixtures():
     role.set_permissions({
                           'can_see_forum': True,
                           'can_see_forum_contents': True,
-                          'can_read_threads': '2',
-                          'can_start_threads': '2',
+                          'can_read_threads': 2,
+                          'can_start_threads': 2,
                           'can_edit_own_threads': True,
                           'can_soft_delete_own_threads': True,
-                          'can_write_posts': '2',
+                          'can_write_posts': 2,
                           'can_edit_own_posts': True,
                           'can_soft_delete_own_posts': True,
                           'can_upvote_posts': True,
@@ -30,14 +30,14 @@ def load_fixtures():
                           'can_approve': True,
                           'can_edit_labels': True,
                           'can_see_changelog': True,
-                          'can_pin_threads': '2',
+                          'can_pin_threads': 2,
                           'can_edit_threads_posts': True,
                           'can_move_threads_posts': True,
                           'can_close_threads': True,
                           'can_protect_posts': True,
-                          'can_delete_threads': '2',
-                          'can_delete_posts': '2',
-                          'can_delete_polls': '2',
+                          'can_delete_threads': 2,
+                          'can_delete_posts': 2,
+                          'can_delete_polls': 2,
                           'can_delete_attachments': True,
                           })
     role.save(force_insert=True)
@@ -47,10 +47,10 @@ def load_fixtures():
     role.set_permissions({
                           'can_see_forum': True,
                           'can_see_forum_contents': True,
-                          'can_read_threads': '2',
-                          'can_start_threads': '2',
+                          'can_read_threads': 2,
+                          'can_start_threads': 2,
                           'can_edit_own_threads': True,
-                          'can_write_posts': '2',
+                          'can_write_posts': 2,
                           'can_edit_own_posts': True,
                           'can_soft_delete_own_posts': True,
                           'can_upvote_posts': True,
@@ -70,10 +70,10 @@ def load_fixtures():
     role.set_permissions({
                           'can_see_forum': True,
                           'can_see_forum_contents': True,
-                          'can_read_threads': '2',
-                          'can_start_threads': '2',
+                          'can_read_threads': 2,
+                          'can_start_threads': 2,
                           'can_edit_own_threads': True,
-                          'can_write_posts': '2',
+                          'can_write_posts': 2,
                           'can_edit_own_posts': True,
                           'can_soft_delete_own_posts': True,
                           'can_upvote_posts': True,
@@ -90,7 +90,7 @@ def load_fixtures():
     role.set_permissions({
                           'can_see_forum': True,
                           'can_see_forum_contents': True,
-                          'can_read_threads': '2',
+                          'can_read_threads': 2,
                           'can_download_attachments': True,
                           'can_see_posts_scores': 1,
                           })
@@ -109,6 +109,6 @@ def load_fixtures():
     role.set_permissions({
                           'can_see_forum': True,
                           'can_see_forum_contents': True,
-                          'can_read_threads': '2',
+                          'can_read_threads': 2,
                           })
     role.save(force_insert=True)

+ 1 - 1
misago/newsletters/forms.py

@@ -39,7 +39,7 @@ class NewsletterForm(Form):
 class SearchNewslettersForm(Form):
     name = forms.CharField(max_length=255, required=False)
     contains = forms.CharField(max_length=255, required=False)
-    type = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=(('0', _("Only to subscribers")), ('1', _("To every member"))), required=False)
+    type = forms.TypedMultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=((0, _("Only to subscribers")), (1, _("To every member"))), coerce=int, required=False)
     rank = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Rank.objects.order_by('order').all(), required=False)
 
     layout = (

+ 1 - 1
misago/newsletters/views.py

@@ -40,7 +40,7 @@ class List(ListWidget):
         if 'rank' in filters:
             model = model.filter(ranks__in=filters['rank']).distinct()
         if 'type' in filters:
-            model = model.filter(ignore_subscriptions__in=[int(x) for x in filters['type']])
+            model = model.filter(ignore_subscriptions__in=filters['type'])
         if 'name' in filters:
             model = model.filter(name__icontains=filters['name'])
         if 'content' in filters:

+ 42 - 42
misago/threads/acl.py

@@ -7,32 +7,32 @@ from misago.acl.utils import ACLError403, ACLError404
 from misago.forms import YesNoSwitch
 
 def make_forum_form(request, role, form):
-    form.base_fields['can_read_threads'] = forms.ChoiceField(choices=(
-                                                                     ('0', _("No")),
-                                                                     ('1', _("Yes, owned")),
-                                                                     ('2', _("Yes, all")),
-                                                                     ))
-    form.base_fields['can_start_threads'] = forms.ChoiceField(choices=(
-                                                                       ('0', _("No")),
-                                                                       ('1', _("Yes, with moderation")),
-                                                                       ('2', _("Yes")),
-                                                                       ))
+    form.base_fields['can_read_threads'] = forms.TypedChoiceField(choices=(
+                                                                  (0, _("No")),
+                                                                  (1, _("Yes, owned")),
+                                                                  (2, _("Yes, all")),
+                                                                  ), coerce=int)
+    form.base_fields['can_start_threads'] = forms.TypedChoiceField(choices=(
+                                                                   (0, _("No")),
+                                                                   (1, _("Yes, with moderation")),
+                                                                   (2, _("Yes")),
+                                                                   ), coerce=int)
     form.base_fields['can_edit_own_threads'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_soft_delete_own_threads'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
-    form.base_fields['can_write_posts'] = forms.ChoiceField(choices=(
-                                                                     ('0', _("No")),
-                                                                     ('1', _("Yes, with moderation")),
-                                                                     ('2', _("Yes")),
-                                                                     ))
+    form.base_fields['can_write_posts'] = forms.TypedChoiceField(choices=(
+                                                                 (0, _("No")),
+                                                                 (1, _("Yes, with moderation")),
+                                                                 (2, _("Yes")),
+                                                                 ), coerce=int)
     form.base_fields['can_edit_own_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_soft_delete_own_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_upvote_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_downvote_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
-    form.base_fields['can_see_posts_scores'] = forms.ChoiceField(choices=(
-                                                                          ('0', _("No")),
-                                                                          ('1', _("Yes, final score")),
-                                                                          ('2', _("Yes, both up and down-votes")),
-                                                                          ))
+    form.base_fields['can_see_posts_scores'] = forms.TypedChoiceField(choices=(
+                                                                      (0, _("No")),
+                                                                      (1, _("Yes, final score")),
+                                                                      (2, _("Yes, both up and down-votes")),
+                                                                      ), coerce=int)
     form.base_fields['can_see_votes'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_make_polls'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_vote_in_polls'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
@@ -45,30 +45,30 @@ def make_forum_form(request, role, form):
     form.base_fields['can_approve'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_edit_labels'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_see_changelog'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
-    form.base_fields['can_pin_threads'] = forms.ChoiceField(choices=(
-                                                                     ('0', _("No")),
-                                                                     ('1', _("Yes, to stickies")),
-                                                                     ('2', _("Yes, to annoucements")),
-                                                                     ))
+    form.base_fields['can_pin_threads'] = forms.TypedChoiceField(choices=(
+                                                                 (0, _("No")),
+                                                                 (1, _("Yes, to stickies")),
+                                                                 (2, _("Yes, to annoucements")),
+                                                                 ), coerce=int)
     form.base_fields['can_edit_threads_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_move_threads_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_close_threads'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
     form.base_fields['can_protect_posts'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
-    form.base_fields['can_delete_threads'] = forms.ChoiceField(choices=(
-                                                                        ('0', _("No")),
-                                                                        ('1', _("Yes, soft-delete")),
-                                                                        ('2', _("Yes, hard-delete")),
-                                                                        ))
-    form.base_fields['can_delete_posts'] = forms.ChoiceField(choices=(
-                                                                      ('0', _("No")),
-                                                                      ('1', _("Yes, soft-delete")),
-                                                                      ('2', _("Yes, hard-delete")),
-                                                                      ))
-    form.base_fields['can_delete_polls'] = forms.ChoiceField(choices=(
-                                                                      ('0', _("No")),
-                                                                      ('1', _("Yes, soft-delete")),
-                                                                      ('2', _("Yes, hard-delete")),
-                                                                      ))
+    form.base_fields['can_delete_threads'] = forms.TypedChoiceField(choices=(
+                                                                    (0, _("No")),
+                                                                    (1, _("Yes, soft-delete")),
+                                                                    (2, _("Yes, hard-delete")),
+                                                                    ), coerce=int)
+    form.base_fields['can_delete_posts'] = forms.TypedChoiceField(choices=(
+                                                                  (0, _("No")),
+                                                                  (1, _("Yes, soft-delete")),
+                                                                  (2, _("Yes, hard-delete")),
+                                                                   ), coerce=int)
+    form.base_fields['can_delete_polls'] = forms.TypedChoiceField(choices=(
+                                                                  (0, _("No")),
+                                                                  (1, _("Yes, soft-delete")),
+                                                                  (2, _("Yes, hard-delete")),
+                                                                  ), coerce=int)
     form.base_fields['can_delete_attachments'] = forms.BooleanField(widget=YesNoSwitch, initial=False, required=False)
 
     form.layout.append((
@@ -578,8 +578,8 @@ def build_forums(acl, perms, forums, forum_roles):
                     try:
                         if p in ['attachment_size', 'attachment_limit'] and role[p] == 0:
                             forum_role[p] = 0
-                        elif int(role[p]) > forum_role[p]:
-                            forum_role[p] = int(role[p])
+                        elif role[p] > forum_role[p]:
+                            forum_role[p] = role[p]
                     except KeyError:
                         pass
             except KeyError:

+ 1 - 1
misago/users/forms.py

@@ -189,7 +189,7 @@ class NewUserForm(Form):
 class SearchUsersForm(Form):
     username = forms.CharField(max_length=255, required=False)
     email = forms.CharField(max_length=255, required=False)
-    activation = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=(('0', _("Already Active")), ('1', _("By User")), ('2', _("By Administrator"))), required=False)
+    activation = forms.TypedMultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=((0, _("Already Active")), (1, _("By User")), (2, _("By Administrator"))), coerce=int, required=False)
     rank = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Rank.objects.order_by('order').all(), required=False)
     role = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Role.objects.order_by('name').all(), required=False)