Rafał Pitoń 10 лет назад
Родитель
Сommit
63b75ce74c

+ 2 - 2
misago/threads/tests/test_threads_list_view.py

@@ -3,9 +3,9 @@ from misago.admin.testutils import AdminTestCase
 from misago.forums.models import Forum
 
 
-class ThreadsListTests(AdminTestCase):
+class ForumThreadsTests(AdminTestCase):
     def setUp(self):
-        super(ThreadsListTests, self).setUp()
+        super(ForumThreadsTests, self).setUp()
 
         self.forum = Forum.objects.all_forums().filter(role="forum")[:1][0]
         self.link = self.forum.get_absolute_url()

+ 6 - 12
misago/threads/views/generic/forum.py

@@ -137,12 +137,6 @@ class ForumThreads(Threads):
         self.user = user
         self.forum = forum
 
-        self.queryset = self.make_queryset()
-
-    def make_queryset(self):
-        return exclude_invisible_threads(
-            self.user, self.forum, self.forum.thread_set)
-
     def filter(self, filter_by):
         self.filter_by = filter_by
 
@@ -151,10 +145,14 @@ class ForumThreads(Threads):
             weight = '-weight'
         else:
             weight = 'weight'
-        self.queryset = self.queryset.order_by(weight, sort_by)
+        self.sort_by = (weight, sort_by)
 
     def list(self, page=0):
-        queryset = self.filter_threads(self.queryset)
+        queryset = exclude_invisible_threads(
+            self.user, self.forum, self.forum.thread_set)
+        queryset = self.filter_threads(queryset)
+        queryset = queryset.order_by(*self.sort_by)
+
         announcements_qs = queryset.filter(weight=ANNOUNCEMENT)
         threads_qs = queryset.filter(weight__lt=ANNOUNCEMENT)
 
@@ -225,10 +223,6 @@ class ForumView(ThreadsView):
     Sorting = Sorting
     Filtering = ForumFiltering
 
-    def get_default_link_params(self, forum):
-        message = "forum views have to define get_default_link_params"
-        raise NotImplementedError(message)
-
     def dispatch(self, request, *args, **kwargs):
         forum = self.get_forum(request, **kwargs)
         forum.labels = Label.objects.get_forum_labels(forum)

+ 0 - 4
misago/threads/views/generic/threads.py

@@ -137,10 +137,6 @@ class ThreadsView(ViewBase):
     def get_threads_queryset(self, request):
         return forum.thread_set.all().order_by('-last_post_id')
 
-    def get_default_link_params(self,):
-        message = "threads lists have to define get_default_link_params"
-        raise NotImplementedError(message)
-
     def clean_kwargs(self, request, kwargs):
         cleaned_kwargs = kwargs.copy()
         if request.user.is_anonymous():

+ 0 - 3
misago/threads/views/threads.py

@@ -8,9 +8,6 @@ class ThreadsMixin(object):
 class ForumView(ThreadsMixin, generic.ForumView):
     link_name = 'misago:forum'
 
-    def get_default_link_params(self, forum):
-        return {'forum_slug': forum.slug, 'forum_id': forum.id}
-
 
 class ThreadView(ThreadsMixin, generic.ThreadView):
     pass