Просмотр исходного кода

fix #730 - cleanup constants in thread model

Rafał Pitoń 8 лет назад
Родитель
Сommit
f3e58ea439

+ 2 - 1
misago/threads/api/postendpoints/patch_post.py

@@ -6,7 +6,8 @@ from misago.core.apipatch import ApiPatch
 
 from ...models import PostLike
 from ...moderation import posts as moderation
-from ...permissions.threads import allow_approve_post, allow_hide_post, allow_protect_post, allow_unhide_post
+from ...permissions.threads import (
+    allow_approve_post, allow_hide_post, allow_protect_post, allow_unhide_post)
 
 
 post_patch_dispatcher = ApiPatch()

+ 2 - 2
misago/threads/api/postendpoints/split.py

@@ -8,7 +8,7 @@ from rest_framework.response import Response
 from misago.conf import settings
 
 from ...events import record_event
-from ...models import THREAD_WEIGHT_GLOBAL, Thread
+from ...models import Thread
 from ...moderation import threads as moderation
 from ...permissions.threads import exclude_invisible_posts
 from ...serializers import NewThreadSerializer
@@ -94,7 +94,7 @@ def split_posts_to_new_thread(request, thread, validated_data, posts):
     new_thread.synchronize()
     new_thread.save()
 
-    if validated_data.get('weight') == THREAD_WEIGHT_GLOBAL:
+    if validated_data.get('weight') == Thread.WEIGHT_GLOBAL:
         moderation.pin_thread_globally(request, new_thread)
     elif validated_data.get('weight'):
         moderation.pin_thread_locally(request, new_thread)

+ 4 - 3
misago/threads/api/postingendpoint/pin.py

@@ -1,5 +1,6 @@
 from . import PostingEndpoint, PostingMiddleware
-from ... import moderation
+from misago.threads import moderation
+from misago.threads.models import Thread
 
 
 class PinMiddleware(PostingMiddleware):
@@ -15,7 +16,7 @@ class PinMiddleware(PostingMiddleware):
                 pin = 0
 
             if pin <= allowed_pin:
-                if pin == 2:
+                if pin == Thread.WEIGHT_GLOBAL:
                     moderation.pin_thread_globally(self.request, self.thread)
-                elif pin == 1:
+                elif pin == Thread.WEIGHT_PINNED:
                     moderation.pin_thread_locally(self.request, self.thread)

+ 2 - 2
misago/threads/api/threadendpoints/merge.py

@@ -10,7 +10,7 @@ from misago.categories import THREADS_ROOT_NAME
 from misago.categories.models import Category
 
 from ...events import record_event
-from ...models import THREAD_WEIGHT_GLOBAL, Thread
+from ...models import Thread
 from ...moderation import threads as moderation
 from ...permissions import can_reply_thread, can_see_thread
 from ...serializers import NewThreadSerializer, ThreadsListSerializer
@@ -201,7 +201,7 @@ def merge_threads(request, validated_data, threads, poll):
     new_thread.synchronize()
     new_thread.save()
 
-    if validated_data.get('weight') == THREAD_WEIGHT_GLOBAL:
+    if validated_data.get('weight') == Thread.WEIGHT_GLOBAL:
         moderation.pin_thread_globally(request, new_thread)
     elif validated_data.get('weight'):
         moderation.pin_thread_locally(request, new_thread)

+ 11 - 22
misago/threads/models/thread.py

@@ -7,29 +7,18 @@ from misago.conf import settings
 from misago.core.utils import slugify
 
 
-__all__ = [
-    'THREAD_WEIGHT_DEFAULT',
-    'THREAD_WEIGHT_PINNED',
-    'THREAD_WEIGHT_GLOBAL',
-    'THREAD_WEIGHT_CHOICES',
-
-    'Thread',
-]
-
-
-THREAD_WEIGHT_DEFAULT = 0
-THREAD_WEIGHT_PINNED = 1
-THREAD_WEIGHT_GLOBAL = 2
-
-THREAD_WEIGHT_CHOICES = (
-    (THREAD_WEIGHT_DEFAULT, _("Don't pin thread")),
-    (THREAD_WEIGHT_PINNED, _("Pin thread within category")),
-    (THREAD_WEIGHT_GLOBAL, _("Pin thread globally"))
-)
-
-
 @python_2_unicode_compatible
 class Thread(models.Model):
+    WEIGHT_DEFAULT = 0
+    WEIGHT_PINNED = 1
+    WEIGHT_GLOBAL = 2
+
+    WEIGHT_CHOICES = (
+        (WEIGHT_DEFAULT, _("Don't pin thread")),
+        (WEIGHT_PINNED, _("Pin thread within category")),
+        (WEIGHT_GLOBAL, _("Pin thread globally"))
+    )
+
     category = models.ForeignKey('misago_categories.Category')
     title = models.CharField(max_length=255)
     slug = models.CharField(max_length=255)
@@ -79,7 +68,7 @@ class Thread(models.Model):
     last_poster_name = models.CharField(max_length=255, null=True, blank=True)
     last_poster_slug = models.CharField(max_length=255, null=True, blank=True)
 
-    weight = models.PositiveIntegerField(default=THREAD_WEIGHT_DEFAULT)
+    weight = models.PositiveIntegerField(default=WEIGHT_DEFAULT)
 
     is_unapproved = models.BooleanField(default=False, db_index=True)
     is_hidden = models.BooleanField(default=False)

+ 3 - 3
misago/threads/serializers/moderation.py

@@ -5,7 +5,7 @@ from rest_framework import serializers
 
 from misago.acl import add_acl
 
-from ..models import THREAD_WEIGHT_DEFAULT, THREAD_WEIGHT_GLOBAL
+from ..models import Thread
 from ..permissions import can_start_thread
 from ..validators import validate_category, validate_title
 
@@ -22,8 +22,8 @@ class NewThreadSerializer(serializers.Serializer):
     weight = serializers.IntegerField(
         required=False,
         allow_null=True,
-        max_value=THREAD_WEIGHT_GLOBAL,
-        min_value=THREAD_WEIGHT_DEFAULT,
+        max_value=Thread.WEIGHT_GLOBAL,
+        min_value=Thread.WEIGHT_DEFAULT,
     )
     is_hidden = serializers.NullBooleanField(required=False)
     is_closed = serializers.NullBooleanField(required=False)

+ 0 - 3
misago/threads/subscriptions.py

@@ -1,9 +1,6 @@
 from .models import Subscription
 
 
-__all__ = ['make_subscription_aware']
-
-
 def make_subscription_aware(user, target):
     if hasattr(target, '__iter__'):
         make_threads_subscription_aware(user, target)